Messages in this thread | | | From | Sasha Levin <> | Date | Sat, 15 Sep 2012 14:25:51 +0200 | Subject | Re: Linux 3.6-rc4 |
| |
On Mon, Sep 10, 2012 at 4:36 PM, Peter Zijlstra <peterz@infradead.org> wrote: > On Fri, 2012-09-07 at 11:39 -0700, Linus Torvalds wrote: >> Al? Please look into this. I'm not entirely sure what's going on, but >> lockdep complains about this: >> >> Possible interrupt unsafe locking scenario: >> >> CPU0 CPU1 >> ---- ---- >> lock(&(&p->alloc_lock)->rlock); >> local_irq_disable(); >> lock(&(&new_timer->it_lock)->rlock); >> lock(tasklist_lock); >> <Interrupt> >> lock(&(&new_timer->it_lock)->rlock); >> >> *** DEADLOCK *** >> >> and it looks real. IOW, if I read that right, we have the task_lock -> >> it_lock dependency through exit_itimers(), and then we have the >> tasklist_lock -> task_lock dependency everywhere else. So now it_lock >> -> tasklist_lock becomes a deadlock. > > Agreed, I've got the following series from Oleg queued to solve this: > > http://marc.info/?l=linux-kernel&m=134600821828491&w=2
I'm still seeing lockdep warnings even with the code above applied.
| |