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, 10 Feb 2008 09:43:55 -0800
From:	"Paul E. McKenney" <paulmck@...ux.vnet.ibm.com>
To:	Heiko Carstens <heiko.carstens@...ibm.com>
Cc:	Gautham R Shenoy <ego@...ibm.com>,
	Dipankar Sarma <dipankar@...ibm.com>,
	Steven Rostedt <srostedt@...hat.com>,
	Ingo Molnar <mingo@...e.hu>,
	Martin Schwidefsky <schwidefsky@...ibm.com>,
	linux-kernel@...r.kernel.org
Subject: Re: preempt rcu bug on s390

On Sun, Feb 10, 2008 at 02:01:50PM +0100, Heiko Carstens wrote:
> > > > > Using CONFIG_PREEMPT_RCU and CONFIG_NO_IDLE_HZ on s390 my system always
> > > > > gets stuck when running with more than one cpu.
> > > > > When booting with four cpus I get all four cpus caught withing cpu_idle
> > > > > and not advancing anymore. However there is the init process which is
> > > > > waitung for synchronize_rcu() to complete (lcrash output):
> > > > > 
> > > > > If I change the code so that timer ticks won't be disabled everything
> > > > > runs fine. So my guess is that rcu_needs_cpu() doesn't do the right
> > > > > thing for the rcu preemptible case.
> > > > > 
> > > > > Kernel version is git head of today.
> > > > > 
> > > > > Any ideas?
> > > > 
> > > > Does this tree have http://lkml.org/lkml/2008/1/29/208 applied?
> > > > 
> > > > If not, could you please check it out?
> > > 
> > > It's not applied, however it doesn't change anything. Also the patch
> > > is tied to the dynticks implementation which is differently from
> > > s390's nohz implementation.
> > > I had to add the patch below so it would make at least some sense.
> > > But it doesn't fix the problem.
> > 
> > OK, I was afraid of that.  ;-)
> > 
> > Does s390 start out in nohz mode?  The reason I ask is that it feels like
> > an off-by-one error for the dynticks_progress_counter.
> 
> Actually I forgot to add a few ifdefs to make the code do something :)
> That just reveals that we have a conflict with the dynticks implementation
> and s390's nohz that shows up in what rcu_irq_enter/exit assume.
> I didn't patch s390 and common code so it will work, but I think the
> patch you mentionened will fix the problem I reported.
> So I guess we should either convert s390 to use the generic dynticks
> implementation or disable preemptible rcu on s390 until we converted
> our code.

Sounds good to me!!!  (Especially converting s390 to generic algorithm.)

I believe that the generic implementation will do what you need, but
I am sure you will let me know of any problems that arise.

> Thanks for helping debugging this!

Thank you for tracking it down!

							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