Messages in this thread | | | Date | Mon, 24 Apr 2023 21:08:37 +0200 | Subject | Re: [Intel-wired-lan] [PATCH v1 1/1] igc: enable multiple TXSTMP registers reporting TX timestamp. | From | Paul Menzel <> |
| |
[Resent with corrected address linux-kernel@ from original mail]
Am 24.04.23 um 21:01 schrieb Paul Menzel: > Dear Xiao Yan, > > > Am 23.04.23 um 09:53 schrieb gongxiao-intel: > > Your name is incorrectly configured. Please do (please correct the > spelling): > > $ git config --global user.name "Xiao Yan Gong" > $ git commit --amend -s --author="Xiao Yan Gong <xiaoyan.gong@intel.com>" > > Also, please remove the dot/period from the end of the commit message > summary. > >> The HW TX timestamps created by the NIC via socket options can be >> requested using the current network timestamps generation capability of >> SOF_TIMESTAMPING_TX_HARDWARE. The most common users of this socket flag >> is PTP, however other packet applications that require tx timestamps might >> also ask for it. >> >> The problem is that, when there is a lot of traffic, there is a high chance >> that the timestamps for a PTP packet will be lost if both PTP and Non-PTP > > non-PTP > >> packets use the same SOF_TIMESTAMPING_TX_HARDWARE causing the tx timeout. > > Is Linux logging this? If so, please paste such a message. > >> The root cause of this problem is that igc only use one TXSTMP >> register to > > use*s* > >> report TX timestamp. Such implementation intensify the race of TX >> timestamp > > intensif*ies* > >> query from multiple sockets. >> >> However, Intel i225/i226 controller has 4 TXSTMP registers. This patch fully >> utilizes 4 TXSTMP registers to reduce the race of TX timestamp query. >> >> This patch dedicates TXSTMP register 0 to all PTP packets. In most case, only >> one PTP sync process will run on a network port. So, one TXSTMP register is >> enough for PTP stream. >> >> For TXSTMP register 1 - 3, they are allocated to sockets round robin. >> And each > > register*s* > >> socket can only occupy one register at a time. So, at least 3 sockets >> can requiest > > request > >> TX timestamp simultaneously. > > Please add Signed-off-by line. > > How did you test your patch? > >> --- >> drivers/net/ethernet/intel/igc/igc.h | 24 +++-- >> drivers/net/ethernet/intel/igc/igc_base.h | 2 +- >> drivers/net/ethernet/intel/igc/igc_defines.h | 2 +- >> drivers/net/ethernet/intel/igc/igc_main.c | 55 +++++++++-- >> drivers/net/ethernet/intel/igc/igc_ptp.c | 97 +++++++++++++------- >> drivers/net/ethernet/intel/igc/igc_regs.h | 4 +- >> 6 files changed, 129 insertions(+), 55 deletions(-) > > […] > > > Kind regards, > > Paul
| |