Jan Beulich
2010-Dec-14 09:48 UTC
[Xen-devel] debug keys (namely ''*'') vs. NMI watchdog (and softirqs)
Processing particularly of ''*'' may take many seconds, and thus interfere with the NMI watchdog (immediately terminal) as well as handling of other softirqs, namely the time related ones (possibly getting the system into bad state as we know from past experience). For the NMI watchdog, adding a Linux-like touch_nmi_watchdog() would certainly help, but it would leave the softirq part unaddressed. For that, in -unstable it would seem feasible to simply sprinkle in calls to process_pending_softirqs() (e.g. between each individual handler being called), but it''s not immediately clear whether the same would also hold for 4.0 and earlier, as tasklets (and hence the handling of the non-IRQ key handlers) there get processed in a softirq action handler. Would it be correct to have yet another flavor of the wrappers around __do_softirq() for this purpose, also filtering out TASKLET_SOFTIRQ? Thanks, Jan _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Keir Fraser
2010-Dec-14 10:01 UTC
Re: [Xen-devel] debug keys (namely ''*'') vs. NMI watchdog (and softirqs)
On 14/12/2010 09:48, "Jan Beulich" <JBeulich@novell.com> wrote:> Processing particularly of ''*'' may take many seconds, and thus > interfere with the NMI watchdog (immediately terminal) as well as > handling of other softirqs, namely the time related ones (possibly > getting the system into bad state as we know from past > experience). > > For the NMI watchdog, adding a Linux-like touch_nmi_watchdog() > would certainly help, but it would leave the softirq part > unaddressed. For that, in -unstable it would seem feasible to simply > sprinkle in calls to process_pending_softirqs() (e.g. between each > individual handler being called), but it''s not immediately clear > whether the same would also hold for 4.0 and earlier, as tasklets > (and hence the handling of the non-IRQ key handlers) there get > processed in a softirq action handler. Would it be correct to have > yet another flavor of the wrappers around __do_softirq() for this > purpose, also filtering out TASKLET_SOFTIRQ?For 4.0.2? Yes, that''s probably best. As you say it''s not needed for xen-unstable since tasklets execute in vcpu context there. -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel