Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp799218ybz; Wed, 29 Apr 2020 09:34:21 -0700 (PDT) X-Google-Smtp-Source: APiQypIG0Yim3ClQQquSMiif7g8ub028ej9Qcr6sudZbYQtm/5KMBmWswjfQ/x5iCaOe5j1Nwk7k X-Received: by 2002:a05:6402:b17:: with SMTP id bm23mr3390645edb.137.1588178061422; Wed, 29 Apr 2020 09:34:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588178061; cv=none; d=google.com; s=arc-20160816; b=JdJYkEgq5HgjRa4gSrNelrNPcr9TLyRRGC592Fw4QcRKFdTxwEuUYnoS/RzIoD6sRN yOxG15+eTgHQ695minFkDMbTcHMdfRdFgqe06vlYpZVEuzjxrN7yZEbRr6ienuzRR66Q cnCsjkoozkK670eksB9XMbmRMNwl61lgZfh3BcRripuq7RKsQc5uukoZukhdFMEaHBnb F9ppjGhNl0+U9JSDVSkhCtCDn8HHVG/8fSly0ApjUUnKwh7pMIEuF/CIjPUMzaM4y6b3 pzut4gFLhCPL+U8nJkvh8flnrJjXJ/HBME6beelzc7dtxbv0fSUfMJNPJazzJiNkQX5k Zlxw== 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=Fv2R8oCbENQyKovUDdqNBK2zUHwyQxkzei3qDnmjdio=; b=tafaC1WQNuwDLBa/kEWxQhmMCcOzW0EPiw3xC/HEAyRquKXULf9yGophZDM9KcguQl VJbrNkJGhUxQmcB6+jLbiBKvtl8oxIHDJA2kbRLLOMidrH0r4GTX9YV26Yg43aiz8Onq XhRmFJIv7PO0+U5Bv5QNCfeiPwW1emgek0d1fZtr2vvRY2gzsYTb1dAlnocaWvFVyQPW 834MVmSTwh3hXEpHrti9JLYHBvDiiTRAUSYC6yeZVBQ6QEqj6oVPb8MMZmoXLqNDMUBo Eaoe9+xylQHfZdMTRunifFMjZcu1rdD8dbNHLe8Ej14rHTo3HpYiTYV6rSCQ8znRMMGh 1eHg== 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 e17si4175325edr.16.2020.04.29.09.33.48; Wed, 29 Apr 2020 09:34:21 -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 S1726741AbgD2Qbn (ORCPT + 99 others); Wed, 29 Apr 2020 12:31:43 -0400 Received: from mail.kernel.org ([198.145.29.99]:44476 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726423AbgD2Qbn (ORCPT ); Wed, 29 Apr 2020 12:31:43 -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 A34CE2073E; Wed, 29 Apr 2020 16:31:42 +0000 (UTC) Date: Wed, 29 Apr 2020 12:31:41 -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: <20200429123141.580f89ce@gandalf.local.home> In-Reply-To: <5EA96AE8.6000707@cn.fujitsu.com> References: <20200424223630.224895-1-joel@joelfernandes.org> <5EA80319.7080005@cn.fujitsu.com> <20200428104409.0995ceb0@gandalf.local.home> <20200428104543.3926eaaf@gandalf.local.home> <5EA96AE8.6000707@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 Wed, 29 Apr 2020 19:54:16 +0800 Xiao Yang wrote: > On 2020/4/28 22:45, Steven Rostedt wrote: > > 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; > >> } > >> > Hi Steven, > > Thanks for your patch. > > I also used the following steps to do test and didn't get any > warning/panic after applying your patch. > --------------------------------- > for i in $(seq 1 100); do modprobe preemptirq_delay_test test_mode=irq > delay=500000; rmmod preemptirq_delay_test; done > for i in $(seq 1 100); do modprobe preemptirq_delay_test > test_mode=preempt delay=500000; rmmod preemptirq_delay_test; done > --------------------------------- > > But I am not sure which fix(from you and Joel) is better. Mine ;-) The "kthread_should_stop()" is the normal way to end kernel threads. Using get/put is not the orthodox way. -- Steve