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>
56 lines
901 B
INI
56 lines
901 B
INI
[global]
|
|
#
|
|
# Default Data Set
|
|
#
|
|
twoStepFlag 1
|
|
slaveOnly 0
|
|
priority1 248
|
|
priority2 248
|
|
domainNumber 0
|
|
clockClass 248
|
|
clockAccuracy 0xFE
|
|
offsetScaledLogVariance 0xFFFF
|
|
free_running 0
|
|
freq_est_interval 1
|
|
#
|
|
# Port Data Set
|
|
#
|
|
logAnnounceInterval 1
|
|
logSyncInterval -3
|
|
logMinPdelayReqInterval 0
|
|
announceReceiptTimeout 3
|
|
delayAsymmetry 0
|
|
fault_reset_interval 4
|
|
neighborPropDelayThresh 800
|
|
#
|
|
# Run time options
|
|
#
|
|
assume_two_step 1
|
|
logging_level 6
|
|
path_trace_enabled 1
|
|
follow_up_info 1
|
|
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 0x1
|
|
ptp_dst_mac 01:80:C2:00:00:0E
|
|
p2p_dst_mac 01:80:C2:00:00:0E
|
|
#
|
|
# Default interface options
|
|
#
|
|
network_transport L2
|
|
delay_mechanism P2P
|
|
time_stamping hardware
|