From: Miroslav Lichvar <mlichvar@redhat.com>
To: David Woodhouse <dwmw2@infradead.org>
Cc: Rodolfo Giometti <giometti@enneenne.com>,
Richard Cochran <richardcochran@gmail.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>,
John Stultz <jstultz@google.com>,
Thomas Gleixner <tglx@kernel.org>,
Stephen Boyd <sboyd@kernel.org>,
linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
Alexander Gordeev <agordeev@linux.ibm.com>
Subject: Re: [PATCH v4 3/4] pps: Always use ktime_get_snapshot_id() for pps_get_ts()
Date: Mon, 5 Oct 2026 11:16:06 +0200 [thread overview]
Message-ID: <asNq1o8TmdNdG45T@localhost> (raw)
In-Reply-To: <dd7a873caecab6c912e2c0f910d1e46818ea455d.camel@infradead.org>
On Fri, Oct 02, 2026 at 02:44:41PM +0100, David Woodhouse wrote:
> ┌──────────────────────────────┬─────┬──────┬──────┬──────┬─────┐
> │ capture method │ p50 │ p95 │ p99 │ max │ σ │
> ├──────────────────────────────┼─────┼──────┼──────┼──────┼─────┤
> │ pps-gpio (IRQ) │ 84 │ 1206 │ 4013 │ 4889 │ 688 │
> │ polling, stamp after edge │ 206 │ 536 │ 665 │ 1106 │ 286 │
> │ polling, bracketed counter │ 206 │ 545 │ 647 │ 811 │ 286 │
> │ polling, bracketed, raw MMIO │ 135 │ 359 │ 434 │ 564 │ 188 │
> │ entry.S counter capture │ 46 │ 109 │ 135 │ 206 │ 58 │
> └──────────────────────────────┴─────┴──────┴──────┴──────┴─────┘
The time to read the GPIO heavily depends on the HW. On the MIPS
ar71xx where I was using the polling driver, it was 85 nanoseconds
(the precision logged by the driver when loaded).
> (NB: We should be careful not to forget the common-mode hardware
> latency which could be different for the IRQ paths vs. the polling
> paths. On my list is a test where one CPU polls while the other takes
> the interrupt, so we can compare on the *same* pulse.)
Yes, that is the main advantage of the polling driver that it avoids
all those delays before the actual read of the clock.
Both pps-gpio and pps-gpio-poll can echo the input PPS signal back to
a different GPIO pin, so you could measure how the delays differ with
the two drivers on a scope.
--
Miroslav Lichvar
next prev parent reply other threads:[~2026-10-05 9:16 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-29 20:56 [PATCH v4 0/4] Add ntp_error to clock snapshot, enable NTP_PPS on tickless kernel David Woodhouse
2026-08-29 20:56 ` [PATCH v4 1/4] timekeeping: Apply extrapolated ntp_error to clock snapshots David Woodhouse
2026-08-29 20:57 ` [PATCH v4 2/4] pps: Drop the !NO_HZ_COMMON dependency from NTP_PPS David Woodhouse
2026-09-01 15:35 ` Rodolfo Giometti
2026-09-02 0:13 ` David Woodhouse
2026-09-28 13:37 ` David Woodhouse
2026-09-28 16:41 ` Rodolfo Giometti
2026-09-28 19:28 ` David Woodhouse
2026-09-29 6:33 ` Rodolfo Giometti
2026-09-29 9:32 ` David Woodhouse
2026-09-29 11:48 ` Rodolfo Giometti
2026-09-29 12:02 ` David Woodhouse
2026-09-30 1:28 ` David Woodhouse
2026-09-30 12:57 ` Rodolfo Giometti
2026-09-30 10:37 ` David Woodhouse
2026-09-30 12:57 ` Rodolfo Giometti
2026-09-30 14:05 ` David Woodhouse
2026-09-30 18:24 ` David Woodhouse
2026-10-01 8:20 ` Rodolfo Giometti
2026-10-01 9:08 ` David Woodhouse
2026-08-29 20:57 ` [PATCH v4 3/4] pps: Always use ktime_get_snapshot_id() for pps_get_ts() David Woodhouse
2026-09-01 15:35 ` Rodolfo Giometti
2026-09-01 23:56 ` David Woodhouse
2026-09-26 20:38 ` David Woodhouse
2026-09-28 7:58 ` Rodolfo Giometti
2026-09-28 12:59 ` David Woodhouse
2026-09-28 16:41 ` Rodolfo Giometti
2026-10-01 13:14 ` Miroslav Lichvar
2026-10-01 15:38 ` David Woodhouse
2026-10-02 7:04 ` Rodolfo Giometti
2026-10-02 9:07 ` David Woodhouse
2026-10-02 12:29 ` David Woodhouse
2026-10-02 13:44 ` David Woodhouse
2026-10-03 11:29 ` David Woodhouse
2026-10-05 9:16 ` Miroslav Lichvar [this message]
2026-08-29 20:57 ` [PATCH v4 4/4] [DO NOT MERGE] ptp: ptp_vmclock: Add simulated 1PPS support David Woodhouse
2026-09-01 15:35 ` [PATCH v4 0/4] Add ntp_error to clock snapshot, enable NTP_PPS on tickless kernel Rodolfo Giometti
2026-09-01 23:37 ` David Woodhouse
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=asNq1o8TmdNdG45T@localhost \
--to=mlichvar@redhat.com \
--cc=agordeev@linux.ibm.com \
--cc=andrew+netdev@lunn.ch \
--cc=davem@davemloft.net \
--cc=dwmw2@infradead.org \
--cc=edumazet@google.com \
--cc=giometti@enneenne.com \
--cc=jstultz@google.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=richardcochran@gmail.com \
--cc=sboyd@kernel.org \
--cc=tglx@kernel.org \
/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
all inboxes | Powered by JetHome®