On Wed, 15 Jan 2025 14:59:31 +0800, Chwee-Lin Choong wrote: > The current implementation of ethtool --set-mm restricts > enabling the "verify_enabled" flag unless Tx preemption > (tx_enabled) is already enabled. By default, verification > is disabled, and enabling Tx preemption immediately activates > preemption. > > When verification is intended, users can only enable verification > after enabling tx_enabled, which temporarily deactivates preemption > until verification completes. This creates an inconsistent and > restrictive workflow. > > This patch modifies ethtool --set-mm to allow users to pre-enable > verification locally using ethtool before Tx preemption is enabled > via ethtool or negotiated through LLDP with a link partner. > > Current Workflow: > 1. Enable pmac_enabled ¡ú Preemption supported > 2. Enable tx_enabled ¡ú Preemption Tx enabled > 3. verify_enabled defaults to off ¡ú Preemption active > 4. Enable verify_enabled ¡ú Preemption deactivates ¡ú Verification starts > ¡ú Verification success ¡ú Preemption active. > > Proposed Workflow: > 1. Enable pmac_enabled ¡ú Preemption supported > 2. Enable verify_enabled ¡ú Preemption supported and Verify enabled > 3. Enable tx_enabled ¡ú Preemption Tx enabled ¡ú Verification starts > ¡ú Verification success ¡ú Preemption active. > Maybe you misunderstand the parameters of ethtool --set-mm. tools/testing/selftests/drivers/net/hw/ethtool_mm.sh will help you :)