From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
To: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>,
Suresh Siddha <suresh.b.siddha@intel.com>,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
tglx@linutronix.de, josh@joshtriplett.org, keescook@chromium.org,
linux-kernel@vger.kernel.org
Subject: Re: [GIT PULL rcu/next] RCU commits for 3.3
Date: Wed, 14 Dec 2011 12:48:53 -0800 [thread overview]
Message-ID: <20111214204853.GI2862@linux.vnet.ibm.com> (raw)
In-Reply-To: <20111214174736.GF10791@somewhere.redhat.com>
On Wed, Dec 14, 2011 at 06:47:38PM +0100, Frederic Weisbecker wrote:
> On Wed, Dec 14, 2011 at 05:30:11PM +0100, Frederic Weisbecker wrote:
> > On Wed, Dec 14, 2011 at 04:47:36PM +0100, Ingo Molnar wrote:
> > > * Paul E. McKenney <paulmck@linux.vnet.ibm.com> wrote:
[ . . . ]
> > > Pulled into tip:core/rcu, thanks a lot Paul!
> > >
> > > Note that this commit from Frederic:
> > >
> > > 69e1e811dcc4: sched, nohz: Track nr_busy_cpus in the sched_group_power
> > >
> > > conflicted with this commit from Suresh in sched/core:
> > >
> > > 69e1e811dcc4: sched, nohz: Track nr_busy_cpus in the sched_group_power
> > >
> > > I resolved it by making the set_cpu_sd_state_idle() call
> > > unconditional within the newly decoupled
> > > tick_nohz_stop_sched_tick() function - please double check that
> > > it's the right resolution.
> >
> > After a quick look, I believe this should rather be under tick_nohz_idle_enter(),
> > (This is the equivalent of the old tick_nohz_stop_sched_tick(1))
> > This wants to be set only once we enter idle, not everytime we have an idle
> > interrupt.
>
> I don't know how you plan to fix the conflict, by redoing the merge or by
> applying a patch on tip/master.
>
> In any case, here is a patch you can use. Feel free to apply it as is
> or to just refer to its diff to redo the merge:
>
> (Outrageously only compile tested)
I have started up a short rcutorture test of this patch on top of
tip/master, will let you know how it goes.
Thanx, Paul
> ---
> From: Frederic Weisbecker <fweisbec@gmail.com>
> Date: Wed, 14 Dec 2011 18:36:00 +0100
> Subject: [PATCH] sched: Only update the CPU idleness in the domain
> hierarchy from idle loop entry
>
> We don't need to inform the sched domain hierarchy about the
> CPU idleness everytime we call tick_nohz_stop_sched_tick() as this
> includes both idle loop entry and idle interrupt exit.
>
> Doing it once from the idle loop entry is enough, call
> set_cpu_sd_state_idle() only from tick_nohz_idle_enter() instead
> to fix this.
>
> Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
> Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
> Cc: Suresh Siddha <suresh.b.siddha@intel.com>
> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
> ---
> kernel/time/tick-sched.c | 16 ++++++++--------
> 1 files changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c
> index 1f6dc515..696c997 100644
> --- a/kernel/time/tick-sched.c
> +++ b/kernel/time/tick-sched.c
> @@ -289,14 +289,6 @@ static void tick_nohz_stop_sched_tick(struct tick_sched *ts)
> now = tick_nohz_start_idle(cpu, ts);
>
> /*
> - * Update the idle state in the scheduler domain hierarchy
> - * when tick_nohz_stop_sched_tick() is called from the idle loop.
> - * State will be updated to busy during the first busy tick after
> - * exiting idle.
> - */
> - set_cpu_sd_state_idle();
> -
> - /*
> * If this cpu is offline and it is the one which updates
> * jiffies, then give up the assignment and let it be taken by
> * the cpu which runs the tick timer next. If we don't drop
> @@ -483,6 +475,14 @@ void tick_nohz_idle_enter(void)
> * update of the idle time accounting in tick_nohz_start_idle().
> */
> ts->inidle = 1;
> +
> + /*
> + * Update the idle state in the scheduler domain hierarchy
> + * when tick_nohz_idle_enter() is called from the idle loop.
> + * State will be updated to busy during the first busy tick after
> + * exiting idle.
> + */
> + set_cpu_sd_state_idle();
> tick_nohz_stop_sched_tick(ts);
>
> local_irq_enable();
> --
> 1.7.5.4
>
>
next prev parent reply other threads:[~2011-12-14 20:59 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20111213230243.GA15127@linux.vnet.ibm.com>
2011-12-14 15:47 ` [GIT PULL rcu/next] RCU commits for 3.3 Ingo Molnar
2011-12-14 16:30 ` Frederic Weisbecker
2011-12-14 17:47 ` Frederic Weisbecker
2011-12-14 20:48 ` Paul E. McKenney [this message]
2011-12-15 1:35 ` Suresh Siddha
2011-12-15 1:41 ` Paul E. McKenney
2011-12-15 7:06 ` 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=20111214204853.GI2862@linux.vnet.ibm.com \
--to=paulmck@linux.vnet.ibm.com \
--cc=a.p.zijlstra@chello.nl \
--cc=fweisbec@gmail.com \
--cc=josh@joshtriplett.org \
--cc=keescook@chromium.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=suresh.b.siddha@intel.com \
--cc=tglx@linutronix.de \
/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.