This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug runtime/6487] kernel.function("internal_add_timer") freezes system.


------- Additional Comments From joshua dot i dot stone at intel dot com  2008-05-07 18:48 -------
It's just a coincidence that the first mod_timer was also from stap.  There's a
real bug here: a probe on the internals of __mod_timer will call
stp_print_flush, and if the buffer is full it will end up calling __mod_timer
again and cause a deadlock.

relay_switch_subbuf has this note:
> /*
>  * Calling wake_up_interruptible() from here
>  * will deadlock if we happen to be logging
>  * from the scheduler (trying to re-grab
>  * rq->lock), so defer it.
>  */
> __mod_timer(&buf->timer, jiffies + 1);

... but in this case we happen to be logging from within __mod_timer, so it's a
new deadlock.

-- 


http://sourceware.org/bugzilla/show_bug.cgi?id=6487

------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]