lkml.org 
[lkml]   [2023]   [Apr]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [Intel-wired-lan] [PATCH v1 1/1] igc: enable multiple TXSTMP registers reporting TX timestamp.
From
[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

\
 
 \ /
  Last update: 2023-04-24 21:09    [W:0.018 / U:0.804 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site