[PATCH net-next v1 3/5] net: stmmac: support fp parameter of tc-taprio
Vladimir Oltean
olteanv at gmail.com
Thu Aug 1 16:29:37 PDT 2024
On Wed, Jul 31, 2024 at 06:43:14PM +0800, Furong Xu wrote:
> tc-taprio can select whether traffic classes are express or preemptible.
>
> After some traffic tests, MAC merge layer statistics are all good.
>
> Local device:
> ethtool --include-statistics --json --show-mm eth1
> [ {
> "ifname": "eth1",
> "pmac-enabled": true,
> "tx-enabled": true,
> "tx-active": true,
> "tx-min-frag-size": 60,
> "rx-min-frag-size": 60,
> "verify-enabled": true,
> "verify-time": 100,
> "max-verify-time": 128,
> "verify-status": "SUCCEEDED",
> "statistics": {
> "MACMergeFrameAssErrorCount": 0,
> "MACMergeFrameSmdErrorCount": 0,
> "MACMergeFrameAssOkCount": 0,
> "MACMergeFragCountRx": 0,
> "MACMergeFragCountTx": 1398,
> "MACMergeHoldCount": 15783
In order for readers to really understand this output (including me),
could you also post the associated tc-taprio command, please?
You deleted the code that treated the Set-And-Hold-MAC GCL command -
and according to 802.1Q, that is the only source of Hold requests.
I _think_ that as a side effect of your reimplementation, every time the
gate for TC 0 opens, the HoldCount bumps by one. Would that be a correct
description?
The more unfortunate part is that I haven't yet come across a NIC
hardware design that would behave completely as you'd expect w.r.t. Hold
requests. In the case of DWMAC, I would expect that with a taprio
schedule that lacks any Set-And-Hold-MAC command, the HoldCount would
stay at zero. I'm not sure, given the way they piggy back onto gate 0
for Hold/Release, that this is possible :(
At least HoldCount stays constant with a tc-mqprio offload, right?
> }
> } ]
More information about the linux-arm-kernel
mailing list