2009-10-11 03:37:03

by Joel A Fernandes

[permalink] [raw]
Subject: tasklets and queuing.

Hi Friends,

I have a question about tasklets:

I understand that they are used to defer work during interrupt
handling. What I don't understand is - how do they handle queuing of
deferred work?
Specially with tasklets, if a tasklet is re-scheduled before the
previous scheduling of the same tasklet has a chance to run, then the
tasklet is executed only once - not twice. But what if the work that
the tasklet was supposed to do in these 2 instances were different and
that its function was supposed to be passed 2 different structures?
Shouldn't the tasklet be executed twice with these 2 structures?

I know that work queues are there for that, but how do device drivers
that use tasklets cope with the above?

Thanks,
-Joel