diff options
Diffstat (limited to 'debian/patches-rt/hrtimer-consolidate-hrtimer_init-hrtimer_init_sleepe.patch')
-rw-r--r-- | debian/patches-rt/hrtimer-consolidate-hrtimer_init-hrtimer_init_sleepe.patch | 271 |
1 files changed, 0 insertions, 271 deletions
diff --git a/debian/patches-rt/hrtimer-consolidate-hrtimer_init-hrtimer_init_sleepe.patch b/debian/patches-rt/hrtimer-consolidate-hrtimer_init-hrtimer_init_sleepe.patch deleted file mode 100644 index 7d620ef72..000000000 --- a/debian/patches-rt/hrtimer-consolidate-hrtimer_init-hrtimer_init_sleepe.patch +++ /dev/null @@ -1,271 +0,0 @@ -From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> -Date: Tue, 3 Jul 2018 11:25:41 +0200 -Subject: [PATCH v2] hrtimer: consolidate hrtimer_init() + hrtimer_init_sleeper() calls -Origin: https://www.kernel.org/pub/linux/kernel/projects/rt/5.2/older/patches-5.2.17-rt9.tar.xz - -hrtimer_init_sleeper() calls require a prior initialisation of the -hrtimer object with hrtimer_init(). Lets make the initialisation of -the hrtimer object part of hrtimer_init_sleeper(). To remain -consistent consider init_on_stack as well. - -Beside adapting the hrtimer_init_sleeper[_on_stack]() functions, call -sites need to be updated as well. - -Link: http://lkml.kernel.org/r/20180703092541.2870-1-anna-maria@linutronix.de -Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> -[anna-maria: Updating the commit message, add staging/android/vsoc.c] -Signed-off-by: Anna-Maria Gleixner <anna-maria@linutronix.de> ---- - block/blk-mq.c | 3 -- - drivers/staging/android/vsoc.c | 6 +---- - include/linux/hrtimer.h | 19 ++++++++++++++-- - include/linux/wait.h | 4 +-- - kernel/futex.c | 19 +++++++--------- - kernel/time/hrtimer.c | 46 ++++++++++++++++++++++++++++++++--------- - net/core/pktgen.c | 4 +-- - 7 files changed, 67 insertions(+), 34 deletions(-) - ---- a/block/blk-mq.c -+++ b/block/blk-mq.c -@@ -3423,10 +3423,9 @@ static bool blk_mq_poll_hybrid_sleep(str - kt = nsecs; - - mode = HRTIMER_MODE_REL; -- hrtimer_init_on_stack(&hs.timer, CLOCK_MONOTONIC, mode); -+ hrtimer_init_sleeper_on_stack(&hs, CLOCK_MONOTONIC, mode, current); - hrtimer_set_expires(&hs.timer, kt); - -- hrtimer_init_sleeper(&hs, current); - do { - if (blk_mq_rq_state(rq) == MQ_RQ_COMPLETE) - break; ---- a/drivers/staging/android/vsoc.c -+++ b/drivers/staging/android/vsoc.c -@@ -437,12 +437,10 @@ static int handle_vsoc_cond_wait(struct - return -EINVAL; - wake_time = ktime_set(arg->wake_time_sec, arg->wake_time_nsec); - -- hrtimer_init_on_stack(&to->timer, CLOCK_MONOTONIC, -- HRTIMER_MODE_ABS); -+ hrtimer_init_sleeper_on_stack(to, CLOCK_MONOTONIC, -+ HRTIMER_MODE_ABS, current); - hrtimer_set_expires_range_ns(&to->timer, wake_time, - current->timer_slack_ns); -- -- hrtimer_init_sleeper(to, current); - } - - while (1) { ---- a/include/linux/hrtimer.h -+++ b/include/linux/hrtimer.h -@@ -364,10 +364,17 @@ DECLARE_PER_CPU(struct tick_device, tick - /* Initialize timers: */ - extern void hrtimer_init(struct hrtimer *timer, clockid_t which_clock, - enum hrtimer_mode mode); -+extern void hrtimer_init_sleeper(struct hrtimer_sleeper *sl, clockid_t clock_id, -+ enum hrtimer_mode mode, -+ struct task_struct *task); - - #ifdef CONFIG_DEBUG_OBJECTS_TIMERS - extern void hrtimer_init_on_stack(struct hrtimer *timer, clockid_t which_clock, - enum hrtimer_mode mode); -+extern void hrtimer_init_sleeper_on_stack(struct hrtimer_sleeper *sl, -+ clockid_t clock_id, -+ enum hrtimer_mode mode, -+ struct task_struct *task); - - extern void destroy_hrtimer_on_stack(struct hrtimer *timer); - #else -@@ -377,6 +384,15 @@ static inline void hrtimer_init_on_stack - { - hrtimer_init(timer, which_clock, mode); - } -+ -+static inline void hrtimer_init_sleeper_on_stack(struct hrtimer_sleeper *sl, -+ clockid_t clock_id, -+ enum hrtimer_mode mode, -+ struct task_struct *task) -+{ -+ hrtimer_init_sleeper(sl, clock_id, mode, task); -+} -+ - static inline void destroy_hrtimer_on_stack(struct hrtimer *timer) { } - #endif - -@@ -481,9 +497,6 @@ extern long hrtimer_nanosleep(const stru - const enum hrtimer_mode mode, - const clockid_t clockid); - --extern void hrtimer_init_sleeper(struct hrtimer_sleeper *sl, -- struct task_struct *tsk); -- - extern int schedule_hrtimeout_range(ktime_t *expires, u64 delta, - const enum hrtimer_mode mode); - extern int schedule_hrtimeout_range_clock(ktime_t *expires, ---- a/include/linux/wait.h -+++ b/include/linux/wait.h -@@ -489,8 +489,8 @@ do { \ - int __ret = 0; \ - struct hrtimer_sleeper __t; \ - \ -- hrtimer_init_on_stack(&__t.timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); \ -- hrtimer_init_sleeper(&__t, current); \ -+ hrtimer_init_sleeper_on_stack(&__t, CLOCK_MONOTONIC, HRTIMER_MODE_REL, \ -+ current); \ - if ((timeout) != KTIME_MAX) \ - hrtimer_start_range_ns(&__t.timer, timeout, \ - current->timer_slack_ns, \ ---- a/kernel/futex.c -+++ b/kernel/futex.c -@@ -2722,10 +2722,9 @@ static int futex_wait(u32 __user *uaddr, - if (abs_time) { - to = &timeout; - -- hrtimer_init_on_stack(&to->timer, (flags & FLAGS_CLOCKRT) ? -- CLOCK_REALTIME : CLOCK_MONOTONIC, -- HRTIMER_MODE_ABS); -- hrtimer_init_sleeper(to, current); -+ hrtimer_init_sleeper_on_stack(to, (flags & FLAGS_CLOCKRT) ? -+ CLOCK_REALTIME : CLOCK_MONOTONIC, -+ HRTIMER_MODE_ABS, current); - hrtimer_set_expires_range_ns(&to->timer, *abs_time, - current->timer_slack_ns); - } -@@ -2824,9 +2823,8 @@ static int futex_lock_pi(u32 __user *uad - - if (time) { - to = &timeout; -- hrtimer_init_on_stack(&to->timer, CLOCK_REALTIME, -- HRTIMER_MODE_ABS); -- hrtimer_init_sleeper(to, current); -+ hrtimer_init_sleeper_on_stack(to, CLOCK_REALTIME, -+ HRTIMER_MODE_ABS, current); - hrtimer_set_expires(&to->timer, *time); - } - -@@ -3244,10 +3242,9 @@ static int futex_wait_requeue_pi(u32 __u - - if (abs_time) { - to = &timeout; -- hrtimer_init_on_stack(&to->timer, (flags & FLAGS_CLOCKRT) ? -- CLOCK_REALTIME : CLOCK_MONOTONIC, -- HRTIMER_MODE_ABS); -- hrtimer_init_sleeper(to, current); -+ hrtimer_init_sleeper_on_stack(to, (flags & FLAGS_CLOCKRT) ? -+ CLOCK_REALTIME : CLOCK_MONOTONIC, -+ HRTIMER_MODE_ABS, current); - hrtimer_set_expires_range_ns(&to->timer, *abs_time, - current->timer_slack_ns); - } ---- a/kernel/time/hrtimer.c -+++ b/kernel/time/hrtimer.c -@@ -1651,13 +1651,44 @@ static enum hrtimer_restart hrtimer_wake - return HRTIMER_NORESTART; - } - --void hrtimer_init_sleeper(struct hrtimer_sleeper *sl, struct task_struct *task) -+static void __hrtimer_init_sleeper(struct hrtimer_sleeper *sl, -+ clockid_t clock_id, -+ enum hrtimer_mode mode, -+ struct task_struct *task) - { -+ __hrtimer_init(&sl->timer, clock_id, mode); - sl->timer.function = hrtimer_wakeup; - sl->task = task; - } -+ -+/** -+ * hrtimer_init_sleeper - initialize sleeper to the given clock -+ * @sl: sleeper to be initialized -+ * @clock_id: the clock to be used -+ * @mode: timer mode abs/rel -+ * @task: the task to wake up -+ */ -+void hrtimer_init_sleeper(struct hrtimer_sleeper *sl, clockid_t clock_id, -+ enum hrtimer_mode mode, struct task_struct *task) -+{ -+ debug_init(&sl->timer, clock_id, mode); -+ __hrtimer_init_sleeper(sl, clock_id, mode, task); -+ -+} - EXPORT_SYMBOL_GPL(hrtimer_init_sleeper); - -+#ifdef CONFIG_DEBUG_OBJECTS_TIMERS -+void hrtimer_init_sleeper_on_stack(struct hrtimer_sleeper *sl, -+ clockid_t clock_id, -+ enum hrtimer_mode mode, -+ struct task_struct *task) -+{ -+ debug_object_init_on_stack(&sl->timer, &hrtimer_debug_descr); -+ __hrtimer_init_sleeper(sl, clock_id, mode, task); -+} -+EXPORT_SYMBOL_GPL(hrtimer_init_sleeper_on_stack); -+#endif -+ - int nanosleep_copyout(struct restart_block *restart, struct timespec64 *ts) - { - switch(restart->nanosleep.type) { -@@ -1681,8 +1712,6 @@ static int __sched do_nanosleep(struct h - { - struct restart_block *restart; - -- hrtimer_init_sleeper(t, current); -- - do { - set_current_state(TASK_INTERRUPTIBLE); - hrtimer_start_expires(&t->timer, mode); -@@ -1719,10 +1748,9 @@ static long __sched hrtimer_nanosleep_re - struct hrtimer_sleeper t; - int ret; - -- hrtimer_init_on_stack(&t.timer, restart->nanosleep.clockid, -- HRTIMER_MODE_ABS); -+ hrtimer_init_sleeper_on_stack(&t, restart->nanosleep.clockid, -+ HRTIMER_MODE_ABS, current); - hrtimer_set_expires_tv64(&t.timer, restart->nanosleep.expires); -- - ret = do_nanosleep(&t, HRTIMER_MODE_ABS); - destroy_hrtimer_on_stack(&t.timer); - return ret; -@@ -1740,7 +1768,7 @@ long hrtimer_nanosleep(const struct time - if (dl_task(current) || rt_task(current)) - slack = 0; - -- hrtimer_init_on_stack(&t.timer, clockid, mode); -+ hrtimer_init_sleeper_on_stack(&t, clockid, mode, current); - hrtimer_set_expires_range_ns(&t.timer, timespec64_to_ktime(*rqtp), slack); - ret = do_nanosleep(&t, mode); - if (ret != -ERESTART_RESTARTBLOCK) -@@ -1940,11 +1968,9 @@ schedule_hrtimeout_range_clock(ktime_t * - return -EINTR; - } - -- hrtimer_init_on_stack(&t.timer, clock_id, mode); -+ hrtimer_init_sleeper_on_stack(&t, clock_id, mode, current); - hrtimer_set_expires_range_ns(&t.timer, *expires, delta); - -- hrtimer_init_sleeper(&t, current); -- - hrtimer_start_expires(&t.timer, mode); - - if (likely(t.task)) ---- a/net/core/pktgen.c -+++ b/net/core/pktgen.c -@@ -2154,7 +2154,8 @@ static void spin(struct pktgen_dev *pkt_ - s64 remaining; - struct hrtimer_sleeper t; - -- hrtimer_init_on_stack(&t.timer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS); -+ hrtimer_init_sleeper_on_stack(&t, CLOCK_MONOTONIC, HRTIMER_MODE_ABS, -+ current); - hrtimer_set_expires(&t.timer, spin_until); - - remaining = ktime_to_ns(hrtimer_expires_remaining(&t.timer)); -@@ -2169,7 +2170,6 @@ static void spin(struct pktgen_dev *pkt_ - } while (ktime_compare(end_time, spin_until) < 0); - } else { - /* see do_nanosleep */ -- hrtimer_init_sleeper(&t, current); - do { - set_current_state(TASK_INTERRUPTIBLE); - hrtimer_start_expires(&t.timer, HRTIMER_MODE_ABS); |