Re: kthread or tasklet in driver

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

 



which network driver you are working on?

thanks,
mitul modi

On Tue, Sep 16, 2008 at 5:37 PM, Mitul Modi <mituld.modi@xxxxxxxxx> wrote:
hi jasjit,

No need to thanks,

network driver i have studied using task lets in the packet receive interrupt. whether it is wifi driver or giga bit network driver.

so the task lets will copy the frame buffer from dma and pass it to application.

thanks,
mitul modi


On Tue, Sep 16, 2008 at 5:30 PM, jasjit singh <singh.jasjit@xxxxxxxxxxx> wrote:
Thanks Himanshu, Michael and Mitul for you replies. Most of the things are now clear to me. I think work queue is best option for me to use.

As my driver is a network driver, I am expecting heavy interrupt load on the system. This means new interrupt may (or will) come before the bottom half corresponding to previous one has been processed. This can result in queuing up of bottom halves. My question is - Like ksoftirqd handles the situation when too much work is pending in softirq context, is there a similar entity which does the same when too much work is pending with the work queues.


Himanshu Chauhan <chauhan.jpr@xxxxxxxxx> wrote:
Michael Blizek wrote:
> On 06:29 Mon 15 Sep , Himanshu Chauhan wrote:
>
>> I would Workqueues. For creating a thread and making it sleep *properly*
>> needs a lot of work. Workqueue's infrastructure has already done it for
>> you. You can create your own work queue if you dont' want to use the
>> default provided by the kernel.
>>
>
> Do you have to do more than use waitqueues to make a kernel thread sleep
> properly?
>
You don't. But when you are using workqueues don't have to worry
anything else than the function that would be doing the work. Why take
unnecessary work?

-Himanshu

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at 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