MLK-18675-10 brcmfmac: calling skb_orphan before sending skb to SDIO bus
authorWright Feng <wright.feng@cypress.com>
Tue, 2 Jan 2018 02:12:54 +0000 (20:12 -0600)
committerLeonard Crestez <leonard.crestez@nxp.com>
Wed, 17 Apr 2019 23:51:34 +0000 (02:51 +0300)
commit8ac7df9fba288b1d90eca9273b35d4ff657d8b37
treed79cc3b1d87ec29224354312039049fe34db62d1
parent96fa8c505e6cf56d990834cb553a2c30146a5496
MLK-18675-10 brcmfmac: calling skb_orphan before sending skb to SDIO bus

Linux 3.6 introduces TSQ which has a per socket threshold for TCP Tx
packet to reduce latency. In fcmode 1/2, host driver enqueues skb in
hanger and TCP doesn't push new skb frees until host frees the skb when
receiving fwstatus event. So using skb_orphan before sending skb to bus
will make the skb removing the ownership of socket. With this patch, we
got better throughput in fcmode 1/2.

Tested 43455 TCP throughput in 20 MHz bandwidth with/without this patch.
fcmode 0: 59.5 / 59.6 (Mbps)
fcmode 1: 59.3 / 23.4 (Mbps)
fcmode 2: 59.6 / 21.5 (Mbps)

Signed-off-by: Wright Feng <wright.feng@cypress.com>
Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Signed-off-by: Vipul Kumar <vipul_kumar@mentor.com>
drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c