* [PATCH] timers/itimer: Keep a nonzero value at CPU timer expiry
@ 2026-10-20 22:39 Hungyu Lin
2026-10-25 21:47 ` [tip: timers/urgent] " tip-bot2 for Hungyu Lin
0 siblings, 1 reply; 2+ messages in thread
From: Hungyu Lin @ 2026-10-20 22:39 UTC (permalink / raw)
To: anna-maria, frederic; +Cc: tglx, linux-kernel, stable, Hungyu Lin
get_cpu_itimer() returns a zero remaining time when the sampled CPU time
is exactly equal to the nonzero expiry. This makes an armed ITIMER_VIRTUAL
or ITIMER_PROF timer appear disarmed.
The cputime cleanup replaced cputime_le(), which implements <=, with <.
Restore the inclusive comparison so the equality case returns TICK_NSEC,
like the overdue case and set_process_cpu_timer().
Fixes: 648616343cdb ("[S390] cputime: add sparse checking and cleanup")
Cc: stable@vger.kernel.org
Signed-off-by: Hungyu Lin <dennylin0707@gmail.com>
---
kernel/time/itimer.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/time/itimer.c b/kernel/time/itimer.c
index 03a32dffc56c..f7de39769095 100644
--- a/kernel/time/itimer.c
+++ b/kernel/time/itimer.c
@@ -60,7 +60,7 @@ static void get_cpu_itimer(struct task_struct *tsk, unsigned int clock_id,
thread_group_sample_cputime(tsk, samples);
t = samples[clock_id];
- if (val < t)
+ if (val <= t)
/* about to fire */
val = TICK_NSEC;
else
--
2.43.0
^ permalink raw reply [flat|nested] 2+ messages in thread* [tip: timers/urgent] timers/itimer: Keep a nonzero value at CPU timer expiry
2026-10-20 22:39 [PATCH] timers/itimer: Keep a nonzero value at CPU timer expiry Hungyu Lin
@ 2026-10-25 21:47 ` tip-bot2 for Hungyu Lin
0 siblings, 0 replies; 2+ messages in thread
From: tip-bot2 for Hungyu Lin @ 2026-10-25 21:47 UTC (permalink / raw)
To: linux-tip-commits; +Cc: Hungyu Lin, Thomas Gleixner, stable, x86, linux-kernel
The following commit has been merged into the timers/urgent branch of tip:
Commit-ID: ef60f61208a30eb5b941b707debdf04517271b4f
Gitweb: https://git.kernel.org/tip/ef60f61208a30eb5b941b707debdf04517271b4f
Author: Hungyu Lin <dennylin0707@gmail.com>
AuthorDate: Tue, 20 Oct 2026 22:39:57
Committer: Thomas Gleixner <tglx@kernel.org>
CommitterDate: Sun, 25 Oct 2026 22:43:19 +01:00
timers/itimer: Keep a nonzero value at CPU timer expiry
get_cpu_itimer() returns a zero remaining time when the sampled CPU time
is exactly equal to the nonzero expiry. This makes an armed ITIMER_VIRTUAL
or ITIMER_PROF timer appear disarmed.
The cputime cleanup replaced cputime_le(), which implements <=, with <.
Restore the inclusive comparison so the equality case returns TICK_NSEC,
like the overdue case and set_process_cpu_timer().
Fixes: 648616343cdb ("[S390] cputime: add sparse checking and cleanup")
Signed-off-by: Hungyu Lin <dennylin0707@gmail.com>
Signed-off-by: Thomas Gleixner <tglx@kernel.org>
Cc: stable@vger.kernel.org
Link: https://patch.msgid.link/20261020223957.87842-1-dennylin0707@gmail.com
---
kernel/time/itimer.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/time/itimer.c b/kernel/time/itimer.c
index 03a32df..f7de397 100644
--- a/kernel/time/itimer.c
+++ b/kernel/time/itimer.c
@@ -60,7 +60,7 @@ static void get_cpu_itimer(struct task_struct *tsk, unsigned int clock_id,
thread_group_sample_cputime(tsk, samples);
t = samples[clock_id];
- if (val < t)
+ if (val <= t)
/* about to fire */
val = TICK_NSEC;
else
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-10-25 21:47 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-20 22:39 [PATCH] timers/itimer: Keep a nonzero value at CPU timer expiry Hungyu Lin
2026-10-25 21:47 ` [tip: timers/urgent] " tip-bot2 for Hungyu Lin
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®