Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp4223956ybz; Tue, 28 Apr 2020 07:46:05 -0700 (PDT) X-Google-Smtp-Source: APiQypID+8FipPBNJ8zDirwo/+BThps7bMzqWx/jihtaR8AHROd58QVD0dcBodfbFO9wCiTzV/al X-Received: by 2002:a50:a416:: with SMTP id u22mr17135001edb.326.1588085165168; Tue, 28 Apr 2020 07:46:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588085165; cv=none; d=google.com; s=arc-20160816; b=1J9on30Mehetku6a+fsCPMAypbyXNcTqAsN/BEjC/ebbSAzX15C356FBe3Dobgeoje F1JfdShUX2GJBUyi8IOKn7lU7DNKLHhYTlPcA5RAf4NovHnGtF43L4XtqIjhZZd7GWlT W2GOehk52c0Xe/qz5Rhi3RNFB2foCcyjrEMC1TaFSgfAFHxb07XDxS8FNi5m9Egmx5sK RUTDhOSzQQMVrH35aAXyIffwm+4C1h6W2sCZ+vqXKBa8JV4vH4RT/kMVZ1DQu9Ry8V8m TyDkZd0dYa0X3zz0rBF5wGcUPVbnxEiscSJUtF7qkEUzaYL+29ysfrLBp1W/P5/lRYdX 3qTw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:subject:cc:to:from:date; bh=nN8tJl9rSweIIhZKWaTTldeVawXAeE5f7p/vHvSquZQ=; b=ttqWcxuCOhuwemUst1fi7tgL8ewgEvdp0zKiBEKUgkgJ7IUuuYi1TDkb8iXCh1PQox 8+Jb15paI5rA32KsytPmjrQR8h8k9Q0jQh9+7psjQjA9WOv/oum1QPAEgy0yPgnFfq0E kqr8ix0FN/E8qzrzwxODAVUsttQ6C0vhUwbNT65aRt3PCAebBWqxQYUV5j09Yzd7IINy 1NTsOAO6WfgcAeRRAVoxD0/cuADOgRmHChLmr+SxYT1l+PJuX/HmNGo1Z/V1af3cbjjn 5+oxduGLggVwaq2q9pomRNIKhxL/DD0GwdF/MZxp5src+oZNYAAMf5M6nvASUt/pdcRI dwZw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id e15si1892298ejj.374.2020.04.28.07.45.41; Tue, 28 Apr 2020 07:46:05 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727886AbgD1OoM (ORCPT + 99 others); Tue, 28 Apr 2020 10:44:12 -0400 Received: from mail.kernel.org ([198.145.29.99]:41824 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727803AbgD1OoM (ORCPT ); Tue, 28 Apr 2020 10:44:12 -0400 Received: from gandalf.local.home (cpe-66-24-58-225.stny.res.rr.com [66.24.58.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 5B23E206C0; Tue, 28 Apr 2020 14:44:11 +0000 (UTC) Date: Tue, 28 Apr 2020 10:44:09 -0400 From: Steven Rostedt To: Xiao Yang Cc: "Joel Fernandes (Google)" , , Ingo Molnar Subject: Re: [PATCH] kernel/trace: Stop and wait for kthread on preempt irq module unload Message-ID: <20200428104409.0995ceb0@gandalf.local.home> In-Reply-To: <5EA80319.7080005@cn.fujitsu.com> References: <20200424223630.224895-1-joel@joelfernandes.org> <5EA80319.7080005@cn.fujitsu.com> X-Mailer: Claws Mail 3.17.3 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 28 Apr 2020 18:19:05 +0800 Xiao Yang wrote: > Hi Joel, > > Thanks for your quick fix. > > Unfortunately, it fixes my original panic but introduces other > issues(two wanings and one panic) on my arm64 vm, as below: > Does the following on top of Joel's patch fix it? -- Steve diff --git a/kernel/trace/preemptirq_delay_test.c b/kernel/trace/preemptirq_delay_test.c index 1c28ca20e30b..6d9131ae7e8c 100644 --- a/kernel/trace/preemptirq_delay_test.c +++ b/kernel/trace/preemptirq_delay_test.c @@ -113,15 +113,27 @@ static int preemptirq_delay_run(void *data) for (i = 0; i < s; i++) (testfuncs[i])(i); + + while (!kthread_should_stop()) { + schedule(); + set_current_state(TASK_INTERRUPTIBLE); + } + + __set_current_state(TASK_RUNNING); + return 0; } static struct task_struct *preemptirq_start_test(void) { + struct task_struct *task; char task_name[50]; snprintf(task_name, sizeof(task_name), "%s_test", test_mode); - return kthread_run(preemptirq_delay_run, NULL, task_name); + task = kthread_run(preemptirq_delay_run, NULL, task_name); + if (IS_ERR(task)) + return NULL; + return task; }