[Intel-wired-lan] [PATCH v2 iwl-net 1/8] ice: respect netif readiness in AF_XDP ZC related ndo's
Rout, ChandanX
chandanx.rout at intel.com
Tue Jun 4 06:47:58 UTC 2024
>-----Original Message-----
>From: Intel-wired-lan <intel-wired-lan-bounces at osuosl.org> On Behalf Of
>Fijalkowski, Maciej
>Sent: Wednesday, May 29, 2024 4:54 PM
>To: intel-wired-lan at lists.osuosl.org
>Cc: Fijalkowski, Maciej <maciej.fijalkowski at intel.com>; Zaremba, Larysa
><larysa.zaremba at intel.com>; netdev at vger.kernel.org; Kubiak, Michal
><michal.kubiak at intel.com>; Nguyen, Anthony L
><anthony.l.nguyen at intel.com>; Karlsson, Magnus
><magnus.karlsson at intel.com>
>Subject: [Intel-wired-lan] [PATCH v2 iwl-net 1/8] ice: respect netif readiness in
>AF_XDP ZC related ndo's
>
>From: Michal Kubiak <michal.kubiak at intel.com>
>
>Address a scenario in which XSK ZC Tx produces descriptors to XDP Tx ring
>when link is either not yet fully initialized or process of stopping the netdev has
>already started. To avoid this, add checks against carrier readiness in
>ice_xsk_wakeup() and in ice_xmit_zc().
>One could argue that bailing out early in ice_xsk_wakeup() would be sufficient
>but given the fact that we produce Tx descriptors on behalf of NAPI that is
>triggered for Rx traffic, the latter is also needed.
>
>Bringing link up is an asynchronous event executed within ice_service_task so
>even though interface has been brought up there is still a time frame where link
>is not yet ok.
>
>Without this patch, when AF_XDP ZC Tx is used simultaneously with stack Tx, Tx
>timeouts occur after going through link flap (admin brings interface down then
>up again). HW seem to be unable to transmit descriptor to the wire after HW
>tail register bump which in turn causes bit __QUEUE_STATE_STACK_XOFF to be
>set forever as
>netdev_tx_completed_queue() sees no cleaned bytes on the input.
>
>Fixes: 126cdfe1007a ("ice: xsk: Improve AF_XDP ZC Tx and use batching API")
>Fixes: 2d4238f55697 ("ice: Add support for AF_XDP")
>Signed-off-by: Michal Kubiak <michal.kubiak at intel.com>
>Signed-off-by: Maciej Fijalkowski <maciej.fijalkowski at intel.com>
>---
> drivers/net/ethernet/intel/ice/ice_xsk.c | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
Tested-by: Chandan Kumar Rout <chandanx.rout at intel.com> (A Contingent Worker at Intel)
More information about the Intel-wired-lan
mailing list