mlxbf-tmfifo: Drop Tx network packet when Tx TmFIFO is full

Bug #2051871 reported by Liming Sun
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux-bluefield (Ubuntu)
Invalid
Undecided
Unassigned
Jammy
Fix Committed
Undecided
Unassigned

Bug Description

SRU Justification:

[Impact]
This is a cherry-pick fix from upstream to drop Tx network packet when Tx TmFIFO is full.

[Fix]
    Starting from Linux 5.16 kernel, Tx timeout mechanism was added
    in the virtio_net driver which prints the "Tx timeout" warning
    message when a packet stays in Tx queue for too long. Below is an
    example of the reported message:

    "[494105.316739] virtio_net virtio1 tmfifo_net0: TX timeout on
    queue: 0, sq: output.0, vq: 0×1, name: output.0, usecs since
    last trans: 3079892256".

    This issue could happen when external host driver which drains the
    FIFO is restared, stopped or upgraded. To avoid such confusing
    "Tx timeout" messages, this commit adds logic to drop the outstanding
    Tx packet if it's not able to transmit in two seconds due to Tx FIFO
    full, which can be considered as congestion or out-of-resource drop.

    This commit also handles the special case that the packet is half-
    transmitted into the Tx FIFO. In such case, the packet is discarded
    with remaining length stored in vring->rem_padding. So paddings with
    zeros can be sent out when Tx space is available to maintain the
    integrity of the packet format. The padded packet will be dropped on
    the receiving side.

[Test Case]
Same functionality and testing as on BlueField-1/2/3. No functionality change.

[Regression Potential]
Same behavior from user perspective.

Changed in linux-bluefield (Ubuntu):
status: New → Invalid
Changed in linux-bluefield (Ubuntu Jammy):
status: New → Fix Committed
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the linux-bluefield/5.15.0-1037.39 kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-jammy-linux-bluefield' to 'verification-done-jammy-linux-bluefield'. If the problem still exists, change the tag 'verification-needed-jammy-linux-bluefield' to 'verification-failed-jammy-linux-bluefield'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: kernel-spammed-jammy-linux-bluefield-v2 verification-needed-jammy-linux-bluefield
tags: added: verification-done-jammy-linux-bluefield
removed: verification-needed-jammy-linux-bluefield
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.