]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
posix-cpu-timers: Save interval only for armed timers
authorThomas Gleixner <tglx@linutronix.de>
Mon, 10 Jun 2024 16:42:15 +0000 (18:42 +0200)
committerFrederic Weisbecker <frederic@kernel.org>
Mon, 29 Jul 2024 19:57:34 +0000 (21:57 +0200)
There is no point to return the interval for timers which have been
disarmed.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Frederic Weisbecker <frederic@kernel.org>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
kernel/time/posix-cpu-timers.c

index 558be8d53e474ffb8d3e3ed2b5e3e1d83efdf889..5aac0886bbc763da82156c398b8bcfbe85449313 100644 (file)
@@ -809,17 +809,15 @@ static void posix_cpu_timer_get(struct k_itimer *timer, struct itimerspec64 *itp
 
        rcu_read_lock();
        p = cpu_timer_task_rcu(timer);
-       if (p) {
+       if (p && cpu_timer_getexpires(&timer->it.cpu)) {
                itp->it_interval = ktime_to_timespec64(timer->it_interval);
 
-               if (cpu_timer_getexpires(&timer->it.cpu)) {
-                       if (CPUCLOCK_PERTHREAD(timer->it_clock))
-                               now = cpu_clock_sample(clkid, p);
-                       else
-                               now = cpu_clock_sample_group(clkid, p, false);
+               if (CPUCLOCK_PERTHREAD(timer->it_clock))
+                       now = cpu_clock_sample(clkid, p);
+               else
+                       now = cpu_clock_sample_group(clkid, p, false);
 
-                       __posix_cpu_timer_get(timer, itp, now);
-               }
+               __posix_cpu_timer_get(timer, itp, now);
        }
        rcu_read_unlock();
 }