Problems with ath at kern.hz=100
Ian Smith
smithi at nimnet.asn.au
Thu Feb 12 22:08:37 PST 2009
On Tue, 10 Feb 2009, Sam Leffler wrote:
> Ian Smith wrote:
> > On Mon, 9 Feb 2009, Bengt Ahlgren wrote:
> >
> > > I was changing kern.hz to 100 on my IBM X40 (Pentium-M) laptop to see
> > > whether that saves some battery, but ran into problems with ath not
> > > working properly. At first I thought that my hardware was failing,
> > > but changing hz back to 1000 solved the problem. I am running
> > > 7.1-RELEASE-p1 and have the following Atheros chip:
> > > > Feb 9 11:13:10 P142 kernel: ath_hal: 0.9.20.3 (AR5210, AR5211,
> > AR5212, RF5111, RF5112, RF2413, RF5413)
> > > Feb 9 11:13:10 P142 kernel: ath0: <Atheros 5212> mem
> > 0xd0200000-0xd020ffff irq 11 at device 2.0 on pci2
> > > Feb 9 11:13:10 P142 kernel: ath0: [ITHREAD]
> > > Feb 9 11:13:10 P142 kernel: ath0: WARNING: using obsoleted if_watchdog
> > interface
> > > Feb 9 11:13:10 P142 kernel: ath0: Ethernet address: 00:05:4e:4e:1f:c7
> > > Feb 9 11:13:10 P142 kernel: ath0: mac 5.6 phy 4.1 5ghz radio 1.7 2ghz
> > radio 2.3
> >
> > There's an order of magnitude room to move between 100 and 1000 Hz. You
> > could also try with maybe 250 or 500?
> >
> > What speed is your Pentium-M? Are you using powerd? If so, what minimum
> > CPU freq does it drop back to (sysctl debug.cpufreq.lowest)?
> >
> > Sam has talked of a problem with ath (and maybe other) interrupt rates
> > overwhelming slow CPUs to the extent that userland (ie powerd) doesn't get
> > a look-in for a while, as I understand it. A fast CPU clocked back to less
> > than say 300MHz IS a slow CPU, until powerd gets to crank it up.
> >
>
> If powerd starvation were happening you'd see livelock not slow traffic. The
> problem was that MIB overflow interrupts from the card were pounding the host
> but since the cpu clock was lowered they were not serviced fast enough.
>
> FWIW I believe the MIB interrupt storm issue is fixed in head. I posted a
> patch to stable@ to enable backmerge of the necessary code but received ~zero
> feedback in >1 month so RELENG_7 will continue to rot w/ old code.
Thanks for the clarification, Sam.
I did see your patch but due to ongoing Severe Weather Events here I've
not had enough (solar) power to even upgrade my thinkpad to RELENG_7 for
months, and the nearest access point is kilometres away, so I've had to
shelve wireless dreaming until I can move house. Lame excuses i know ..
[..]
> You can use tcpdump to monitor traffic at multiple levels in the hierarchy:
>
> tcpdump -i ath0 -n # tap at 802.3 level
> tcpdump -i ath0 -n -y IEEE802_11 # tap at 802.11 level
> tcpdump -i ath0 -n -y IEEE802_11_RADIO # tap at driver level
>
> and/or you can check statistics using athstats and wlanstats or you can turn
> on debugging msgs in net80211 or the ath driver using wlandebug and athdebug.
> Some of these may require you to build your kernel w/ debug options (e.g.
> ATH_DEBUG).
All filed for now.
cheers, Ian
More information about the freebsd-mobile
mailing list