On 2/14/06, Mukund JB. <mukundjb@xxxxxxxxxxxxxxxxxxxxx> wrote: > 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 */ > } > as far as I can understand, you are sheduling the tasklet, which is just responsible to further shedule the work on work queue. Why dont you directly do your pending work in tasklet itself. -Gauarv > 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/