On Wed Aug 20 2025, Miroslav Lichvar wrote:
> On Tue, Aug 19, 2025 at 04:31:49PM -0700, Jacob Keller wrote:
>> I'm having trouble interpreting what exactly this data shows, as its
>> quite a lot of data and numbers. I guess that it is showing when it
>> switches over to software timestamps.. It would be nice if ntpperf
>> showed number of events which were software vs hardware timestamping, as
>> thats likely the culprit. igb hardare only has a single outstanding Tx
>> timestamp at a time.
>
> The server doesn't have a way to tell the client (ntpperf) which
> timestamps are HW or SW, we can only guess from the measured offset as
> HW timestamps should be more accurate, but on the server side the
> number of SW and HW TX timestamps provided to the client can be
> monitored with the "chronyc serverstats" command. The server requests
> both SW and HW TX timestamps and uses the better one it gets from the
> kernel, if it can actually get one before it receives the next
> request from the same client (ntpperf simulates up to 16384 concurrent
> clients).
>
> When I run ntpperf at a fixed rate of 140000 requests per second
> for 10 seconds (-r 140000 -t 10), I get the following numbers.
>
> Without the patch:
> NTP daemon TX timestamps   : 28056
> NTP kernel TX timestamps   : 1012864
> NTP hardware TX timestamps : 387239
>
> With the patch:
> NTP daemon TX timestamps   : 28047
> NTP kernel TX timestamps   : 707674
> NTP hardware TX timestamps : 692326
>
> The number of HW timestamps is significantly higher with the patch, so
> that looks good.
>
> But when I increase the rate to 200000, I get this:
>
> Without the patch:
> NTP daemon TX timestamps   : 35835
> NTP kernel TX timestamps   : 1410956
> NTP hardware TX timestamps : 581575            
>
> With the patch:
> NTP daemon TX timestamps   : 476908
> NTP kernel TX timestamps   : 646146
> NTP hardware TX timestamps : 412095
>

Sebastian found a machine with i350 and gave me access.

I did run the same test as you mentioned here. But, my numbers are
completely different. Especially the number of hardware TX timestamps
are significantly lower overall.

Without the patch:

./ntpperf -i eno8303 -m X -d Y -s Z -I -r 200000 -t 10

NTP daemon RX timestamps   : 0
NTP daemon TX timestamps   : 565057
NTP kernel RX timestamps   : 100208
NTP kernel TX timestamps   : 281215
NTP hardware RX timestamps : 882823
NTP hardware TX timestamps : 136759

With the patch:

NTP daemon RX timestamps   : 0
NTP daemon TX timestamps   : 576561
NTP kernel RX timestamps   : 99232
NTP kernel TX timestamps   : 255634
NTP hardware RX timestamps : 868392
NTP hardware TX timestamps : 135429

What am I doing wrong? Here's my chrony config:

|########## i350 NTP performance regression test ###########
|local stratum 10
|allow X
|allow Y
|allow Z
|
|hwtimestamp eno0
| 
|clientloglimit 134217728
|log measurements statistics tracking
|logdir /var/log/chrony

Thanks,
Kurt

Attachment: signature.asc
Description: PGP signature

Reply via email to