WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] do_softirq + interrupts

On Sep 2, 2005, at 3:20 AM, Keir Fraser wrote:

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, the
ASSERT will trip.

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).

Ah ha, this was the tip I needed. The test I had overlooked in ret_from_intr was this:
        movl  UREGS_eflags(%esp),%eax
        movb  UREGS_cs(%esp),%al
        testl $(3|X86_EFLAGS_VM),%eax
        jnz   test_all_events
I guess that is cleverly testing both the privilege level being returned to and the virtual 8086 mode bit.

Thanks!

--
Hollis Blanchard
IBM Linux Technology Center


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>