mirror of
https://github.com/torvalds/linux.git
synced 2026-11-06 21:58:01 +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: 648616343c ("[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
This commit is contained in:
parent
5b819071e4
commit
ef60f61208
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user