All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Nick Piggin <npiggin@suse.de>
Cc: Ingo Molnar <mingo@elte.hu>,
	linux-kernel@vger.kernel.org, vegard.nossum@gmail.com,
	stable@kernel.org, akpm@linux-foundation.org,
	penberg@cs.helsinki.fi
Subject: Re: [PATCH] v4 Teach RCU that idle task is not quiscent state at boot
Date: Wed, 25 Feb 2009 09:12:49 -0800	[thread overview]
Message-ID: <20090225171249.GD6797@linux.vnet.ibm.com> (raw)
In-Reply-To: <20090225162645.GJ22785@wotan.suse.de>

On Wed, Feb 25, 2009 at 05:26:45PM +0100, Nick Piggin wrote:
> On Wed, Feb 25, 2009 at 05:00:24PM +0100, Ingo Molnar wrote:
> > 
> > * Paul E. McKenney <paulmck@linux.vnet.ibm.com> wrote:
> > 
> > > +/* Internal to kernel, but needed by rcupreempt.h. */
> > > +extern int rcu_idle_cpu_truthful;
> > 
> > The name sucks a bit ;-) 'truthful' is an emotionally laden 
> > statement and distracts from the technical purpose when reading 
> > it ;)
> > 
> > Same for:
> > 
> > > +extern void rcu_idle_now_means_idle(void);
> > 
> > Also, i'm wondering, is there really no way to avoid this quirk. 
> > We almost got away without it for a long time.
> 
> I wonder if you couldn't leave cpu_rq(cpu)->idle as NULL until right
> up to the point where it actually becomes the "idle" thread? This
> would make idle_cpu() more truthful for all other callers in early
> boot code too. And rcupdate shouldn't need any changes (except the
> num_online_cpus() == 1 shortcut probably remains as a nice opt).

It looked to me that the idle task initialization was moved early
to allow interrupt handlers to see a more normal environment, but I
could easily be confused here.

						Thanx, Paul

> > This one:
> > 
> > >  void rcu_check_callbacks(int cpu, int user)
> > >  {
> > >  	if (user ||
> > > -	    (idle_cpu(cpu) && !in_softirq() &&
> > > -				hardirq_count() <= (1 << HARDIRQ_SHIFT))) {
> > > +	    (idle_cpu(cpu) && rcu_idle_cpu_truthful &&
> > > +	     !in_softirq() && hardirq_count() <= (1 << HARDIRQ_SHIFT))) {
> > 
> > Is a hotpath called very often ...
> > 
> > 	Ingo

  reply	other threads:[~2009-02-25 17:13 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-23 16:16 [PATCH] Teach RCU that idle task is not quiscent state at boot Paul E. McKenney
2009-02-23 17:13 ` Ingo Molnar
2009-02-23 20:43 ` [PATCH] v2 " Paul E. McKenney
2009-02-24  4:02   ` Nick Piggin
2009-02-24  5:08     ` Paul E. McKenney
2009-02-24 14:50       ` Paul E. McKenney
2009-02-25  0:29   ` [PATCH] v3 " Paul E. McKenney
2009-02-25  4:12     ` Nick Piggin
2009-02-25  4:43       ` Paul E. McKenney
2009-02-25 14:19     ` [PATCH] v4 " Paul E. McKenney
2009-02-25 16:00       ` Ingo Molnar
2009-02-25 16:26         ` Nick Piggin
2009-02-25 17:12           ` Paul E. McKenney [this message]
2009-02-25 17:18             ` Nick Piggin
2009-02-25 17:36               ` Paul E. McKenney
2009-02-25 17:08         ` Paul E. McKenney
2009-02-26  3:09           ` Ingo Molnar
2009-02-25 18:38       ` Vegard Nossum
2009-02-25 19:01         ` Paul E. McKenney
2009-02-26  2:03       ` [PATCH] v5 " Paul E. McKenney
2009-02-26  3:08         ` Ingo Molnar

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=20090225171249.GD6797@linux.vnet.ibm.com \
    --to=paulmck@linux.vnet.ibm.com \
    --cc=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=npiggin@suse.de \
    --cc=penberg@cs.helsinki.fi \
    --cc=stable@kernel.org \
    --cc=vegard.nossum@gmail.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.