Received: by 2002:a25:8b12:0:0:0:0:0 with SMTP id i18csp202051ybl; Mon, 12 Aug 2019 14:37:38 -0700 (PDT) X-Google-Smtp-Source: APXvYqyuUzOkJYYoZZZ+QkQ+113edO16uKepucvumHeuPEaE8tDABZKx9botoArrFSaJ7RWeTNOb X-Received: by 2002:a17:902:760e:: with SMTP id k14mr15780757pll.161.1565645858459; Mon, 12 Aug 2019 14:37:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1565645858; cv=none; d=google.com; s=arc-20160816; b=kLxQGmgF4psq5AuQmyL+t+OQeiFhP0HHals6CpQ98JdKSbWL/Ourx5cbWeilpvGP6k rVs6PoOeBx/DH3y0PObi0Z9KyJMr693Ea1E5KYDT+HfGhxkjO5Azi+Vb63rwp8LK5CMj lfR0hUkzTsfPiWy2ELRFOFx5rj6gi0PVO1+v9mBOCV3XFLVlLgQSIQAAp3gLECd/91Jb /3nOyOof0wOyPdClm+CVj2Ps7VBVfqt3jd8ZRxsXaZetS1OYR2F51EVrUEUPPSQlw8t0 +RlDu6B84QjeSEkVxlRU0dCLYomNBepaZSHRMPk7hgJSCF9wgsYLX5LqZWvAGd+EXo0K 1PWg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=JCPvmvT2glKZ+zeIHnYgHpywUVSgN9hap8D6a3TnZ5E=; b=d4bJCSNeVQI9tP+Z2yN1tgSVZK77jJP8VySstr/gjcbXAC2oBWxn2Lj7UTG1102IMd YWhOXJ2/galtMDSJ2EwL6ilNR6khLC1lsPA8CS0XgSfo5F/P+MHEA2GvITLGLKHrAWmV VgDsHczgjQTPeTiTGUmtXNrXm/n7uuu+TVl16iJ5hAWFGCy2dUEIbnpmfoj9Z/wNzabQ RUzgQjsynn9ftNNLwO5eCeHER/nRvktniN5WC7x/xoQsbDC1b9j3DUO4X/45KRd4LT8h rf1bC7hc3p9Dvdl0QnrhrWQ2UZQdSoUfhnG0vqEhJPFyGQmh8mf8GccVdfaeJPvsmOOk mSxg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=NNKF9aJH; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b188si7261550pfb.279.2019.08.12.14.37.07; Mon, 12 Aug 2019 14:37:38 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=NNKF9aJH; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727327AbfHLVCh (ORCPT + 99 others); Mon, 12 Aug 2019 17:02:37 -0400 Received: from mail.kernel.org ([198.145.29.99]:53920 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726663AbfHLVCg (ORCPT ); Mon, 12 Aug 2019 17:02:36 -0400 Received: from localhost (lfbn-ncy-1-174-150.w83-194.abo.wanadoo.fr [83.194.254.150]) (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 BA0B32085A; Mon, 12 Aug 2019 21:02:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1565643756; bh=HdtES/JZD1pzNL+NsSsjAHI5TprD4NtHrngjAEp3k+o=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=NNKF9aJHlZemAWlWGbShw4TAXTCEfxdZNNALki5iJ5Sz9Wfy/YHKc6Xg3rRxjM4fY 10NGl/e8Lo6wKNpuDaKkLZj0kMSuv5wdxZw9a2AzzyPK34JhJ2kp8XJ3I0xi4M5/K/ NEQRJ4vf48M6gfmSQLM/hmcAogTFQitQai5IBKRE= Date: Mon, 12 Aug 2019 23:02:33 +0200 From: Frederic Weisbecker To: "Paul E. McKenney" Cc: rcu@vger.kernel.org, linux-kernel@vger.kernel.org, mingo@kernel.org, jiangshanlai@gmail.com, dipankar@in.ibm.com, akpm@linux-foundation.org, mathieu.desnoyers@efficios.com, josh@joshtriplett.org, tglx@linutronix.de, peterz@infradead.org, rostedt@goodmis.org, dhowells@redhat.com, edumazet@google.com, fweisbec@gmail.com, oleg@redhat.com, joel@joelfernandes.org Subject: Re: [PATCH RFC tip/core/rcu 14/14] rcu/nohz: Make multi_cpu_stop() enable tick on all online CPUs Message-ID: <20190812210232.GA3648@lenoir> References: <20190802151435.GA1081@linux.ibm.com> <20190802151501.13069-14-paulmck@linux.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20190802151501.13069-14-paulmck@linux.ibm.com> User-Agent: Mutt/1.9.4 (2018-02-28) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Aug 02, 2019 at 08:15:01AM -0700, Paul E. McKenney wrote: > The multi_cpu_stop() function relies on the scheduler to gain control from > whatever is running on the various online CPUs, including any nohz_full > CPUs running long loops in kernel-mode code. Lack of the scheduler-clock > interrupt on such CPUs can delay multi_cpu_stop() for several minutes > and can also result in RCU CPU stall warnings. This commit therefore > causes multi_cpu_stop() to enable the scheduler-clock interrupt on all > online CPUs. > > Signed-off-by: Paul E. McKenney > --- > kernel/stop_machine.c | 9 ++++++++- > 1 file changed, 8 insertions(+), 1 deletion(-) > > diff --git a/kernel/stop_machine.c b/kernel/stop_machine.c > index b4f83f7bdf86..a2659f61ed92 100644 > --- a/kernel/stop_machine.c > +++ b/kernel/stop_machine.c > @@ -20,6 +20,7 @@ > #include > #include > #include > +#include > #include > > /* > @@ -187,15 +188,19 @@ static int multi_cpu_stop(void *data) > { > struct multi_stop_data *msdata = data; > enum multi_stop_state curstate = MULTI_STOP_NONE; > - int cpu = smp_processor_id(), err = 0; > + int cpu, err = 0; > const struct cpumask *cpumask; > unsigned long flags; > bool is_active; > > + for_each_online_cpu(cpu) > + tick_nohz_dep_set_cpu(cpu, TICK_DEP_MASK_RCU); Looks like it's not the right fix but, should you ever need to set an all-CPUs (system wide) tick dependency in the future, you can use tick_set_dep(). Thanks.