OSDN Git Service

brcmfmac: Set SDIO workqueue as WQ_HIGHPRI
authorSean Anderson <sean.anderson@seco.com>
Mon, 2 Aug 2021 17:09:04 +0000 (13:09 -0400)
committerKalle Valo <kvalo@codeaurora.org>
Sat, 21 Aug 2021 16:58:58 +0000 (19:58 +0300)
commit41b637bac0b0a90424793aa1ec265b24c4c50fb1
treef6b5fd5e4f74235f488a1718641d8110fc36c926
parentf8d6523891cf07468f0bfe21aba8b562a6f75780
brcmfmac: Set SDIO workqueue as WQ_HIGHPRI

This puts tasks submitted to the SDIO workqueue at the head of the queue
and runs them immediately. This gets higher RX throughput with the SDIO
bus.

This was originally submitted as [1]. The original author Wright Feng
reports

> throughput result with 43455(11ac) on 1 core 1.6 Ghz platform is
>     Without WQ_HIGGPRI TX/RX: 293/301 (mbps)
>     With    WQ_HIGHPRI TX/RX: 293/321 (mbps)

I tested this with a 43364(11bgn) on a 1 core 800 MHz platform and got
    Without WQ_HIGHPRI TX/RX: 16/19 (Mbits/sec)
    With    WQ_HIGHPRI TX/RX: 24/20 (MBits/sec)

[1] https://lore.kernel.org/linux-wireless/1584604406-15452-4-git-send-email-wright.feng@cypress.com/

Signed-off-by: Sean Anderson <sean.anderson@seco.com>
Reviewed-by: Arend van Spriel <aspriel@gmail.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20210802170904.3116223-1-sean.anderson@seco.com
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c