Posix CPU timers store the interval in private storage for historical
reasons (it_interval used to be a non scalar representation on 32bit
systems). This is gone and there is no reason for duplicated storage
anymore.

Use it_interval everywhere.

Signed-off-by: Thomas Gleixner <t...@linutronix.de>
---
 include/linux/posix-timers.h   |    2 +-
 kernel/time/posix-cpu-timers.c |   13 ++++++-------
 2 files changed, 7 insertions(+), 8 deletions(-)

--- a/include/linux/posix-timers.h
+++ b/include/linux/posix-timers.h
@@ -12,7 +12,7 @@ struct siginfo;
 
 struct cpu_timer_list {
        struct list_head entry;
-       u64 expires, incr;
+       u64 expires;
        struct task_struct *task;
        int firing;
 };
--- a/kernel/time/posix-cpu-timers.c
+++ b/kernel/time/posix-cpu-timers.c
@@ -67,13 +67,13 @@ static void bump_cpu_timer(struct k_itim
        int i;
        u64 delta, incr;
 
-       if (timer->it.cpu.incr == 0)
+       if (!timer->it_interval)
                return;
 
        if (now < timer->it.cpu.expires)
                return;
 
-       incr = timer->it.cpu.incr;
+       incr = timer->it_interval;
        delta = now + incr - timer->it.cpu.expires;
 
        /* Don't use (incr*2 < delta), incr*2 might overflow. */
@@ -520,7 +520,7 @@ static void cpu_timer_fire(struct k_itim
                 */
                wake_up_process(timer->it_process);
                timer->it.cpu.expires = 0;
-       } else if (timer->it.cpu.incr == 0) {
+       } else if (!timer->it_interval) {
                /*
                 * One-shot timer.  Clear it as soon as it's fired.
                 */
@@ -606,7 +606,7 @@ static int posix_cpu_timer_set(struct k_
         */
 
        ret = 0;
-       old_incr = timer->it.cpu.incr;
+       old_incr = timer->it_interval;
        old_expires = timer->it.cpu.expires;
        if (unlikely(timer->it.cpu.firing)) {
                timer->it.cpu.firing = -1;
@@ -684,8 +684,7 @@ static int posix_cpu_timer_set(struct k_
         * Install the new reload setting, and
         * set up the signal and overrun bookkeeping.
         */
-       timer->it.cpu.incr = timespec64_to_ns(&new->it_interval);
-       timer->it_interval = ns_to_ktime(timer->it.cpu.incr);
+       timer->it_interval = timespec64_to_ktime(new->it_interval);
 
        /*
         * This acts as a modification timestamp for the timer,
@@ -724,7 +723,7 @@ static void posix_cpu_timer_get(struct k
        /*
         * Easy part: convert the reload time.
         */
-       itp->it_interval = ns_to_timespec64(timer->it.cpu.incr);
+       itp->it_interval = ktime_to_timespec64(timer->it_interval);
 
        if (!timer->it.cpu.expires)
                return;


Reply via email to