lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <87ikhodotj.fsf@jax.kurt.home>
Date: Fri, 12 Sep 2025 11:04:24 +0200
From: Kurt Kanzenbach <kurt@...utronix.de>
To: Miroslav Lichvar <mlichvar@...hat.com>, Jacob Keller
 <jacob.e.keller@...el.com>
Cc: Tony Nguyen <anthony.l.nguyen@...el.com>, Przemek Kitszel
 <przemyslaw.kitszel@...el.com>, Andrew Lunn <andrew+netdev@...n.ch>,
 "David S. Miller" <davem@...emloft.net>, Eric Dumazet
 <edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>, Paolo Abeni
 <pabeni@...hat.com>, Richard Cochran <richardcochran@...il.com>, Vinicius
 Costa Gomes <vinicius.gomes@...el.com>, Sebastian Andrzej Siewior
 <bigeasy@...utronix.de>, intel-wired-lan@...ts.osuosl.org,
 netdev@...r.kernel.org
Subject: Re: [Intel-wired-lan] [PATCH iwl-next] igb: Retrieve Tx timestamp
 directly from interrupt

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

Download attachment "signature.asc" of type "application/pgp-signature" (862 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ