mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "tip-bot2 for Thomas Weißschuh (Schneider Electric)" <tip-bot2@linutronix.de>
To: linux-tip-commits@vger.kernel.org
Cc: thomas.weissschuh@linutronix.de,
	Thomas Gleixner <tglx@kernel.org>,
	x86@kernel.org, linux-kernel@vger.kernel.org
Subject: [tip: timers/core] hrtimer: Rename hrtimer_defs.h to hrtimer_bases.h
Date: Tue, 07 Jul 2026 21:49:10 -0000	[thread overview]
Message-ID: <178346095092.744054.9462331878347577832.tip-bot2@tip-bot2> (raw)
In-Reply-To: <20260702-hrtimer-header-dependencies-v1-1-c50b19bda473@linutronix.de>

The following commit has been merged into the timers/core branch of tip:

Commit-ID:     03b5d4c2798234d9ee3c4a719a2fefe785a6aec4
Gitweb:        https://git.kernel.org/tip/03b5d4c2798234d9ee3c4a719a2fefe785a6aec4
Author:        Thomas Weißschuh (Schneider Electric) <thomas.weissschuh@linutronix.de>
AuthorDate:    Thu, 02 Jul 2026 11:41:58 +02:00
Committer:     Thomas Gleixner <tglx@kernel.org>
CommitterDate: Tue, 07 Jul 2026 23:43:44 +02:00

hrtimer: Rename hrtimer_defs.h to hrtimer_bases.h

This header was originally added for #defines and was later extended
with the hrtimer base structures. All the #defines have been removed
in the meantime, so the naming is off now.

Rename the header to fit its contents more.

This will also make the upcoming addition of some functions nicer.

Signed-off-by: Thomas Weißschuh (Schneider Electric) <thomas.weissschuh@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@kernel.org>
Link: https://patch.msgid.link/20260702-hrtimer-header-dependencies-v1-1-c50b19bda473@linutronix.de
---
 include/linux/hrtimer.h       |   2 +-
 include/linux/hrtimer_bases.h | 113 +++++++++++++++++++++++++++++++++-
 include/linux/hrtimer_defs.h  | 113 +---------------------------------
 3 files changed, 114 insertions(+), 114 deletions(-)
 create mode 100644 include/linux/hrtimer_bases.h
 delete mode 100644 include/linux/hrtimer_defs.h

diff --git a/include/linux/hrtimer.h b/include/linux/hrtimer.h
index 6862dea..8aa5852 100644
--- a/include/linux/hrtimer.h
+++ b/include/linux/hrtimer.h
@@ -12,7 +12,7 @@
 #ifndef _LINUX_HRTIMER_H
 #define _LINUX_HRTIMER_H
 
-#include <linux/hrtimer_defs.h>
+#include <linux/hrtimer_bases.h>
 #include <linux/hrtimer_rearm.h>
 #include <linux/hrtimer_types.h>
 #include <linux/init.h>
diff --git a/include/linux/hrtimer_bases.h b/include/linux/hrtimer_bases.h
new file mode 100644
index 0000000..8c10f45
--- /dev/null
+++ b/include/linux/hrtimer_bases.h
@@ -0,0 +1,113 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef _LINUX_HRTIMER_BASES_H
+#define _LINUX_HRTIMER_BASES_H
+
+#include <linux/ktime.h>
+#include <linux/timerqueue.h>
+#include <linux/seqlock.h>
+
+#ifdef CONFIG_64BIT
+# define __hrtimer_clock_base_align	____cacheline_aligned
+#else
+# define __hrtimer_clock_base_align
+#endif
+
+/**
+ * struct hrtimer_clock_base - the timer base for a specific clock
+ * @cpu_base:		per cpu clock base
+ * @index:		clock type index for per_cpu support when moving a
+ *			timer to a base on another cpu.
+ * @clockid:		clock id for per_cpu support
+ * @seq:		seqcount around __run_hrtimer
+ * @expires_next:	Absolute time of the next event in this clock base
+ * @running:		pointer to the currently running hrtimer
+ * @active:		red black tree root node for the active timers
+ * @offset:		offset of this clock to the monotonic base
+ */
+struct hrtimer_clock_base {
+	struct hrtimer_cpu_base		*cpu_base;
+	const unsigned int		index;
+	const clockid_t			clockid;
+	seqcount_raw_spinlock_t		seq;
+	ktime_t				expires_next;
+	struct hrtimer			*running;
+	struct timerqueue_linked_head	active;
+	ktime_t				offset;
+} __hrtimer_clock_base_align;
+
+enum hrtimer_base_type {
+	HRTIMER_BASE_MONOTONIC,
+	HRTIMER_BASE_REALTIME,
+	HRTIMER_BASE_BOOTTIME,
+	HRTIMER_BASE_TAI,
+	HRTIMER_BASE_MONOTONIC_SOFT,
+	HRTIMER_BASE_REALTIME_SOFT,
+	HRTIMER_BASE_BOOTTIME_SOFT,
+	HRTIMER_BASE_TAI_SOFT,
+	HRTIMER_MAX_CLOCK_BASES
+};
+
+/**
+ * struct hrtimer_cpu_base - the per cpu clock bases
+ * @lock:			lock protecting the base and associated clock bases and timers
+ * @cpu:			cpu number
+ * @active_bases:		Bitfield to mark bases with active timers
+ * @clock_was_set_seq:		Sequence counter of clock was set events
+ * @hres_active:		State of high resolution mode
+ * @deferred_rearm:		A deferred rearm is pending
+ * @deferred_needs_update:	The deferred rearm must re-evaluate the first timer
+ * @hang_detected:		The last hrtimer interrupt detected a hang
+ * @softirq_activated:		displays, if the softirq is raised - update of softirq
+ *				related settings is not required then.
+ * @nr_events:			Total number of hrtimer interrupt events
+ * @nr_retries:			Total number of hrtimer interrupt retries
+ * @nr_hangs:			Total number of hrtimer interrupt hangs
+ * @max_hang_time:		Maximum time spent in hrtimer_interrupt
+ * @softirq_expiry_lock:	Lock which is taken while softirq based hrtimer are expired
+ * @online:			CPU is online from an hrtimers point of view
+ * @timer_waiters:		A hrtimer_cancel() waiters for the timer callback to finish.
+ * @expires_next:		Absolute time of the next event, is required for remote
+ *				hrtimer enqueue; it is the total first expiry time (hard
+ *				and soft hrtimer are taken into account)
+ * @next_timer:			Pointer to the first expiring timer
+ * @softirq_expires_next:	Time to check, if soft queues needs also to be expired
+ * @softirq_next_timer:		Pointer to the first expiring softirq based timer
+ * @deferred_expires_next:	Cached expires next value for deferred rearm
+ * @clock_base:			Array of clock bases for this cpu
+ *
+ * Note: next_timer is just an optimization for __remove_hrtimer().
+ *	 Do not dereference the pointer because it is not reliable on
+ *	 cross cpu removals.
+ */
+struct hrtimer_cpu_base {
+	raw_spinlock_t			lock;
+	unsigned int			cpu;
+	unsigned int			active_bases;
+	unsigned int			clock_was_set_seq;
+	bool				hres_active;
+	bool				deferred_rearm;
+	bool				deferred_needs_update;
+	bool				hang_detected;
+	bool				softirq_activated;
+	bool				online;
+#ifdef CONFIG_HIGH_RES_TIMERS
+	unsigned int			nr_events;
+	unsigned short			nr_retries;
+	unsigned short			nr_hangs;
+	unsigned int			max_hang_time;
+#endif
+#ifdef CONFIG_PREEMPT_RT
+	spinlock_t			softirq_expiry_lock;
+	atomic_t			timer_waiters;
+#endif
+	ktime_t				expires_next;
+	struct hrtimer			*next_timer;
+	ktime_t				softirq_expires_next;
+	struct hrtimer			*softirq_next_timer;
+	ktime_t				deferred_expires_next;
+	struct hrtimer_clock_base	clock_base[HRTIMER_MAX_CLOCK_BASES];
+	call_single_data_t		csd;
+} ____cacheline_aligned;
+
+
+#endif
diff --git a/include/linux/hrtimer_defs.h b/include/linux/hrtimer_defs.h
deleted file mode 100644
index 52ed9e4..0000000
--- a/include/linux/hrtimer_defs.h
+++ /dev/null
@@ -1,113 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-#ifndef _LINUX_HRTIMER_DEFS_H
-#define _LINUX_HRTIMER_DEFS_H
-
-#include <linux/ktime.h>
-#include <linux/timerqueue.h>
-#include <linux/seqlock.h>
-
-#ifdef CONFIG_64BIT
-# define __hrtimer_clock_base_align	____cacheline_aligned
-#else
-# define __hrtimer_clock_base_align
-#endif
-
-/**
- * struct hrtimer_clock_base - the timer base for a specific clock
- * @cpu_base:		per cpu clock base
- * @index:		clock type index for per_cpu support when moving a
- *			timer to a base on another cpu.
- * @clockid:		clock id for per_cpu support
- * @seq:		seqcount around __run_hrtimer
- * @expires_next:	Absolute time of the next event in this clock base
- * @running:		pointer to the currently running hrtimer
- * @active:		red black tree root node for the active timers
- * @offset:		offset of this clock to the monotonic base
- */
-struct hrtimer_clock_base {
-	struct hrtimer_cpu_base		*cpu_base;
-	const unsigned int		index;
-	const clockid_t			clockid;
-	seqcount_raw_spinlock_t		seq;
-	ktime_t				expires_next;
-	struct hrtimer			*running;
-	struct timerqueue_linked_head	active;
-	ktime_t				offset;
-} __hrtimer_clock_base_align;
-
-enum hrtimer_base_type {
-	HRTIMER_BASE_MONOTONIC,
-	HRTIMER_BASE_REALTIME,
-	HRTIMER_BASE_BOOTTIME,
-	HRTIMER_BASE_TAI,
-	HRTIMER_BASE_MONOTONIC_SOFT,
-	HRTIMER_BASE_REALTIME_SOFT,
-	HRTIMER_BASE_BOOTTIME_SOFT,
-	HRTIMER_BASE_TAI_SOFT,
-	HRTIMER_MAX_CLOCK_BASES
-};
-
-/**
- * struct hrtimer_cpu_base - the per cpu clock bases
- * @lock:			lock protecting the base and associated clock bases and timers
- * @cpu:			cpu number
- * @active_bases:		Bitfield to mark bases with active timers
- * @clock_was_set_seq:		Sequence counter of clock was set events
- * @hres_active:		State of high resolution mode
- * @deferred_rearm:		A deferred rearm is pending
- * @deferred_needs_update:	The deferred rearm must re-evaluate the first timer
- * @hang_detected:		The last hrtimer interrupt detected a hang
- * @softirq_activated:		displays, if the softirq is raised - update of softirq
- *				related settings is not required then.
- * @nr_events:			Total number of hrtimer interrupt events
- * @nr_retries:			Total number of hrtimer interrupt retries
- * @nr_hangs:			Total number of hrtimer interrupt hangs
- * @max_hang_time:		Maximum time spent in hrtimer_interrupt
- * @softirq_expiry_lock:	Lock which is taken while softirq based hrtimer are expired
- * @online:			CPU is online from an hrtimers point of view
- * @timer_waiters:		A hrtimer_cancel() waiters for the timer callback to finish.
- * @expires_next:		Absolute time of the next event, is required for remote
- *				hrtimer enqueue; it is the total first expiry time (hard
- *				and soft hrtimer are taken into account)
- * @next_timer:			Pointer to the first expiring timer
- * @softirq_expires_next:	Time to check, if soft queues needs also to be expired
- * @softirq_next_timer:		Pointer to the first expiring softirq based timer
- * @deferred_expires_next:	Cached expires next value for deferred rearm
- * @clock_base:			Array of clock bases for this cpu
- *
- * Note: next_timer is just an optimization for __remove_hrtimer().
- *	 Do not dereference the pointer because it is not reliable on
- *	 cross cpu removals.
- */
-struct hrtimer_cpu_base {
-	raw_spinlock_t			lock;
-	unsigned int			cpu;
-	unsigned int			active_bases;
-	unsigned int			clock_was_set_seq;
-	bool				hres_active;
-	bool				deferred_rearm;
-	bool				deferred_needs_update;
-	bool				hang_detected;
-	bool				softirq_activated;
-	bool				online;
-#ifdef CONFIG_HIGH_RES_TIMERS
-	unsigned int			nr_events;
-	unsigned short			nr_retries;
-	unsigned short			nr_hangs;
-	unsigned int			max_hang_time;
-#endif
-#ifdef CONFIG_PREEMPT_RT
-	spinlock_t			softirq_expiry_lock;
-	atomic_t			timer_waiters;
-#endif
-	ktime_t				expires_next;
-	struct hrtimer			*next_timer;
-	ktime_t				softirq_expires_next;
-	struct hrtimer			*softirq_next_timer;
-	ktime_t				deferred_expires_next;
-	struct hrtimer_clock_base	clock_base[HRTIMER_MAX_CLOCK_BASES];
-	call_single_data_t		csd;
-} ____cacheline_aligned;
-
-
-#endif

  reply	other threads:[~2026-07-07 21:49 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-02  9:41 [PATCH 0/8] hrtimer: Untangle base definitions from hrtimer.h Thomas Weißschuh (Schneider Electric)
2026-07-02  9:41 ` [PATCH 1/8] hrtimer: Rename hrtimer_defs.h to hrtimer_bases.h Thomas Weißschuh (Schneider Electric)
2026-07-07 21:49   ` tip-bot2 for Thomas Weißschuh (Schneider Electric) [this message]
2026-07-02  9:41 ` [PATCH 2/8] hrtimer: Move hrtimer_callback_running() " Thomas Weißschuh (Schneider Electric)
2026-07-07 21:49   ` [tip: timers/core] " tip-bot2 for Thomas Weißschuh (Schneider Electric)
2026-07-02  9:42 ` [PATCH 3/8] hrtimer: Move hrtimer_update_function() to hrtimer.c Thomas Weißschuh (Schneider Electric)
2026-07-07 21:49   ` [tip: timers/core] " tip-bot2 for Thomas Weißschuh (Schneider Electric)
2026-07-02  9:42 ` [PATCH 4/8] tick: Explicitly include linux/hrtimer_bases.h Thomas Weißschuh (Schneider Electric)
2026-07-07 21:49   ` [tip: timers/core] " tip-bot2 for Thomas Weißschuh (Schneider Electric)
2026-07-02  9:42 ` [PATCH 5/8] hrtimer: " Thomas Weißschuh (Schneider Electric)
2026-07-07 21:49   ` [tip: timers/core] " tip-bot2 for Thomas Weißschuh (Schneider Electric)
2026-07-02  9:42 ` [PATCH 6/8] hrtimer: Explicitly include some necessary headers in hrtimer_rearm.h Thomas Weißschuh (Schneider Electric)
2026-07-07 21:49   ` [tip: timers/core] " tip-bot2 for Thomas Weißschuh (Schneider Electric)
2026-07-02  9:42 ` [PATCH 7/8] x86/speculation: Explicitly include linux/types.h Thomas Weißschuh (Schneider Electric)
2026-07-07 21:49   ` [tip: timers/core] " tip-bot2 for Thomas Weißschuh (Schneider Electric)
2026-07-02  9:42 ` [PATCH 8/8] hrtimer: Remove inclusion of hrtimer_bases.h remove from hrtimer.h Thomas Weißschuh (Schneider Electric)
2026-07-07 21:49   ` [tip: timers/core] " tip-bot2 for Thomas Weißschuh (Schneider Electric)

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=178346095092.744054.9462331878347577832.tip-bot2@tip-bot2 \
    --to=tip-bot2@linutronix.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tip-commits@vger.kernel.org \
    --cc=tglx@kernel.org \
    --cc=thomas.weissschuh@linutronix.de \
    --cc=x86@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®