All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Frederic Weisbecker <frederic@kernel.org>
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
Subject: Re: [PATCH] sched/isolation: Make NO_HZ_FULL select CPU_ISOLATION
Date: Sat, 2 Dec 2017 11:24:19 -0800	[thread overview]
Message-ID: <20171202192419.GN7829@linux.vnet.ibm.com> (raw)
In-Reply-To: <CAFTL4hwYrBCk6Kd68xiw=dJxAMZXVasnOqFQF_bN9cT0ZMrnxA@mail.gmail.com>

On Sat, Dec 02, 2017 at 02:59:12PM +0100, Frederic Weisbecker wrote:
> 2017-11-30 21:20 UTC+01:00, Paul E. McKenney <paulmck@linux.vnet.ibm.com>:
> > 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...).

Yes, and after applying this patch, I get failures a few commits
later, which appears to be due to other changes that break
CONFIG_NO_HZ_FULL_ALL=y.  So I have another patch staged that removes
CONFIG_NO_HZ_FULL_ALL, on the grounds that no one else has complained,
so rcutorture is likely to be the only user, and I don't see the point
of having a Kconfig option for only one user.

> Did you have any nohz_full= or isolcpus= boot options?

Replacing CONFIG_NO_HZ_FULL_ALL=y with nohz_full=1-7 works, that
is CONFIG_NO_HZ_FULL=y, CONFIG_NO_HZ_FULL_ALL=n, and nohz_full=1-7
on an eight-CPU test.

But it is relatively easy to test.  Running the rcutorture TREE04
scenario on a four-socket x86 gets me RCU CPU stall warnings within
a few minutes more than half the time.  ;-)

							Thanx, Paul

  reply	other threads:[~2017-12-02 19:24 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-30 20:20 [PATCH] sched/isolation: Make NO_HZ_FULL select CPU_ISOLATION Paul E. McKenney
2017-12-02 13:59 ` Frederic Weisbecker
2017-12-02 19:24   ` Paul E. McKenney [this message]
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=20171202192419.GN7829@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.