On 02/07/2018 02:55 AM, Johannes Berg wrote:
On Wed, 2018-02-07 at 10:16 +0100, Felix Fietkau wrote:
On 2018-02-07 00:05, greearb@xxxxxxxxxxxxxxx wrote:
From: Ben Greear <greearb@xxxxxxxxxxxxxxx>
In case where the system is sluggish, we should probably break out
early. Maybe this will fix issues where the OS thinks the IRQ handler
is not responding and disables the IRQ because 'nobody cared'
Signed-off-by: Ben Greear <greearb@xxxxxxxxxxxxxxx>
5 jiffies as a hardcoded value is a bad idea, since it produces
different behavior based on CONFIG_HZ.
I figured that was a benefit since it would run shorter duration on systems with
a faster HZ clock.
Also, err, NAPI? Or is something else is going on here?
I don't really know, but part of my test was running traffic while creating
1200 stations, so likely there were lots of higher-level lock contention that
slowed down sending pkts up the stack.
I got a bunch of errors about IRQs being ignored because nobody cared. I noticed
that the ath9k loop could handle up to 500 or so frames, and that seemed like too
many for my particular test case.
Once I put in this patch, I did not see the 'nobody cared' error again.
There could easily be a better fix. If you all want me to use a fixed time instead
of HZ, then please suggest a value. I was testing with HZ of 1000, btw.
Thanks,
Ben
johannes
--
Ben Greear <greearb@xxxxxxxxxxxxxxx>
Candela Technologies Inc http://www.candelatech.com