b43: Add fastpath to b43_mac_suspend()
authorMichael Buesch <mb@bu3sch.de>
Tue, 15 Apr 2008 19:13:36 +0000 (21:13 +0200)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 16 Apr 2008 19:59:59 +0000 (15:59 -0400)
commitba380013b681e91e059f95b51002f8d43024b371
treef2b77c5d9a421f59396321bd319241dc5074118c
parent059ff8266104d4919c693d6bf974c9e350da513e
b43: Add fastpath to b43_mac_suspend()

This adds a fastpath for the common workloads to the
MAC suspend flushing.
In common workloads the FIFO flush will take between 100 and
200 microseconds. So we want to avoid calling msleep() in the
common case, as it will waste over 800 microseconds + scheduler
overhead.

This fastpath will hit in workloads where only small chunks
of data are transmitted (downloading a file) or when a TX rate bigger
or equal to 24MBit/s is used when transmitting lots of stuff (iperf).
So in the commonly used workloads it will basically always hit.

In case the fastpath is not hit, there's no real performance or latency
disadvantage from that.

And yes, I measured this. So this is not one of these
bad Programmer Likeliness Assumptions that are always wrong. ;)

Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/b43/main.c