From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751850AbdLBN7P (ORCPT ); Sat, 2 Dec 2017 08:59:15 -0500 Received: from mail.kernel.org ([198.145.29.99]:35584 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751747AbdLBN7O (ORCPT ); Sat, 2 Dec 2017 08:59:14 -0500 DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7FC2C219A6 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=frederic@kernel.org X-Google-Smtp-Source: AGs4zMaqAvolGKHOtMsJRYOoXEMiAI+53F4jW8Et2dWa8KO6yZ/AFIWP+0PKCGX3c7JT5+LwGE71YYNErY0q7yPcAk8= MIME-Version: 1.0 In-Reply-To: <20171130202046.GA27138@linux.vnet.ibm.com> References: <20171130202046.GA27138@linux.vnet.ibm.com> From: Frederic Weisbecker Date: Sat, 2 Dec 2017 14:59:12 +0100 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH] sched/isolation: Make NO_HZ_FULL select CPU_ISOLATION To: paulmck@linux.vnet.ibm.com Cc: linux-kernel@vger.kernel.org, xiaolong.ye@intel.com, tglx@linutronix.de, cmetcalf@mellanox.com, cl@linux.com, torvalds@linux-foundation.org, lcapitulino@redhat.com, efault@gmx.de, peterz@infradead.org, riel@redhat.com, kernellwp@gmail.com, mingo@kernel.org, john.stultz@linaro.org Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 2017-11-30 21:20 UTC+01:00, Paul E. McKenney : > Commit 5c4991e24c69 ("sched/isolation: Split out new > CONFIG_CPU_ISOLATION=y config from CONFIG_NO_HZ_FULL") can result in RCU > CPU stall warnings when running rcutorture with CONFIG_NO_HZ_FULL_ALL=y > and CONFIG_CPU_ISOLATION=n. These warnings are caused by RCU's > grace-period kthreads sleeping for a few jiffies, but never being > awakened: > > [ 116.353432] rcu_preempt kthread starved for 9974 jiffies! g4294967208 > +c4294967207 f0x0 RCU_GP_WAIT_FQS(3) ->state=0x402 ->cpu=0 > [ 116.355517] rcu_preempt I 7464 8 2 0x80000000 > [ 116.356543] Call Trace: > [ 116.357008] __schedule+0x493/0x620 > [ 116.357682] schedule+0x24/0x40 > [ 116.358291] schedule_timeout+0x330/0x3b0 > [ 116.359024] ? preempt_count_sub+0xea/0x140 > [ 116.359806] ? collect_expired_timers+0xb0/0xb0 > [ 116.360660] rcu_gp_kthread+0x6bf/0xef0 > > This commit therefore makes NO_HZ_FULL select CPU_ISOLATION, which > prevents this behavior and seems like it was the original intention in > any case. Although CONFIG_NO_HZ should indeed select CONFIG_CPU_ISOLATION, I'm surprised about this stall. I'm even more surprised that setting CONFIG_CPU_ISOLATION=y is enough to fix the issue because CONFIG_NO_HZ_FULL_ALL shortcuts CONFIG_CPU_ISOLATION entirely (which is not good, but work in progress...). Did you have any nohz_full= or isolcpus= boot options? Thanks.