From: Jacob Keller <jacob.e.keller@intel.com>
To: Sebastian Andrzej Siewior <bigeasy@linutronix.de>,
Kurt Kanzenbach <kurt@linutronix.de>
Cc: Tony Nguyen <anthony.l.nguyen@intel.com>,
Przemek Kitszel <przemyslaw.kitszel@intel.com>,
Andrew Lunn <andrew+netdev@lunn.ch>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
"Jakub Kicinski" <kuba@kernel.org>,
Paolo Abeni <pabeni@redhat.com>,
Richard Cochran <richardcochran@gmail.com>,
Vinicius Costa Gomes <vinicius.gomes@intel.com>,
Paul Menzel <pmenzel@molgen.mpg.de>,
Vadim Fedorenko <vadim.fedorenko@linux.dev>,
Miroslav Lichvar <mlichvar@redhat.com>,
<intel-wired-lan@lists.osuosl.org>, <netdev@vger.kernel.org>
Subject: Re: [PATCH iwl-next v2] igb: Convert Tx timestamping to PTP aux worker
Date: Fri, 22 Aug 2025 16:55:32 -0700 [thread overview]
Message-ID: <ac94c56c-9b3b-4517-aa3d-c3e857699e0c@intel.com> (raw)
In-Reply-To: <20250822075200.L8_GUnk_@linutronix.de>
[-- Attachment #1.1: Type: text/plain, Size: 1799 bytes --]
On 8/22/2025 12:52 AM, Sebastian Andrzej Siewior wrote:
> On 2025-08-22 09:28:10 [+0200], Kurt Kanzenbach wrote:
>> The current implementation uses schedule_work() which is executed by the
>> system work queue to retrieve Tx timestamps. This increases latency and can
>> lead to timeouts in case of heavy system load.
>>
>> Therefore, switch to the PTP aux worker which can be prioritized and pinned
>> according to use case. Tested on Intel i210.
>>
>> Signed-off-by: Kurt Kanzenbach <kurt@linutronix.de>
>> ---
>> Changes in v2:
>> - Switch from IRQ to PTP aux worker due to NTP performance regression (Miroslav)
>> - Link to v1: https://lore.kernel.org/r/20250815-igb_irq_ts-v1-1-8c6fc0353422@linutronix.de
>
> For the i210 it makes sense to read it directly from IRQ avoiding the
> context switch and the delay resulting for it. For the e1000_82576 it
> makes sense to avoid the system workqueue and use a dedicated thread
> which is not CPU bound and could prioritized/ isolated further if
> needed.
> I don't understand *why* reading the TS in IRQ is causing this packet
> loss. This is also what the igc does and the performance improved
> afa141583d827 ("igc: Retrieve TX timestamp during interrupt handling")
>
> and here it causes the opposite?
>
> Sebastian
Miroslav reported a test using ntpperf which showed a pretty significant
impact for higher rates. It was indeed better for low rates, but was
much worse for high rates.
See the following:
https://lore.kernel.org/all/aKMbekefL4mJ23kW@localhost/
In all cases the use of the thread was better, so this improves the
behavior without regressing in the case of many more packets.
It is unclear exactly why the ntpperf test fails so badly in that case
with the higher rate for i210.
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 236 bytes --]
next prev parent reply other threads:[~2025-08-22 23:55 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-22 7:28 [PATCH iwl-next v2] igb: Convert Tx timestamping to PTP aux worker Kurt Kanzenbach
2025-08-22 7:52 ` Sebastian Andrzej Siewior
2025-08-22 23:55 ` Jacob Keller [this message]
2025-08-23 7:29 ` Kurt Kanzenbach
2025-08-25 7:53 ` Miroslav Lichvar
2025-08-25 9:22 ` Kurt Kanzenbach
2025-08-25 23:23 ` [Intel-wired-lan] " Jacob Keller
2025-08-25 23:28 ` Jacob Keller
2025-08-26 12:59 ` Sebastian Andrzej Siewior
2025-08-26 18:23 ` Jacob Keller
2025-08-27 12:57 ` Kurt Kanzenbach
2025-08-27 13:39 ` Paul Menzel
2025-08-27 16:22 ` Jacob Keller
2025-08-27 13:57 ` Miroslav Lichvar
2025-08-27 14:05 ` Kurt Kanzenbach
2025-08-27 14:10 ` Sebastian Andrzej Siewior
2025-08-27 14:41 ` Miroslav Lichvar
2025-08-27 14:52 ` Sebastian Andrzej Siewior
2025-08-27 16:21 ` Jacob Keller
2025-08-22 16:27 ` Vadim Fedorenko
2025-08-23 7:44 ` Kurt Kanzenbach
2025-08-25 13:18 ` Vadim Fedorenko
2025-08-25 23:24 ` Jacob Keller
2025-08-25 10:58 ` [Intel-wired-lan] " Loktionov, Aleksandr
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ac94c56c-9b3b-4517-aa3d-c3e857699e0c@intel.com \
--to=jacob.e.keller@intel.com \
--cc=andrew+netdev@lunn.ch \
--cc=anthony.l.nguyen@intel.com \
--cc=bigeasy@linutronix.de \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=intel-wired-lan@lists.osuosl.org \
--cc=kuba@kernel.org \
--cc=kurt@linutronix.de \
--cc=mlichvar@redhat.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=pmenzel@molgen.mpg.de \
--cc=przemyslaw.kitszel@intel.com \
--cc=richardcochran@gmail.com \
--cc=vadim.fedorenko@linux.dev \
--cc=vinicius.gomes@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).