From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: linux-kernel@vger.kernel.org
Cc: xiaolong.ye@intel.com, frederic@kernel.org, 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
Subject: [PATCH] sched/isolation: Make NO_HZ_FULL select CPU_ISOLATION
Date: Thu, 30 Nov 2017 12:20:46 -0800 [thread overview]
Message-ID: <20171130202046.GA27138@linux.vnet.ibm.com> (raw)
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.
Fixes: 5c4991e24c69 ("sched/isolation: Split out new CONFIG_CPU_ISOLATION=y config from CONFIG_NO_HZ_FULL")
Link: https://lkml.kernel.org/r/20171126084203.GE21779@yexl-desktop
Reported-by: kernel test robot <xiaolong.ye@intel.com>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Frederic Weisbecker <frederic@kernel.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Chris Metcalf <cmetcalf@mellanox.com>
Cc: Christoph Lameter <cl@linux.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Luiz Capitulino <lcapitulino@redhat.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Rik van Riel <riel@redhat.com>
Cc: Wanpeng Li <kernellwp@gmail.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: John Stultz <john.stultz@linaro.org>
diff --git a/kernel/time/Kconfig b/kernel/time/Kconfig
index e776fc8cc1df..f6b5f19223d6 100644
--- a/kernel/time/Kconfig
+++ b/kernel/time/Kconfig
@@ -95,6 +95,7 @@ config NO_HZ_FULL
select RCU_NOCB_CPU
select VIRT_CPU_ACCOUNTING_GEN
select IRQ_WORK
+ select CPU_ISOLATION
help
Adaptively try to shutdown the tick whenever possible, even when
the CPU is running tasks. Typically this requires running a single
next reply other threads:[~2017-11-30 20:20 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-30 20:20 Paul E. McKenney [this message]
2017-12-02 13:59 ` [PATCH] sched/isolation: Make NO_HZ_FULL select CPU_ISOLATION Frederic Weisbecker
2017-12-02 19:24 ` Paul E. McKenney
2017-12-04 15:53 ` Frederic Weisbecker
2017-12-04 17:16 ` Paul E. McKenney
2017-12-07 16:14 ` Frederic Weisbecker
2017-12-07 17:29 ` Paul E. McKenney
2017-12-09 13:09 ` Frederic Weisbecker
2017-12-09 18:09 ` Paul E. McKenney
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20171130202046.GA27138@linux.vnet.ibm.com \
--to=paulmck@linux.vnet.ibm.com \
--cc=cl@linux.com \
--cc=cmetcalf@mellanox.com \
--cc=efault@gmx.de \
--cc=frederic@kernel.org \
--cc=john.stultz@linaro.org \
--cc=kernellwp@gmail.com \
--cc=lcapitulino@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=peterz@infradead.org \
--cc=riel@redhat.com \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=xiaolong.ye@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.