[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250812074246.GC4067720@noisy.programming.kicks-ass.net>
Date: Tue, 12 Aug 2025 09:42:46 +0200
From: Peter Zijlstra <peterz@...radead.org>
To: Thomas Weißschuh <thomas.weissschuh@...utronix.de>
Cc: Anna-Maria Behnsen <anna-maria@...utronix.de>,
Frederic Weisbecker <frederic@...nel.org>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>, Juri Lelli <juri.lelli@...hat.com>,
Vincent Guittot <vincent.guittot@...aro.org>,
Dietmar Eggemann <dietmar.eggemann@....com>,
Steven Rostedt <rostedt@...dmis.org>,
Ben Segall <bsegall@...gle.com>, Mel Gorman <mgorman@...e.de>,
Valentin Schneider <vschneid@...hat.com>,
Matt Wu <wuqiang.matt@...edance.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Jaroslav Kysela <perex@...ex.cz>, Takashi Iwai <tiwai@...e.com>,
Sean Young <sean@...s.org>,
Mauro Carvalho Chehab <mchehab@...nel.org>,
Jan Kiszka <jan.kiszka@...mens.com>,
Kieran Bingham <kbingham@...nel.org>, linux-kernel@...r.kernel.org,
linux-sound@...r.kernel.org, linux-media@...r.kernel.org
Subject: Re: [PATCH 8/8] hrtimer: Remove hrtimer_clock_base::get_time
On Tue, Aug 12, 2025 at 08:08:16AM +0200, Thomas Weißschuh wrote:
> @@ -76,42 +77,34 @@ DEFINE_PER_CPU(struct hrtimer_cpu_base, hrtimer_bases) =
> {
> .index = HRTIMER_BASE_MONOTONIC,
> .clockid = CLOCK_MONOTONIC,
> - .get_time = &ktime_get,
> },
> {
> .index = HRTIMER_BASE_REALTIME,
> .clockid = CLOCK_REALTIME,
> - .get_time = &ktime_get_real,
> },
> {
> .index = HRTIMER_BASE_BOOTTIME,
> .clockid = CLOCK_BOOTTIME,
> - .get_time = &ktime_get_boottime,
> },
> {
> .index = HRTIMER_BASE_TAI,
> .clockid = CLOCK_TAI,
> - .get_time = &ktime_get_clocktai,
> },
> {
> .index = HRTIMER_BASE_MONOTONIC_SOFT,
> .clockid = CLOCK_MONOTONIC,
> - .get_time = &ktime_get,
> },
> {
> .index = HRTIMER_BASE_REALTIME_SOFT,
> .clockid = CLOCK_REALTIME,
> - .get_time = &ktime_get_real,
> },
> {
> .index = HRTIMER_BASE_BOOTTIME_SOFT,
> .clockid = CLOCK_BOOTTIME,
> - .get_time = &ktime_get_boottime,
> },
> {
> .index = HRTIMER_BASE_TAI_SOFT,
> .clockid = CLOCK_TAI,
> - .get_time = &ktime_get_clocktai,
> },
> },
> .csd = CSD_INIT(retrigger_next_event, NULL)
> @@ -1253,7 +1246,7 @@ static int __hrtimer_start_range_ns(struct hrtimer *timer, ktime_t tim,
> remove_hrtimer(timer, base, true, force_local);
>
> if (mode & HRTIMER_MODE_REL)
> - tim = ktime_add_safe(tim, base->get_time());
> + tim = ktime_add_safe(tim, __hrtimer_cb_get_time(base->clockid));
>
> tim = hrtimer_update_lowres(timer, tim, mode);
>
> @@ -1588,6 +1581,29 @@ static inline int hrtimer_clockid_to_base(clockid_t clock_id)
> }
> }
>
> +static ktime_t __hrtimer_cb_get_time(clockid_t clock_id)
> +{
> + switch (clock_id) {
> + case CLOCK_REALTIME:
> + return ktime_get_real();
> + case CLOCK_MONOTONIC:
> + return ktime_get();
> + case CLOCK_BOOTTIME:
> + return ktime_get_boottime();
> + case CLOCK_TAI:
> + return ktime_get_clocktai();
It would've been nice if these had the same order as the other array.
> + default:
> + WARN(1, "Invalid clockid %d. Using MONOTONIC\n", clock_id);
> + return ktime_get();
> + }
> +}
Powered by blists - more mailing lists