RE: [PATCH net v3 1/1] igc: read before write to SRRCTL register

From: Zulkifli, Muhammad Husaini
Date: Sun Apr 16 2023 - 22:54:45 EST


Hi Florian,

> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@xxxxxxxxxx> On Behalf Of
> Song, Yoong Siang
> Sent: Sunday, 16 April, 2023 10:19 AM
> To: Bezdeka, Florian <florian.bezdeka@xxxxxxxxxxx>; Brandeburg, Jesse
> <jesse.brandeburg@xxxxxxxxx>; Nguyen, Anthony L
> <anthony.l.nguyen@xxxxxxxxx>; 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>;
> Fijalkowski, Maciej <maciej.fijalkowski@xxxxxxxxx>; Vedang Patel
> <vedang.patel@xxxxxxxxx>; Joseph, Jithu <jithu.joseph@xxxxxxxxx>; Andre
> Guedes <andre.guedes@xxxxxxxxx>; Brouer, Jesper <brouer@xxxxxxxxxx>;
> Stanislav Fomichev <sdf@xxxxxxxxxx>; Keller, Jacob E
> <jacob.e.keller@xxxxxxxxx>; David Laight <David.Laight@xxxxxxxxxx>
> Cc: xdp-hints@xxxxxxxxxxxxxxx; netdev@xxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx; stable@xxxxxxxxxxxxxxx; intel-wired-
> lan@xxxxxxxxxxxxxxxx; bpf@xxxxxxxxxxxxxxx
> Subject: Re: [Intel-wired-lan] [PATCH net v3 1/1] igc: read before write to
> SRRCTL register
>
> On Saturday, April 15, 2023 5:20 PM, Florian Bezdeka
> <florian.bezdeka@xxxxxxxxxxx> wrote:
> >On 14.04.23 17:49, Song Yoong Siang wrote:
> >> igc_configure_rx_ring() function will be called as part of XDP
> >> program setup. If Rx hardware timestamp is enabled prio to XDP
> >> program setup, this timestamp enablement will be overwritten when
> >> buffer size is written into SRRCTL register.
> >>
> >
> >Hi all,
> >
> >I'm actually searching for the root cause of a similar problem (RX
> >timestamp lost) that I can reproduce here, but the setup is slightly
> different. The setup:
> >
> >- igc driver
> >- i225/226 network card
> >- When starting to transmit frames using XDP with zero copy enabled
> > another application (ptp4l) complains about missing RX timestamps
> >- Loading the XDP program has already been removed (not needed for
> > TX only)
> >- ptp4l is using the traditional socket API
> >- The RX timestamps seem to come back once we stop sending frames
> > using XDP
> >
> >The "zero copy support" enabled part is important. If ZC support is not
> >requested everything works fine.
> >
> >Any ideas?

Are you observing similar issue like below?
ptp4l: timed out while polling for tx timestamp
ptp4l: increasing tx_timestamp_timeout may correct this issue

If yes, only TXSTAMPO register is used for both PTP and non-PTP packets in
the current driver code. There is a possibility that the time stamp
for a PTP packet will be lost when there is a lot of traffic when multiple
applications request for hardware transmission timestamps.
Few months back, I submitted a patch series to enable the DMA
Timestamp for non-ptp packet which can resolve the above issue.
https://lore.kernel.org/netdev/20221018010733.4765-1-muhammad.husaini.zulkifli@xxxxxxxxx/T/
Will continuing back the activity soon.

But you might want to try with series submitted by Vinicius as well.
This patch series add support for four sets of timestamping register.
https://patchwork.ozlabs.org/project/intel-wired-lan/patch/20230228054534.1093483-2-vinicius.gomes@xxxxxxxxx/
https://patchwork.ozlabs.org/project/intel-wired-lan/patch/20230228054534.1093483-3-vinicius.gomes@xxxxxxxxx/
https://patchwork.ozlabs.org/project/intel-wired-lan/patch/20230228054534.1093483-4-vinicius.gomes@xxxxxxxxx/

Would it be possible for you to try any of the above patch series
and see if that fixes your problem?

Thanks,
Husaini



> >
> >Best regards,
> >Florian
> >
>
> Hi Florian,
>
> You means this patch does not help on your issue?
> Need to understand more on the setup and behavior to tell.
> Are ptp4l and XDP ZC Tx apps running on same queue or separate queue?
> I suggest you to run " sudo hwstamp_ctl -i eth0 -r 1 " multiple times in the
> middle to check the behavior.
>
> Thanks & Regards
> Siang
> _______________________________________________
> Intel-wired-lan mailing list
> Intel-wired-lan@xxxxxxxxxx
> https://lists.osuosl.org/mailman/listinfo/intel-wired-lan