From: Thomas Gleixner <tglx@linutronix.de>
To: LKML <linux-kernel@vger.kernel.org>
Cc: netdev@vger.kernel.org,
"Richard Cochran" <richardcochran@gmail.com>,
"Christopher Hall" <christopher.s.hall@intel.com>,
"David Zage" <david.zage@intel.com>,
"John Stultz" <jstultz@google.com>,
"Frederic Weisbecker" <frederic@kernel.org>,
"Anna-Maria Behnsen" <anna-maria@linutronix.de>,
"Miroslav Lichvar" <mlichvar@redhat.com>,
"Werner Abt" <werner.abt@meinberg-usa.com>,
"David Woodhouse" <dwmw2@infradead.org>,
"Stephen Boyd" <sboyd@kernel.org>,
"Thomas Weißschuh" <thomas.weissschuh@linutronix.de>,
"Kurt Kanzenbach" <kurt@linutronix.de>,
"Nam Cao" <namcao@linutronix.de>,
"Alex Gieringer" <gieri@linutronix.de>
Subject: [patch 13/26] timekeeping: Provide ktime_get_ntp_seconds()
Date: Tue, 13 May 2025 17:13:18 +0200 (CEST) [thread overview]
Message-ID: <20250513145137.446283287@linutronix.de> (raw)
In-Reply-To: 20250513144615.252881431@linutronix.de
ntp_adjtimex() requires access to the actual time keeper per timekeeper
ID. Provide an interface.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
kernel/time/timekeeping.c | 9 +++++++++
kernel/time/timekeeping_internal.h | 3 +++
2 files changed, 12 insertions(+)
---
--- a/kernel/time/timekeeping.c
+++ b/kernel/time/timekeeping.c
@@ -2622,6 +2622,15 @@ int do_adjtimex(struct __kernel_timex *t
return ret;
}
+/*
+ * Invoked from NTP with the time keeper lock held, so lockless access is
+ * fine.
+ */
+long ktime_get_ntp_seconds(unsigned int id)
+{
+ return timekeeper_data[id].timekeeper.xtime_sec;
+}
+
#ifdef CONFIG_NTP_PPS
/**
* hardpps() - Accessor function to NTP __hardpps function
--- a/kernel/time/timekeeping_internal.h
+++ b/kernel/time/timekeeping_internal.h
@@ -45,4 +45,7 @@ static inline u64 clocksource_delta(u64
unsigned long timekeeper_lock_irqsave(void);
void timekeeper_unlock_irqrestore(unsigned long flags);
+/* NTP specific interface to access the current seconds value */
+long ktime_get_ntp_seconds(unsigned int id);
+
#endif /* _TIMEKEEPING_INTERNAL_H */
next prev parent reply other threads:[~2025-05-13 15:13 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-13 15:12 [patch 00/26] timekeeping: Provide support for independent PTP timekeepers Thomas Gleixner
2025-05-13 15:12 ` [patch 01/26] timekeeping: Remove hardcoded access to tk_core Thomas Gleixner
2025-05-13 15:12 ` [patch 02/26] timekeeping: Cleanup kernel doc of __ktime_get_real_seconds() Thomas Gleixner
2025-05-13 15:13 ` [patch 03/26] timekeeping: Avoid double notification in do_adjtimex() Thomas Gleixner
2025-05-13 15:13 ` [patch 04/26] timekeeping: Introduce timekeeper ID Thomas Gleixner
2025-05-13 15:13 ` [patch 05/26] time: Introduce PTP clocks Thomas Gleixner
2025-05-13 15:13 ` [patch 06/26] ntp: Add support for PTP timekeepers Thomas Gleixner
2025-05-13 15:13 ` [patch 07/26] ntp: Add timekeeper ID arguments to public functions Thomas Gleixner
2025-05-13 15:13 ` [patch 08/26] ntp: Rename __do_adjtimex() to ntp_adjtimex() Thomas Gleixner
2025-05-13 15:13 ` [patch 09/26] timekeeping: Make __timekeeping_advance() reusable Thomas Gleixner
2025-05-13 15:13 ` [patch 10/26] timekeeping: Prepare timekeeping_update_from_shadow() Thomas Gleixner
2025-05-13 15:13 ` [patch 11/26] timekeeping: Add clock_valid flag to timekeeper Thomas Gleixner
2025-05-13 15:13 ` [patch 12/26] timekeeping: Introduce PTP time keepers Thomas Gleixner
2025-05-13 15:13 ` Thomas Gleixner [this message]
2025-05-13 15:13 ` [patch 14/26] ntp: Use ktime_get_ntp_seconds() Thomas Gleixner
2025-05-13 15:13 ` [patch 15/26] timekeeping: Add PTP offset to timekeeper Thomas Gleixner
2025-05-13 15:13 ` [patch 16/26] timekeeping: Update PTP timekeepers on clocksource change Thomas Gleixner
2025-05-13 15:13 ` [patch 17/26] timekeeping: Provide time getters for PTP clocks Thomas Gleixner
2025-05-13 15:13 ` [patch 18/26] timekeeping: Add minimal posix-timers support " Thomas Gleixner
2025-05-13 15:13 ` [patch 19/26] timekeeping: Provide time setter " Thomas Gleixner
2025-05-13 15:13 ` [patch 20/26] timekeeping: Make timekeeping_inject_offset() reusable Thomas Gleixner
2025-05-13 15:13 ` [patch 21/26] timekeeping: Add PTP clock support to __timekeeping_inject_offset() Thomas Gleixner
2025-05-13 15:13 ` [patch 22/26] timekeeping: Make do_adjtimex() reusable Thomas Gleixner
2025-05-13 15:13 ` [patch 23/26] timekeeping: Prepare do_adtimex() for PTP clocks Thomas Gleixner
2025-05-13 15:13 ` [patch 24/26] timekeeping: Provide adjtimex() " Thomas Gleixner
2025-05-13 15:13 ` [patch 25/26] timekeeping: Provide update for PTP timekeepers Thomas Gleixner
2025-05-13 15:13 ` [patch 26/26] timekeeping: Provide interface to control independent PTP clocks Thomas Gleixner
2025-05-14 8:07 ` Antoine Tenart
2025-05-14 8:37 ` Thomas Gleixner
2025-05-14 7:12 ` [patch 00/26] timekeeping: Provide support for independent PTP timekeepers Miroslav Lichvar
2025-05-14 8:54 ` Thomas Gleixner
2025-05-14 15:58 ` Richard Cochran
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=20250513145137.446283287@linutronix.de \
--to=tglx@linutronix.de \
--cc=anna-maria@linutronix.de \
--cc=christopher.s.hall@intel.com \
--cc=david.zage@intel.com \
--cc=dwmw2@infradead.org \
--cc=frederic@kernel.org \
--cc=gieri@linutronix.de \
--cc=jstultz@google.com \
--cc=kurt@linutronix.de \
--cc=linux-kernel@vger.kernel.org \
--cc=mlichvar@redhat.com \
--cc=namcao@linutronix.de \
--cc=netdev@vger.kernel.org \
--cc=richardcochran@gmail.com \
--cc=sboyd@kernel.org \
--cc=thomas.weissschuh@linutronix.de \
--cc=werner.abt@meinberg-usa.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.