This patch modifies sk_receive in order to use poll() on POLLERR instead of the tryagain loop as this resolves issues with drivers who do not return timestamps quickly enough. It also resolves the issue of wasting time repeating every microsecond. It lets the kernel sleep our application until the data or timeout arrives. This change also replaces the old tx_timestamp_retries config value with tx_timestamp_timeout specified in milliseconds (the smallest length of time poll accepts). This does have the side effect of increasing the minimum delay before missing a timestamp by up to 1ms, but the poll should return sooner in the normal case where a packet timestamp was not dropped. This change vastly improves some devices and cleans the code up by simplifying a race condition window due to drivers returning tx timestamp on the error queue. [ RC - removed the unused 'try_again' variable. ] Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
64 lines
1.0 KiB
INI
64 lines
1.0 KiB
INI
[global]
|
|
#
|
|
# Default Data Set
|
|
#
|
|
twoStepFlag 1
|
|
slaveOnly 0
|
|
priority1 128
|
|
priority2 128
|
|
domainNumber 0
|
|
clockClass 248
|
|
clockAccuracy 0xFE
|
|
offsetScaledLogVariance 0xFFFF
|
|
free_running 0
|
|
freq_est_interval 1
|
|
#
|
|
# Port Data Set
|
|
#
|
|
logAnnounceInterval 1
|
|
logSyncInterval 0
|
|
logMinDelayReqInterval 0
|
|
logMinPdelayReqInterval 0
|
|
announceReceiptTimeout 3
|
|
delayAsymmetry 0
|
|
fault_reset_interval 4
|
|
neighborPropDelayThresh 20000000
|
|
#
|
|
# Run time options
|
|
#
|
|
assume_two_step 0
|
|
logging_level 6
|
|
path_trace_enabled 0
|
|
follow_up_info 0
|
|
tx_timestamp_timeout 1
|
|
use_syslog 1
|
|
verbose 0
|
|
summary_interval 0
|
|
kernel_leap 1
|
|
#
|
|
# Servo Options
|
|
#
|
|
pi_proportional_const 0.0
|
|
pi_integral_const 0.0
|
|
pi_offset_const 0.0
|
|
clock_servo pi
|
|
#
|
|
# Transport options
|
|
#
|
|
transportSpecific 0x0
|
|
ptp_dst_mac 01:1B:19:00:00:00
|
|
p2p_dst_mac 01:80:C2:00:00:0E
|
|
udp6_scope 0x0E
|
|
#
|
|
# Default interface options
|
|
#
|
|
network_transport UDPv4
|
|
delay_mechanism E2E
|
|
time_stamping hardware
|
|
#
|
|
# Clock description
|
|
#
|
|
productDescription ;;
|
|
revisionData ;;
|
|
manufacturerIdentity 00:00:00
|