|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] do_softirq + interrupts
On PPC I'm having a race with do_softirq, so I'm trying to figure out how x86
calls it. As far as I can tell, it looks like this:
apic_timer_interrupt <interrupts disabled>
smp_apic_timer_interrupt [raise TIMER_SOFTIRQ)]
ret_from_intr
test_all_events [sees TIMER_SOFTIRQ]
<interrupts enabled>
do_softirq()
***
pending = softirq_pending(cpu);
ASSERT(pending != 0);
...
<interrupts disabled>
iret
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.
What am I missing?
--
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>
|
- [Xen-devel] do_softirq + interrupts,
Hollis Blanchard <=
|
|
|
|
|