On Mon, May 19, 2025 at 03:19:10AM -0400, Abdul Rahim, Faizal wrote:
> From: Faizal Rahim <[email protected]>
> 
> Changes:
> 1. Introduce tx_enabled flag to control preemptible queue. tx_enabled
>    is set via mmsv module based on multiple factors, including link
>    up/down status, to determine if FPE is active or inactive.
> 2. Add priority field to TXDCTL for express queue to improve data
>    fetch performance.
> 3. Block preemptible queue setup in taprio unless reverse-tsn-txq-prio
>    private flag is set. Encourages adoption of standard queue priority
>    scheme for new features.
> 4. Hardware-padded frames from preemptible queues result in incorrect
>    mCRC values, as padding bytes are excluded from the computation. Pad
>    frames to at least 60 bytes using skb_padto() before transmission to
>    ensure the hardware includes padding in the mCRC calculation.
> 
> Tested preemption with taprio by:
> 1. Enable FPE:
>    ethtool --set-mm enp1s0 pmac-enabled on tx-enabled on verify-enabled on
> 2. Enable private flag to reverse TX queue priority:
>    ethtool --set-priv-flags enp1s0 reverse-txq-prio on
> 3. Enable preemptible queue in taprio:
>    taprio num_tc 4 map 0 1 2 3 0 0 0 0 0 0 0 0 0 0 0 0 \
>    queues 1@0 1@1 1@2 1@3 \
>    fp P P P E
> 
> Reviewed-by: Aleksandr Loktionov <[email protected]>
> Co-developed-by: Chwee-Lin Choong <[email protected]>
> Signed-off-by: Chwee-Lin Choong <[email protected]>
> Signed-off-by: Faizal Rahim <[email protected]>

Reviewed-by: Simon Horman <[email protected]>

Reply via email to