Messages in this thread | | | Date | Mon, 24 Mar 2008 10:58:50 -0700 (PDT) | From | Linus Torvalds <> | Subject | Re: [PATCH 0/2] printk vs rq->lock and xtime lock |
| |
On Mon, 24 Mar 2008, Peter Zijlstra wrote: > > As to the regression reported by Marcin; what happens is that we invoke > printk() while holding the xtime lock for writing. printk() will call > wake_up_klogd() which tries to enqueue klogd on some rq. > > The known deadlock here is calling printk() while holding rq->lock, which > would then try to recusively lock the rq again when trying to wake klogd.
Ok.
Right now, however, I think that for 2.6.25 I'll just remove the printk.
And for the long haul, I really don't think the solution is "printk_nowakup()", because this is going to happen again when somebody doesn't realize the code is called with the rq lock held, and it's going to be a bitch to debug.
I just don't think this is maintainable.
Linus
| |