]> git.baikalelectronics.ru Git - kernel.git/commit
mt76: use a per rx queue page fragment cache
authorFelix Fietkau <nbd@nbd.name>
Fri, 13 Jul 2018 14:26:15 +0000 (16:26 +0200)
committerFelix Fietkau <nbd@nbd.name>
Wed, 19 Sep 2018 10:31:44 +0000 (12:31 +0200)
commit7092ab4544ab49c0385d8536c5978b9fb9ec6a62
tree84bd4a01b7571716251cdf573ee7d8bb66dcd318
parente81623c95f7403a0cee6466b4bcd67b8e90b4b97
mt76: use a per rx queue page fragment cache

Using the NAPI or netdev frag cache along with other drivers can lead to
32 KiB pages being held for a long time, despite only being used for
very few page fragments.

This can happen if the driver grabs one or two fragments for rx ring
refill, while other drivers use (and free up) the remaining fragments.
The 32 KiB higher-order page can only be freed once all users have freed
their fragments.

Depending on the traffic patterns, this can waste a lot of memory and
look a lot like a memory leak.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
drivers/net/wireless/mediatek/mt76/dma.c
drivers/net/wireless/mediatek/mt76/mt76.h
drivers/net/wireless/mediatek/mt76/usb.c