[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <37183532-54ff-47c8-9955-af97005e0d46@linux.dev>
Date: Sun, 29 Jun 2025 16:50:27 +0100
From: Vadim Fedorenko <vadim.fedorenko@...ux.dev>
To: Thomas Gleixner <tglx@...utronix.de>, LKML <linux-kernel@...r.kernel.org>
Cc: netdev@...r.kernel.org, Richard Cochran <richardcochran@...il.com>,
Christopher Hall <christopher.s.hall@...el.com>,
John Stultz <jstultz@...gle.com>, Frederic Weisbecker <frederic@...nel.org>,
Anna-Maria Behnsen <anna-maria@...utronix.de>,
Miroslav Lichvar <mlichvar@...hat.com>,
Werner Abt <werner.abt@...nberg-usa.com>,
David Woodhouse <dwmw2@...radead.org>, Stephen Boyd <sboyd@...nel.org>,
Thomas Weißschuh <thomas.weissschuh@...utronix.de>,
Kurt Kanzenbach <kurt@...utronix.de>, Nam Cao <namcao@...utronix.de>,
Antoine Tenart <atenart@...nel.org>
Subject: Re: [patch 2/3] ptp: Use ktime_get_clock_ts64() for timestamping
On 26/06/2025 14:27, Thomas Gleixner wrote:
> The inlined ptp_read_system_[pre|post]ts() switch cases expand to a copious
> amount of text in drivers, e.g. ~500 bytes in e1000e. Adding auxiliary
> clock support to the inlines would increase it further.
>
> Replace the inline switch case with a call to ktime_get_clock_ts64(), which
> reduces the code size in drivers and allows to access auxiliary clocks once
> they are enabled in the IOCTL parameter filter.
>
> No functional change.
>
> Signed-off-by: Thomas Gleixner <tglx@...utronix.de>
> ---
> include/linux/ptp_clock_kernel.h | 34 ++++------------------------------
> 1 file changed, 4 insertions(+), 30 deletions(-)
>
> --- a/include/linux/ptp_clock_kernel.h
> +++ b/include/linux/ptp_clock_kernel.h
> @@ -477,40 +477,14 @@ static inline ktime_t ptp_convert_timest
>
> static inline void ptp_read_system_prets(struct ptp_system_timestamp *sts)
> {
> - if (sts) {
> - switch (sts->clockid) {
> - case CLOCK_REALTIME:
> - ktime_get_real_ts64(&sts->pre_ts);
> - break;
> - case CLOCK_MONOTONIC:
> - ktime_get_ts64(&sts->pre_ts);
> - break;
> - case CLOCK_MONOTONIC_RAW:
> - ktime_get_raw_ts64(&sts->pre_ts);
> - break;
> - default:
> - break;
> - }
> - }
> + if (sts)
> + ktime_get_clock_ts64(sts->clockid, &sts->pre_ts);
> }
>
> static inline void ptp_read_system_postts(struct ptp_system_timestamp *sts)
> {
> - if (sts) {
> - switch (sts->clockid) {
> - case CLOCK_REALTIME:
> - ktime_get_real_ts64(&sts->post_ts);
> - break;
> - case CLOCK_MONOTONIC:
> - ktime_get_ts64(&sts->post_ts);
> - break;
> - case CLOCK_MONOTONIC_RAW:
> - ktime_get_raw_ts64(&sts->post_ts);
> - break;
> - default:
> - break;
> - }
> - }
> + if (sts)
> + ktime_get_clock_ts64(sts->clockid, &sts->post_ts);
> }
>
> #endif
>
Reviewed-by: Vadim Fedorenko <vadim.fedorenko@...ux.dev>
Powered by blists - more mailing lists