Hi,
But tasklets get called immediately after the hard irq (the irq handler
actually calls the tasklet as the last thing).  So I don't think it makes much
difference, especially if you are using power-save mode where by definition no

Wrong.

It makes a world of difference when you use the driver in embedded land.

I am using madwifi in adhoc mode, and the beacons are in perfect sync. The beacons operate in correct accordance with the 802.11 spec.

In ath5k, adhoc mode, the beacons are NOT in sync. When two nodes should be in sync, you find that their beacons are out by 2 ms or so. Which is wrong. Because ath5k puts the time calculation into the tasklet, and the maths/whatever are done wrong. There is a note in the ath5k source about,
 "maybe we should do this in the interrupt, like in madwifi".

In embedded land, with a 400mhz (or slower) processor, there is no hope of the tasklets being launched etc in time.

Timers/tasklets etc are not accurate, and are not handled immediately enough. Power save timings have to be launched/handled in the interrupt handler.

So I don't think it makes much difference, especially if you are using power-save mode where by definition no other IRQs are going to be interrupting the tasklet.
You have no idea on what machine your software is going to be running on. It has to run reliably on any machine, which may well be a heavily loaded 5 year old cpu, or a lightlyloaded dual/quad core machine.

Derek.

 On Sat, 11 Jul 2009, Bob Copeland wrote:

On Fri, Jul 10, 2009 at 11:46 PM, Derek Smithies<de...@indranet.co.nz> wrote:
 Launching a tasklet from the interrupt to handle a INT_DTIM interrupt is
wrong. You see, for a modern laptop, it will be ok most of the time.
But, for the embedded land with hundred mhz processors, launching a tasklet
is too slow.

But tasklets get called immediately after the hard irq (the irq handler
actually calls the tasklet as the last thing).  So I don't think it makes much
difference, especially if you are using power-save mode where by definition no
other IRQs are going to be interrupting the tasklet.

There's always tasklet_hi_schedule.  The benefit is it makes irq processing
much simpler.



--
Derek Smithies Ph.D.
IndraNet Technologies Ltd.
Email: de...@indranet.co.nz
ph +64 3 365 6485
Web: http://www.indranet-technologies.com/
_______________________________________________
ath5k-devel mailing list
ath5k-devel@lists.ath5k.org
https://lists.ath5k.org/mailman/listinfo/ath5k-devel

Reply via email to