[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20110515220113.GA2810@nowhere>
Date: Mon, 16 May 2011 00:01:17 +0200
From: Frederic Weisbecker <fweisbec@...il.com>
To: "Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
Cc: Yinghai Lu <yinghai@...nel.org>, Ingo Molnar <mingo@...e.hu>,
linux-kernel@...r.kernel.org
Subject: Re: [GIT PULL rcu/next] rcu commits for 2.6.40
On Sat, May 14, 2011 at 11:34:53AM -0700, Paul E. McKenney wrote:
> rcutree.c | 91 +++++++++++++++++++++++++++++++++++++++++++++++++++-----------
> 1 file changed, 75 insertions(+), 16 deletions(-)
>
> diff --git a/kernel/rcutree.c b/kernel/rcutree.c
> index a4a2ef0..0b541bd 100644
> --- a/kernel/rcutree.c
> +++ b/kernel/rcutree.c
> @@ -308,23 +308,25 @@ static int rcu_implicit_offline_qs(struct rcu_data *rdp)
>
> #ifdef CONFIG_NO_HZ
>
> -/**
> - * rcu_enter_nohz - inform RCU that current CPU is entering nohz
> +/*
> + * __rcu_enter_nohz - inform RCU that current CPU is entering nohz
> *
> * Enter nohz mode, in other words, -leave- the mode in which RCU
> * read-side critical sections can occur. (Though RCU read-side
> * critical sections can occur in irq handlers in nohz mode, a possibility
> * handled by rcu_irq_enter() and rcu_irq_exit()).
> + *
> + * This variant should only be called from rcu_irq_exit() because it
> + * assumes perfect nesting. The caller must have irqs disabled.
> */
> -void rcu_enter_nohz(void)
> +void __rcu_enter_nohz(void)
> {
> - unsigned long flags;
> struct rcu_dynticks *rdtp;
>
> - local_irq_save(flags);
> rdtp = &__get_cpu_var(rcu_dynticks);
> + WARN_ON_ONCE(rdtp->dynticks_nesting <= 0);
But this warning will always trigger if it's called from rcu_irq_enter()
after rcu_enter_nohz(). Right?
--
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