lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Sun, 15 May 2011 22:56:15 -0700
From:	"Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
To:	Frederic Weisbecker <fweisbec@...il.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 Mon, May 16, 2011 at 12:01:17AM +0200, Frederic Weisbecker wrote:
> 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?

Hello, Frederic,

Thank you for looking this over!

But you lost me on this one.  Isn't __rcu_enter_nohz() called from
rcu_irq_exit() rather than from rcu_irq_enter()?

							Thanx, Paul
--
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ