[rt2x00-users] [RFC] rt2x00: Use tasklets for rt2x00usb

Helmut Schaa helmut.schaa at googlemail.com
Thu Jul 22 16:53:17 AEST 2010

Am Donnerstag 22 Juli 2010 schrieb Mark Asselstine:
> On Wed, Jul 21, 2010 at 6:32 PM, Ivo van Doorn <ivdoorn at gmail.com> wrote:
> > This updates the rt2x00usb driver to use tasklets for handling interrupts.
> > This simplifies the code in rt2x00lib since it no longer needs to check if the
> > device is USB or PCI to decide which mac80211 function should be used.
> >
> > This patch is work in progress, but I would to hear if there are any comments
> > on the approach taken.
> >
> > Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
> > ---
> Ivo,  I know it has been far too long since I have done any work on
> this project and I am far from an expert so feel free hit the delete
> key... that being said. Tasklets are used less and less in the kernel
> as there are now other mechanisms which offer the same flexibility.
> Seeing this trend makes me feel rt2x00 is moving in the opposite
> direction. Have you looked at threaded interrupts (which are now in
> mainline) as an alternative? If I can get my development environment
> setup quickly I will try to do better then these few words and
> actually attempt an implementation if you think it is worth it.

I agree. We switched all rt2x00 PCI drivers to use threaded interrupts
already. However, since the USB versions don't have something like an
interrupt handler I don't know how we could move the rx/tx handling
into process context without introducing delays (for example when using a
workqueue) and concurrency.

b43 for example also uses threaded interrupts for PCI devices and implemented
a similar technique for SDIO. It takes care of scheduling the interrupt thread
on its own. Not sure if that would be useful for rt2x00 USB devices.


More information about the users mailing list