[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kernelnewbies
Subject:    Re: Advantage of Tasklet as the bottom half of interrupt handler.
From:       Jan Hudec <bulb () ucw ! cz>
Date:       2003-01-30 10:11:46
[Download RAW message or body]

On Thu, Jan 30, 2003 at 09:18:17AM +0100, Jan Hudec wrote:
> On Wed, Jan 29, 2003 at 08:27:48PM -0800, Wayne Yen wrote:
> > While the bottom half (implemented via tasklet) of an interrupt
> > handler is executing, can another bottom half (similarly implemented
> > via tasklet) of another interrupt handler starts execute.  My
> > assumption is no.  The ultimate question, then, is that what is the
> > advantage of implementing tasklet to handle the bottom half over the
> > old bottom half implementation?
> 
> IIRC botomhlaves are hardcoded and activated by seting bits in a 32-bit
> bitfield. While tasklets are enabled by puting a pointer in a list and
> thus their number is not limited.

Seems I was wrong (I think I had outdated information). From the code it
really looks like the bottomhalves are run by a tasklet on a separate
queue (run first), with global lock (so tasklets can run on two CPUs
parallel, but bottomhalves can't) and disabling. It looks (see the
comment at kernel/softirq.c before global_bh_lock) like bottomhalves
exist mostly for backward compatibility and tasklets should be used in
new code.

Network has it's own "softirq"s different from tasklets and bhs and
I don't see the reason, so there might be additional quirks to it.

-------------------------------------------------------------------------------
						 Jan 'Bulb' Hudec <bulb@ucw.cz>
--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic