Re: bugsplat 3.6.7-rt18

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 30 Nov 2012, Paul E. McKenney wrote:
> On Fri, Nov 30, 2012 at 04:15:09PM -0800, Frank Rowand wrote:
> > >  Possible unsafe locking scenario:
> > > 
> > >        CPU0
> > >        ----
> > >   lock(rcu_kthread_wq.lock.lock.wait_lock);
> > >   <Interrupt>
> > >     lock(rcu_kthread_wq.lock.lock.wait_lock);
> 
> ???
> 
> These are all spin_lock_irqsave() calls, so how would the interrupt
> happen?  Or do these need to be changed to raw_spinlock_t?
> 
> Hmmm...  In include/linux/wait.h, doesn't struct __wait_queue_head
> need to have raw_spinlock_t rather than spinlock_t?  Please try that
> change and let me know what happens.

No. We can't do that. The reason is that some wait queue wakeups have
callbacks which can't be called with interrupts disabled on RT.

IIRC, I restructured the RCU code in 3.0-rt so it won't be affected by
this. I'll have a look.

Thanks,

	Thomas


--
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux