[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20241001163200.1802522-1-nnac123@linux.ibm.com>
Date: Tue, 1 Oct 2024 11:31:59 -0500
From: Nick Child <nnac123@...ux.ibm.com>
To: netdev@...r.kernel.org
Cc: horms@...nel.org, haren@...ux.ibm.com, ricklind@...ibm.com,
Nick Child <nnac123@...ux.ibm.com>
Subject: [PATCH net v2 0/1] ibmvnic: Fix for send scrq direct
This is a v2 of a patchset (now just patch) which addresses a
bug in a new feature which is causing major link UP issues with
certain physical cards.
For a full summary of the issue:
1. During vnic initialization we get the following values from vnic
server regarding "Transmit / Receive Descriptor Requirement" (see
PAPR Table 584. CAPABILITIES Commands):
- LSO Tx frame = 0x0F , header offsets + L2, L3, L4 headers required
- CSO Tx frame = 0x0C , header offsets + L2 header required
- standard frame = 0x0C , header offsets + L2 header required
2. Assume we are dealing with only "standard frames" from now on (no
CSO, no LSO)
3. When using 100G backing device, we don't hand vnic server any header
information and TX is successful
4. When using 25G backing device, we don't hand vnic server any header
information and TX fails and we get "Adapter Error" transport events.
The obvious issue here is that vnic client should be respecting the 0X0C
header requirement for standard frames. But 100G cards will also give
0x0C despite the fact that we know TX works if we ignore it. That being
said, we still must respect values given from the managing server. Will
need to work with them going forward to hopefully get 100G cards to
return 0x00 for this bitstring so the performance gains of using
send_subcrq_direct can be continued.
Thanks Simon for review on v1 [1]. Much appreciated.
Changes in v2:
- drop the statistics tracking patch (send to net-next)
- Fix formatting and commit of Fixes tag
Nick Child (1):
ibmvnic: Inspect header requirements before using scrq direct
drivers/net/ethernet/ibm/ibmvnic.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
--
2.43.5
Powered by blists - more mailing lists