Dear All, I am working on a Block driver. I am required to do a pretty heavy computation in the interrupt context. I tried to schedule the kernel work queue in the driver from the bottomhalf. It works. As Tasklet is the next high priority job after interrupts, I suspect if anything is wrong in incorporating this method. Please see the pseudo code below. Pseudo code ------------ /* ISR */ intsrv() { ...... tasklet_schedule(&tlet); } /* bottom half */ static void bottomhalf(ulong vptr) { ...... ...... schedule_work(&tqueue); /* call to Work queue */ } This is how it works and finally the assigned work queue function will be called. Please give your ideas on this kind of an approach. Regards, Mukund Jampala -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/