Memory leak under certain loads.

Ben Greear greearb at candelatech.com
Mon May 23 17:19:28 PDT 2016


I spent the day looking for memory leaks, and made little progress.

I'm posting this in case someone has a suggestion.

Kernel is 4.4.10+, lots of local patches, and probably ath10k driver is close to
4.4.6 code (it has wave-2 10.4.3 firmware support, for instance).

I modified mac80211 to limit the backlog queue in the method below, so it should
not be this.

static bool ieee80211_tx_frags(struct ieee80211_local *local,
			       struct ieee80211_vif *vif,
			       struct ieee80211_sta *sta,
			       struct sk_buff_head *skbs,
			       bool txpending)

and, fixed pktgen to not crash on skb overrun when used on wlanX


ath10k Firmware is CT firmware.


I start pktgen trying to send 100kpps from station device to another AP
device.

ath9k:  No problems
ath10k-wave1:  Appears to be fairly fast memory leak.  Memory is not reclaimed when
     pktgen is stopped.
ath10k-wave2:  Consumes lots of memory (4G and rising after 20-30 seconds), but at least most comes
     back when pktgen is stopped.  This very much looks like there are lots of pkts buffered somewhere.

In all cases, if I use 'kmemleak', system runs a lot slower (tries to send around 35kpps instead of 99kpps),
and I detect no excessive memory usage as seen with 'top', nor does kmemleak find anything that looks related
to this.

Perhaps related, an OpenWRT variant reports OOM bugs with ath10k wave-1 systems too,
but seems their instability is on the order of 1-2 days between crashes.  They suspect
this came down with a recent backport, but I did not dig into exactly what they have.


https://github.com/freifunk-gluon/gluon/issues/690

Thanks,
Ben

-- 
Ben Greear <greearb at candelatech.com>
Candela Technologies Inc  http://www.candelatech.com




More information about the ath10k mailing list