Subject: Re: tasklets and waking up sleeping process question

From: Neil Horman <[email-masked]>
Date: Thu, 11 Jul 2002 19:38:09 -0400

You _can_ do either.  Doing the later however, is more or less re-inventing the
wheel, as the tasklet mechanism is designed specifically so that you can do non
time-sensitive interrupt work (the tasklet runs in interrupt context, but with
interrupts still enabled).  So going to the trouble to create a kernel thread to
  pend on a semaphore to be unlocked by an interrupt handler top-half really
never makes sense, unless you need to be able to move your driver code between a
linux environment and a non-linux environment which doesn't have the concept of
tasklets.  Even then, I'd still suggest that you put your code together in such
a way that when building for linux you use tasklets rather than a whole new
kernel thread.
Hope that helps!
Neil

Khai Trinh wrote:

> I have new to Linux. I am reading the Linux device
> driver book second eddition and am trying to make some
> sense out of it.
>
> I am trying to implement an interrupt handler. From
> the description in the book, it seems that one can go
> about implementing the bottom half either using the
> tasklets method or by waking up a sleeping process in
> the top half interrupt handler.
>
> Is what I understood correct or I am totally of the
> topics?
>
> When do you determine which method to implement for an
> interrupt handler?
>
> Regards,
> --Khai
>
>
>

--
/******************************************************************
*Neil Horman
*Software Engineer
*LVL7 Systems
*13000 Weston Pkwy.
*Cary, NC 27513
*(919)-865-2915
[email-masked]
*PGP keyID 0xB5E1020A
*http://www.keyserver.net/en
*******************************************************************/

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/