[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1323912922.1984.229.camel@sbsiddha-desk.sc.intel.com>
Date: Wed, 14 Dec 2011 17:35:22 -0800
From: Suresh Siddha <suresh.b.siddha@...el.com>
To: Frederic Weisbecker <fweisbec@...il.com>
Cc: Ingo Molnar <mingo@...e.hu>,
"Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>,
Peter Zijlstra <a.p.zijlstra@...llo.nl>,
"tglx@...utronix.de" <tglx@...utronix.de>,
"josh@...htriplett.org" <josh@...htriplett.org>,
"keescook@...omium.org" <keescook@...omium.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [GIT PULL rcu/next] RCU commits for 3.3
On Wed, 2011-12-14 at 09:47 -0800, Frederic Weisbecker wrote:
> 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)
>
> ---
> From: Frederic Weisbecker <fweisbec@...il.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@...il.com>
> Cc: Paul E. McKenney <paulmck@...ux.vnet.ibm.com>
> Cc: Suresh Siddha <suresh.b.siddha@...el.com>
> Cc: Peter Zijlstra <a.p.zijlstra@...llo.nl>
Acked-by: Suresh Siddha <suresh.b.siddha@...el.com>
> ---
> 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
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists