[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH][RESEND]RE: [Xen-devel] [PATCH] Fix softlockup issue after vcpu hotplug
On 2/2/07 01:39, "Keir Fraser" <Keir.Fraser@xxxxxxxxxxxx> wrote: > Odder still, the softlockup threads are SCHED_FIFO/99 in 2.6.16 too. So the > main change is that rather than an explicit sleep of one second, the thread > now sleeps as TASK_INTERRUPTIBLE. I wonder how it gets kicked back to > TASK_RUNNING? > > http://lwn.net/Articles/173648/ is worrying since it seems to state that the > patch intends to make the thread timer-interrupt driven rather than softirq > timer driven. If that means it is jiffy-ticker driver, then perhaps the > softlockup module is incompatible with tickless idle mode (no-idle-hz). Okay, I now see how this works -- the thread is kicked from softlockup_tick(), from the timer ISR. So this wakeup event is hidden from next_timer_interrupt(), which only searches timer wheels and hrtimers. The strictly correct fix here is to make next_timer_interrupt() softlockup-aware. I would say it is currently incorrect in the presence of softlockup since it is not doing its job (telling an idle process what the next time-based event is that it must wake up for). We can do this by adding a softlockup_get_next_event(), called from the bottom of next_timer_interrupt(). I would pass it the current return value and have it return an adjusted value: so in the absence of softlockup it would simply return its argument unmodified. In the presence of softlockup it would return a sooner value if softlockup is the next event to fire. Do you want to try coding this up? -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |