RE: [PATCH v2 net 2/9] net: enetc: correct the tx_swbd statistics

From: Wei Fang
Date: Fri Feb 21 2025 - 03:34:37 EST


> > > I'm not sure "correct the statistics" is the best way to describe this
> > > change. Maybe "keep track of correct TXBD count in
> > > enetc_map_tx_tso_buffs()"?
> >
> > Hi Vladimir,
> >
> > Inspired by Michal, I think we don't need to keep the count variable, because
> > we already have index "i", we just need to record the value of the initial i at
> the
> > beginning. So I plan to do this optimization on the net-next tree in the future.
> > So I don't think it is necessary to modify enetc_map_tx_tso_hdr().
> >
>
> And what if 'i' wraps around at least one time and becomes greater than the
> initial 'i'? Instead of 'count' you would have to record the number of wraps.

I think this situation will not happen, because when calling
enetc_map_tx_tso_buffs()/enetc_map_tx_buffs()/enetc_lso_hw_offload(),
we always check whether the current free BDs are enough. The number of
free BDs is always <= bdr->bd_count, in the case you mentioned, the frame
will occupy more BDs than bdr->bd_count.

> Even if not possible now in specific cases, there should be no limitation on
> whether 'i' can wrap around in the loop or not (i.e. maybe some users want to
> try very small Tx rings etc.)