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]>
