Re: ULE can leak TDQ_LOCK() if statclock() called outside of critical_enter()

2013-01-20 Thread Konstantin Belousov
On Fri, Jan 18, 2013 at 11:56:27AM -0500, Ryan Stone wrote: I have been experiencing occasional deadlocks on FreeBSD 8.2 systems using the ULE scheduler. The root cause in every case has been that ULE's TDQ_LOCK for cpu 0 is owned by a thread that is not running. I have been investigating

Re: ULE can leak TDQ_LOCK() if statclock() called outside of critical_enter()

2013-01-20 Thread Ryan Stone
On Sun, Jan 20, 2013 at 5:29 AM, Konstantin Belousov kostik...@gmail.comwrote: Both atrtc and hpet register the interrupt handler as the filter. The filters call loop enters critical section around handlers, see kern_intr.c:intr_event_handle(). At least on HEAD it is so, and I see the same

ULE can leak TDQ_LOCK() if statclock() called outside of critical_enter()

2013-01-18 Thread Ryan Stone
I have been experiencing occasional deadlocks on FreeBSD 8.2 systems using the ULE scheduler. The root cause in every case has been that ULE's TDQ_LOCK for cpu 0 is owned by a thread that is not running. I have been investigating the issue, and I believe that I see the issue. The problem occurs