Re: net: tso: add UDP segmentation support: adds regression for ax200 upload
From: Ben Greear <hidden>
Date: 2020-12-17 17:57:15
On 12/17/20 2:11 AM, Eric Dumazet wrote:
On Thu, Dec 17, 2020 at 12:59 AM Ben Greear [off-list ref] wrote:quoted
On 12/16/20 3:09 PM, Ben Greear wrote:quoted
Hello Eric, The patch below evidently causes TCP throughput to be about 50Mbps instead of 700Mbps when using ax200 to upload tcp traffic. When I disable TSO, performance goes back up to around 700Mbps.As a followup, when I revert the patch, upload speed goes to ~900Mbps, so even better than just disabling TSO (I left TSO enabled after reverting the patch). Thanks, BenThanks for the report ! It seems drivers/net/wireless/intel/iwlwifi/pcie/tx.c:iwl_fill_data_tbs_amsdu() calls tso_build_hdr() with extra bytes (SNAP header), it is not yet clear to me what is broken :/
Your patch is guessing tcp vs udp by looking at header length from what I could tell. So if something uses a different size, it probably gets confused?
Can you confirm which driver is used for ax200 ? I see tso_build_hdr() also being used from drivers/net/wireless/intel/iwlwifi/queue/tx.c
I tested against the un-modified ax200 5.10.0 kernel driver, and it has the issue. The ax200 backports release/core56 driver acts a bit different (poorer performance over all than in-kernel driver), but has similar upstream issues that are mitigated by disabling TSO. Thanks, Ben -- Ben Greear [off-list ref] Candela Technologies Inc http://www.candelatech.com