Hi,
I am seeing a strange behavior when using tasklets so I was wondering if
this is a bug or a feature and if anyone else has experienced the same
behavior.
I am using 2.4.9 and I checked the ChangeLog and there was a fix from Andrea
in 2.4.8 with relation to tasklets but nothing after that.
I schedule a tasklet from a network driver interrupt and what I am seeing is
that in some cases the tasklet runs twice when I am expecting it to run once.
Here is pseudo code how it looks like:
network_interrupt(){
tasklet_schedule()
}
tasklet_code(){
do_stuff()
}
and here is what happens:
I get an interrupt which calls tasklet_schedule, the tasklet starts executing
and has not exited yet and I get another interrupt that calls
tasklet_schedule, now the tasklet code exits but in some cases it executes
again without ever tasklet_schedule being called again, I checked this is
done on the same cpu as the interrupt was called so thats ok. I am just not
sure if I should be expecting that "extra" execution, I thought I shouldn't.
PS: Please Cc me on reply as I am not currently on lkml. Thanks.
--
Peace can only come as a natural consequence
of universal enlightenment. -Dr. Nikola Tesla