RE: [EXT] Re: [PATCH 1/1] net: fec: add initial XDP support

From: Shenwei Wang
Date: Thu Sep 29 2022 - 09:35:22 EST




> -----Original Message-----
> From: Andrew Lunn <andrew@xxxxxxx>
> Sent: Thursday, September 29, 2022 8:24 AM
> To: Shenwei Wang <shenwei.wang@xxxxxxx>
> Cc: Joakim Zhang <qiangqing.zhang@xxxxxxx>; David S. Miller
> <davem@xxxxxxxxxxxxx>; Eric Dumazet <edumazet@xxxxxxxxxx>; Jakub
> Kicinski <kuba@xxxxxxxxxx>; Paolo Abeni <pabeni@xxxxxxxxxx>; Alexei
> Starovoitov <ast@xxxxxxxxxx>; Daniel Borkmann <daniel@xxxxxxxxxxxxx>;
> Jesper Dangaard Brouer <hawk@xxxxxxxxxx>; John Fastabend
> <john.fastabend@xxxxxxxxx>; netdev@xxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx; imx@xxxxxxxxxxxxxxx
> Subject: Re: [EXT] Re: [PATCH 1/1] net: fec: add initial XDP support
>
> Caution: EXT Email
>
> > > > +struct fec_enet_xdp_stats {
> > > > + u64 xdp_pass;
> > > > + u64 xdp_drop;
> > > > + u64 xdp_xmit;
> > > > + u64 xdp_redirect;
> > > > + u64 xdp_xmit_err;
> > > > + u64 xdp_tx;
> > > > + u64 xdp_tx_err;
> > > > +};
> > > > +
> > > > + switch (act) {
> > > > + case XDP_PASS:
> > > > + rxq->stats.xdp_pass++;
> > >
> > > Since the stats are u64, and most machines using the FEC are 32 bit,
> > > you cannot just do an increment. Took a look at u64_stats_sync.h.
> > >
> >
>
> > As this increment is only executed under the NAPI kthread context, is
> > the protection still required?
>
> Are the statistics values read by ethtool under NAPI kthread context?
>

You are right. The read is not under NAPI context.

Thanks,
Shenwei

> Andrew