net: sched: remove qdisc_watchdog->last_expires
authorEric Dumazet <edumazet@google.com>
Wed, 8 Mar 2023 18:26:48 +0000 (18:26 +0000)
committerJakub Kicinski <kuba@kernel.org>
Fri, 10 Mar 2023 07:24:14 +0000 (23:24 -0800)
This field mirrors hrtimer softexpires, we can instead
use the existing helpers.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Link: https://lore.kernel.org/r/20230308182648.1150762-1-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
include/net/pkt_sched.h
net/sched/sch_api.c

index 2016839..bb0bd69 100644 (file)
@@ -64,7 +64,6 @@ static inline psched_time_t psched_get_time(void)
 }
 
 struct qdisc_watchdog {
-       u64             last_expires;
        struct hrtimer  timer;
        struct Qdisc    *qdisc;
 };
index aba789c..fdb8f42 100644 (file)
@@ -639,14 +639,16 @@ void qdisc_watchdog_schedule_range_ns(struct qdisc_watchdog *wd, u64 expires,
                return;
 
        if (hrtimer_is_queued(&wd->timer)) {
+               u64 softexpires;
+
+               softexpires = ktime_to_ns(hrtimer_get_softexpires(&wd->timer));
                /* If timer is already set in [expires, expires + delta_ns],
                 * do not reprogram it.
                 */
-               if (wd->last_expires - expires <= delta_ns)
+               if (softexpires - expires <= delta_ns)
                        return;
        }
 
-       wd->last_expires = expires;
        hrtimer_start_range_ns(&wd->timer,
                               ns_to_ktime(expires),
                               delta_ns,