[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] do_softirq + interrupts
On 2 Sep 2005, at 00:14, Hollis Blanchard wrote: What confuses me is that any other interrupt could come in at point *** above, right? That interrupt will follow a very similar path, calling do_softirq again, and handle TIMER_SOFTIRQ. Then when the first do_softirq resumes, theASSERT will trip. What am I missing? You shouldn't call do_softirq() from nested Xen activations (this is unlike Linux, which is happy to do softirq work from arbitrary interrupt contexts). For example, the main places where arch/x86 calls do_softirq are from within the idle loop, and in our code that exits a Xen activation we have code along the lines of: if (softirq_pending() and returning to guest context) do_softirq();If you do softirq work in nested interrupt contexts in Xen you will find all kinds of bad races, because the locking strategies assume you don;t do this (most spinlocks are acquired without disabling interrupts, for example). -- Keir _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |