From: Nick Piggin <nickpiggin@yahoo.com.au>
To: Ingo Molnar <mingo@elte.hu>
Cc: Andrew Morton <akpm@osdl.org>,
linux-kernel <linux-kernel@vger.kernel.org>,
"Siddha, Suresh B" <suresh.b.siddha@intel.com>
Subject: Re: [patch 4/5] sched: RCU sched domains
Date: Wed, 06 Apr 2005 18:01:34 +1000 [thread overview]
Message-ID: <4253975E.20804@yahoo.com.au> (raw)
In-Reply-To: <20050406061838.GB5973@elte.hu>
Ingo Molnar wrote:
> * Nick Piggin <nickpiggin@yahoo.com.au> wrote:
>
>
>>4/5
>
>
>>One of the problems with the multilevel balance-on-fork/exec is that
>>it needs to jump through hoops to satisfy sched-domain's locking
>>semantics (that is, you may traverse your own domain when not
>>preemptable, and you may traverse others' domains when holding their
>>runqueue lock).
>>
>>balance-on-exec had to potentially migrate between more than one CPU
>>before finding a final CPU to migrate to, and balance-on-fork needed
>>to potentially take multiple runqueue locks.
>>
>>So bite the bullet and make sched-domains go completely RCU. This
>>actually simplifies the code quite a bit.
>>
>>Signed-off-by: Nick Piggin <nickpiggin@yahoo.com.au>
>
>
> i like it conceptually, so:
>
> Acked-by: Ingo Molnar <mingo@elte.hu>
>
Oh good, thanks.
> from now on, all domain-tree readonly uses have to be rcu_read_lock()-ed
> (or otherwise have to be in a non-preemptible section). But there's a
> bug in show_shedstats() which does a for_each_domain() from within a
> preemptible section. (It was a bug with the current hotplug logic too i
> think.)
>
Ah, thanks. That looks like a bug in the code with the locking
we have now too...
> At a minimum i think we need the fix+comment below.
>
Well if we say "this is actually RCU", then yes. And we should
probably change the preempt_{dis|en}ables in other places to
rcu_read_lock.
OTOH, if we say we just want all running threads to process through
a preemption stage, then this would just be a preempt_disable/enable
pair.
In practice that makes no difference yet, but it looks like you and
Paul are working to distinguish these two cases in the RCU code, to
accomodate your low latency RCU stuff?
I'd prefer the latter (ie. just disable preempt, and use
synchronize_sched), but I'm not too sure of what is going on with
your the low latency RCU work...?
> Ingo
>
> Signed-off-by: Ingo Molnar <mingo@elte.hu>
>
Thanks for catching that. I may just push it through first as a fix
to the current 2.6 schedstats code (using preempt_disable), and
afterwards we can change it to rcu_read_lock if that is required.
--
SUSE Labs, Novell Inc.
next prev parent reply other threads:[~2005-04-06 8:01 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-04-05 23:44 [patch 1/5] sched: remove degenerate domains Nick Piggin
2005-04-05 23:45 ` [patch 2/5] sched: NULL domains Nick Piggin
2005-04-05 23:46 ` [patch 3/5] sched: multilevel sbe and sbf Nick Piggin
2005-04-05 23:47 ` [patch 4/5] sched: RCU sched domains Nick Piggin
2005-04-05 23:49 ` [patch 5/5] sched: consolidate sbe sbf Nick Piggin
2005-04-06 6:27 ` Ingo Molnar
2005-04-06 8:09 ` Nick Piggin
2005-04-06 8:16 ` Nick Piggin
2005-04-07 7:17 ` Ingo Molnar
2005-04-07 7:15 ` Ingo Molnar
2005-04-06 6:18 ` [patch 4/5] sched: RCU sched domains Ingo Molnar
2005-04-06 8:01 ` Nick Piggin [this message]
2005-04-07 7:11 ` Ingo Molnar
2005-04-07 7:58 ` Nick Piggin
2005-04-11 22:15 ` Paul E. McKenney
2005-04-12 0:03 ` Nick Piggin
2005-04-06 5:54 ` [patch 3/5] sched: multilevel sbe and sbf Ingo Molnar
2005-04-06 7:53 ` Nick Piggin
2005-04-06 5:45 ` [patch 2/5] sched: NULL domains Ingo Molnar
2005-04-06 5:48 ` Ingo Molnar
2005-04-06 7:51 ` Nick Piggin
2005-04-06 5:44 ` [patch 1/5] sched: remove degenerate domains Ingo Molnar
2005-04-06 7:10 ` Siddha, Suresh B
2005-04-06 7:13 ` Ingo Molnar
2005-04-06 8:12 ` Nick Piggin
2005-04-06 7:49 ` Nick Piggin
2005-04-07 7:00 ` 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=4253975E.20804@yahoo.com.au \
--to=nickpiggin@yahoo.com.au \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=suresh.b.siddha@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox