diff options
Diffstat (limited to 'include/net/pkt_sched.h')
| -rw-r--r-- | include/net/pkt_sched.h | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/include/net/pkt_sched.h b/include/net/pkt_sched.h index e37fe3129c17..7eafb8d54470 100644 --- a/include/net/pkt_sched.h +++ b/include/net/pkt_sched.h | |||
| @@ -41,16 +41,17 @@ static inline void *qdisc_priv(struct Qdisc *q) | |||
| 41 | typedef u64 psched_time_t; | 41 | typedef u64 psched_time_t; |
| 42 | typedef long psched_tdiff_t; | 42 | typedef long psched_tdiff_t; |
| 43 | 43 | ||
| 44 | /* Avoid doing 64 bit divide by 1000 */ | 44 | /* Avoid doing 64 bit divide */ |
| 45 | #define PSCHED_US2NS(x) ((s64)(x) << 10) | 45 | #define PSCHED_SHIFT 6 |
| 46 | #define PSCHED_NS2US(x) ((x) >> 10) | 46 | #define PSCHED_TICKS2NS(x) ((s64)(x) << PSCHED_SHIFT) |
| 47 | #define PSCHED_NS2TICKS(x) ((x) >> PSCHED_SHIFT) | ||
| 47 | 48 | ||
| 48 | #define PSCHED_TICKS_PER_SEC PSCHED_NS2US(NSEC_PER_SEC) | 49 | #define PSCHED_TICKS_PER_SEC PSCHED_NS2TICKS(NSEC_PER_SEC) |
| 49 | #define PSCHED_PASTPERFECT 0 | 50 | #define PSCHED_PASTPERFECT 0 |
| 50 | 51 | ||
| 51 | static inline psched_time_t psched_get_time(void) | 52 | static inline psched_time_t psched_get_time(void) |
| 52 | { | 53 | { |
| 53 | return PSCHED_NS2US(ktime_to_ns(ktime_get())); | 54 | return PSCHED_NS2TICKS(ktime_to_ns(ktime_get())); |
| 54 | } | 55 | } |
| 55 | 56 | ||
| 56 | static inline psched_tdiff_t | 57 | static inline psched_tdiff_t |
| @@ -60,8 +61,8 @@ psched_tdiff_bounded(psched_time_t tv1, psched_time_t tv2, psched_time_t bound) | |||
| 60 | } | 61 | } |
| 61 | 62 | ||
| 62 | struct qdisc_watchdog { | 63 | struct qdisc_watchdog { |
| 63 | struct hrtimer timer; | 64 | struct tasklet_hrtimer timer; |
| 64 | struct Qdisc *qdisc; | 65 | struct Qdisc *qdisc; |
| 65 | }; | 66 | }; |
| 66 | 67 | ||
| 67 | extern void qdisc_watchdog_init(struct qdisc_watchdog *wd, struct Qdisc *qdisc); | 68 | extern void qdisc_watchdog_init(struct qdisc_watchdog *wd, struct Qdisc *qdisc); |
