Extract the clock ID (PROF/VIRT/SCHED) from the clock selector and use it
as argument to the sample functions. That allows to simplify them once all
callers are fixed.

Signed-off-by: Thomas Gleixner <t...@linutronix.de>
---
 kernel/time/posix-cpu-timers.c |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

--- a/kernel/time/posix-cpu-timers.c
+++ b/kernel/time/posix-cpu-timers.c
@@ -699,6 +699,7 @@ static int posix_cpu_timer_set(struct k_
 
 static void posix_cpu_timer_get(struct k_itimer *timer, struct itimerspec64 
*itp)
 {
+       clockid_t clkid = CPUCLOCK_WHICH(timer->it_clock);
        struct task_struct *p = timer->it.cpu.task;
        u64 now;
 
@@ -717,7 +718,7 @@ static void posix_cpu_timer_get(struct k
         * Sample the clock to take the difference with the expiry time.
         */
        if (CPUCLOCK_PERTHREAD(timer->it_clock)) {
-               cpu_clock_sample(timer->it_clock, p, &now);
+               cpu_clock_sample(clkid, p, &now);
        } else {
                struct sighand_struct *sighand;
                unsigned long flags;
@@ -737,7 +738,7 @@ static void posix_cpu_timer_get(struct k
                        timer->it.cpu.expires = 0;
                        return;
                } else {
-                       cpu_clock_sample_group(timer->it_clock, p, &now, false);
+                       cpu_clock_sample_group(clkid, p, &now, false);
                        unlock_task_sighand(p, &flags);
                }
        }


Reply via email to