Message ID | 20200622020721.498-3-wright.feng@cypress.com (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Kalle Valo |
Headers | show |
Series | brcmfmac: Stability and throughput changes | expand |
On 6/22/2020 4:07 AM, Wright Feng wrote: > Linux 3.6 introduces TSQ which has a per socket threshold for TCP Tx > packet to reduce latency. In flow control mode, host driver enqueues skb > in hanger and TCP doesn't push new skb frees until host frees the skb when > receiving fwstatus event. So set pacing shift 8 to send them as a single > large aggregate frame to the bus layer. > > 43455 TX TCP throughput in FC mode 2 on Linux 5.4.18 > sk_pacing_shift : Throughput > 10: 190 Mbps > 9: 216 Mbps > 8: 233 Mbps (Max throughput) > 7: 233 Mpbs In this patch the pacing shift update is done irrespective of the FC mode so I would like to see similar measurements for the other FC mode configurations. Regards, Arend
Arend Van Spriel 於 6/22/2020 4:57 PM 寫道: > On 6/22/2020 4:07 AM, Wright Feng wrote: >> Linux 3.6 introduces TSQ which has a per socket threshold for TCP Tx >> packet to reduce latency. In flow control mode, host driver enqueues skb >> in hanger and TCP doesn't push new skb frees until host frees the skb >> when >> receiving fwstatus event. So set pacing shift 8 to send them as a single >> large aggregate frame to the bus layer. >> >> 43455 TX TCP throughput in FC mode 2 on Linux 5.4.18 >> sk_pacing_shift : Throughput >> 10: 190 Mbps >> 9: 216 Mbps >> 8: 233 Mbps (Max throughput) >> 7: 233 Mpbs > > In this patch the pacing shift update is done irrespective of the FC > mode so I would like to see similar measurements for the other FC mode > configurations. > Measure 43455 TX TCP throughput again with different FC mode. Here is the result and I will update result in patch v2. 43455 TX TCP throughput on Linux 5.4.18 FC mode 0 sk_pacing_shift : Throughput 10: 245 Mbps 9: 245 Mbps 8: 246 Mbps 7: 246 Mbps FC mode 1 sk_pacing_shift : Throughput 10: 182 Mbps 9: 197 Mbps 8: 206 Mbps 7: 207 Mbps FC mode 2 sk_pacing_shift : Throughput 10: 180 Mbps 9: 197 Mbps 8: 206 Mbps 7: 207 Mbps > Regards, > Arend
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c index c88655acc78c..f89010a81ffb 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c @@ -352,6 +352,9 @@ static netdev_tx_t brcmf_netdev_start_xmit(struct sk_buff *skb, if ((skb->priority == 0) || (skb->priority > 7)) skb->priority = cfg80211_classify8021d(skb, NULL); + /* set pacing shift for packet aggregation */ + sk_pacing_shift_update(skb->sk, 8); + ret = brcmf_proto_tx_queue_data(drvr, ifp->ifidx, skb); if (ret < 0) brcmf_txfinalize(ifp, skb, false);