[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.