[Cc: +Karol]
Dear Martin,
Am 16.02.24 um 15:18 schrieb Martin Kulas:
My time-sensitive user space application reads out
the hardware TX timestamp via poll() and recvmsg(MSG_ERRQUEUE).
On an Intel E810-XXVDA2 (for SFP), it takes roughly 700 microseconds
until the TX timestamp is available in user space (Linux 6.7.4).
This latency of 700 microseconds is far too high for my application.
For comparison, on an Intel X550 card (Twisted pair),
my application retrieves the TX timestamp in roughly 30 microseconds
which is acceptable.
The output of ethtool of the tested E810-XXVDA2:
# ethtool -i enp65s0f1np1
driver: ice
version: 6.7.4
firmware-version: 4.40 0x8001c96c 1.3534.0
expansion-rom-version:
bus-info: 0000:41:00.1
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: yes
#
When searching for a solution about this high latency TX timestamp read,
I found the following thread from 2022:
https://patchwork.ozlabs.org/project/intel-wired-lan/patch/[email protected]/#2963591
Is this patch already in the current Linux Kernel 6.7.4 or is it pending?
In the metadata on the patchwork page it says *Accepted*, and it seems
to be commit 1229b33973c7 (ice: Add low latency Tx timestamp read) added
to Linux 6.1-rc1, so it should be in Linux 6.1.
Please build the Linux kernel from this commit to rule out any
regression. (If that commit actually should support such low times that
you require. The commit message says something about 20 ms before.)
Can you recommend anything else in order to reduce the TX timestamp
read latency?
If you know a better place for this issue, please let me now!
I think this is the right place.
Kind regards,
Paul
[1]:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=1229b33973c7b89e989945a3edae7a17b6f909da