lkml.org 
[lkml]   [2008]   [Feb]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: preempt rcu bug on s390
> > > > 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.

Thanks for helping debugging this!


\
 
 \ /
  Last update: 2008-02-10 14:05    [W:0.075 / U:3.260 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site