Thread (3 messages) 3 messages, 2 authors, 2016-04-25

Re: [PATCH RFC] b43: stop hardcoding LED behavior

From: Michael Büsch <m@bues.ch>
Date: 2016-04-25 18:32:59
Also in: linux-wireless

On Mon, 25 Apr 2016 20:21:36 +0200
Lucas Stach [off-list ref] wrote:
quoted
Numbers please. Did you measure that is actually causes more
_wakeups_?
How many?
The led work is placed in the mac80211 workqueue and LED updates only
happen on behalf of mac80211 activities (by default). It only causes
additional wakeups, if there's nothing else scheduled on the
workqueue
anyways (which might well be the case. So we need numbers. :)
  
The blinking LEDs use a timer to enforce a constant blink rate at a
50ms on/off interval. While they are only triggered if there is some
RX/TX activity in the system, they cause up to 20 wakeups/second/led.
As the timers used for LED activity aren't deferrable, this hardcode is
causing 40 unnecessary CPU wakeups/s in my system.

Ok this is 40 to 40k for the interrupt requests?
We need real measured numbers and a percentage on how much the b43 LEDs
increase the system wakeups in relation to all other wakeups.

There are some people that find those kinds of blinking LEDs
distracting,

Those can already disable them via the standard LED framework.

so a module parameter to disable them altogether might be
a good thing to have.

No. We have a standard API for this.

Causing CPU wakeups in a system where those LEDs
aren't even physically populated is clearly undesired behavior.

Yes, but this is not going to be fixed via regressions.

If checking that the SPROM doesn't define any LED behavior is enough to
not regress your use case, I would be glad to rework the patch
accordingly.

As it turns out I don't have that card here and I don't have a dump of
its SPROM as I expected. So I cannot really verify this. But I'm pretty
sure that this card did not define any LEDs in its SPROM at all.
I'm not aware of any card that only partially defines LEDs in the
SPROM. So that fix would be OK.

-- 
Michael

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help