|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [question] will softirq handler potentially be called many times?
Hi,
I see the __do_softirq is called when ! in_atomic(), which means
potentially __do_softirq may be interrupted by trap, exception,
interrupt, etc, so seems softirq handler may be executed many times?
For example, if interrupt happens after i =
find_first_set_bit(pending), the same softirq hander will be called
twice as the do_softriq will be called after all interrupt handler
returned, and the pending bit has not been cleared yet when first
do_softirq was called.
static void __do_softirq(unsigned long ignore_mask)
{
......
for ( ; ; )
{
......
i = find_first_set_bit(pending);
<- interrupt happens
clear_bit(i, &softirq_pending(cpu));
(*softirq_handlers[i])();
}
}
-cody
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |