RE: Calling work queue in a tasklet?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



HI Gautam,

>> 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.

That is where I used to do that earlier (in taskelet). It created some
delay.
I assume the tasklet is high priority job that task queue. 
So, I used it assuming it gives control to the console faster.
I think I am able to see some small difference in getting the control
over the console little bit faster than usual.

Regards,
Mukund Jampala

>> 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/



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux