From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C41162080C1 for ; Tue, 24 Feb 2026 16:35:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771950950; cv=none; b=fMUPcz1ueHrCRj8W2QSRo76HV2jgNhg49fvkAREq86nyP1YUTgRRJNWESnpcGJGZH5d+5+IJS5QiyqXv+LfvxLAi2X20jwdQup8ELcWx/7yQ3WwOTjJCTibUnyDMzhnqbBBN8Zqrd31Tqa7SdXoJGwOWWQY5tg7DIO5dEDFhBrA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771950950; c=relaxed/simple; bh=p4FEaiZI7ZWb048EpqwN5p7D4Tr8hag9vjLN+aynbho=; h=Date:Message-ID:From:To:Cc:Subject:References:MIME-Version: Content-Type; b=iLC/W/uXBrfI5EgYFGqglgIvIvJFToNrEk4NPClLjv2vWf85f7n9+JrtZ4eebF4g6yluW3OqSGMS/RRS0s7gUDkLpaZdCZpRmqMusIcB/i94oHvKsNrCY+tRnbT866XGMmNQkVyVYQI9KELQuEX1CmjBTSz6xRB8YfCrcQ9WV3g= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=uiWxFhzL; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="uiWxFhzL" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 002E0C116D0; Tue, 24 Feb 2026 16:35:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1771950950; bh=p4FEaiZI7ZWb048EpqwN5p7D4Tr8hag9vjLN+aynbho=; h=Date:From:To:Cc:Subject:References:From; b=uiWxFhzLzFqVmsiGzipgZ3HEsT8VLcp1+koehHxWDOY5dKACvn6y8B2GM0586TKQY DBYRTuk4Flo85L4V6dEKqgllo+aaoqukPFIP0e0p0gtWlgrjk86nROvXDaMsP9A/Yj BIcgoZfPAxCWl0st5TpmRUyIM7PS1dAeEt0XpEuWrCV96apt/svMHHx8dxPNpzsUgT qOq8UpjHUdVeArlKhDqR/S+UEAJVT9MZUrBOJ3wYVjn6bewtrsD2GP2DljngXK656h WhWgeDLiD5eq36znF8/G9OQr7j0MbjXiO0dU5kNx2SkcfZ4JMMwXgGtn+IPhXRjLom 6veZJFeqm9wPg== Date: Tue, 24 Feb 2026 17:35:47 +0100 Message-ID: <20260224163429.203610956@kernel.org> User-Agent: quilt/0.68 From: Thomas Gleixner To: LKML Cc: Anna-Maria Behnsen , John Stultz , Stephen Boyd , Daniel Lezcano , Juri Lelli , Vincent Guittot , Dietmar Eggemann , Steven Rostedt , Ben Segall , Mel Gorman , Valentin Schneider , x86@kernel.org, Peter Zijlstra , Frederic Weisbecker , Eric Dumazet Subject: [patch 07/48] sched: Use hrtimer_highres_enabled() References: <20260224163022.795809588@kernel.org> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Use the static branch based variant and thereby avoid following three pointers. Signed-off-by: Thomas Gleixner --- include/linux/hrtimer.h | 6 ------ kernel/sched/sched.h | 37 +++++++++---------------------------- 2 files changed, 9 insertions(+), 34 deletions(-) --- a/include/linux/hrtimer.h +++ b/include/linux/hrtimer.h @@ -146,12 +146,6 @@ static inline ktime_t hrtimer_expires_re return ktime_sub(timer->node.expires, hrtimer_cb_get_time(timer)); } -static inline int hrtimer_is_hres_active(struct hrtimer *timer) -{ - return IS_ENABLED(CONFIG_HIGH_RES_TIMERS) ? - timer->base->cpu_base->hres_active : 0; -} - #ifdef CONFIG_HIGH_RES_TIMERS extern unsigned int hrtimer_resolution; struct clock_event_device; --- a/kernel/sched/sched.h +++ b/kernel/sched/sched.h @@ -3019,25 +3019,19 @@ extern unsigned int sysctl_numa_balancin * - enabled by features * - hrtimer is actually high res */ -static inline int hrtick_enabled(struct rq *rq) +static inline bool hrtick_enabled(struct rq *rq) { - if (!cpu_active(cpu_of(rq))) - return 0; - return hrtimer_is_hres_active(&rq->hrtick_timer); + return cpu_active(cpu_of(rq)) && hrtimer_highres_enabled(); } -static inline int hrtick_enabled_fair(struct rq *rq) +static inline bool hrtick_enabled_fair(struct rq *rq) { - if (!sched_feat(HRTICK)) - return 0; - return hrtick_enabled(rq); + return sched_feat(HRTICK) && hrtick_enabled(rq); } -static inline int hrtick_enabled_dl(struct rq *rq) +static inline bool hrtick_enabled_dl(struct rq *rq) { - if (!sched_feat(HRTICK_DL)) - return 0; - return hrtick_enabled(rq); + return sched_feat(HRTICK_DL) && hrtick_enabled(rq); } extern void hrtick_start(struct rq *rq, u64 delay); @@ -3047,22 +3041,9 @@ static inline bool hrtick_active(struct } #else /* !CONFIG_SCHED_HRTICK: */ - -static inline int hrtick_enabled_fair(struct rq *rq) -{ - return 0; -} - -static inline int hrtick_enabled_dl(struct rq *rq) -{ - return 0; -} - -static inline int hrtick_enabled(struct rq *rq) -{ - return 0; -} - +static inline bool hrtick_enabled_fair(struct rq *rq) { return false; } +static inline bool hrtick_enabled_dl(struct rq *rq) { return false; } +static inline bool hrtick_enabled(struct rq *rq) { return false; } #endif /* !CONFIG_SCHED_HRTICK */ #ifndef arch_scale_freq_tick