summaryrefslogtreecommitdiff
path: root/libre/linux-libre-pae/0004-tick-rcu-Remove-obsolete-rcu_needs_cpu-parameters.patch
diff options
context:
space:
mode:
authorDavid P <megver83@parabola.nu>2022-05-18 23:20:23 -0400
committerDavid P <megver83@parabola.nu>2022-05-18 23:20:23 -0400
commit710ef7f43a256494083907d9e05c77652a9c1aa7 (patch)
tree77ca62e8cea397533843197606147ed304b554b7 /libre/linux-libre-pae/0004-tick-rcu-Remove-obsolete-rcu_needs_cpu-parameters.patch
parentbb2e133f3e85373ecc1cd6eefbd6609e83bc187b (diff)
downloadabslibre-710ef7f43a256494083907d9e05c77652a9c1aa7.tar.gz
abslibre-710ef7f43a256494083907d9e05c77652a9c1aa7.tar.bz2
abslibre-710ef7f43a256494083907d9e05c77652a9c1aa7.zip
updpkg: libre/linux-libre-pae 5.17.9-1
Signed-off-by: David P <megver83@parabola.nu>
Diffstat (limited to 'libre/linux-libre-pae/0004-tick-rcu-Remove-obsolete-rcu_needs_cpu-parameters.patch')
-rw-r--r--libre/linux-libre-pae/0004-tick-rcu-Remove-obsolete-rcu_needs_cpu-parameters.patch101
1 files changed, 101 insertions, 0 deletions
diff --git a/libre/linux-libre-pae/0004-tick-rcu-Remove-obsolete-rcu_needs_cpu-parameters.patch b/libre/linux-libre-pae/0004-tick-rcu-Remove-obsolete-rcu_needs_cpu-parameters.patch
new file mode 100644
index 000000000..a63635d1a
--- /dev/null
+++ b/libre/linux-libre-pae/0004-tick-rcu-Remove-obsolete-rcu_needs_cpu-parameters.patch
@@ -0,0 +1,101 @@
+From 1f17192df29b2410380147075754e8f40dc7af5b Mon Sep 17 00:00:00 2001
+From: Frederic Weisbecker <frederic@kernel.org>
+Date: Tue, 8 Feb 2022 17:16:33 +0100
+Subject: [PATCH 4/7] tick/rcu: Remove obsolete rcu_needs_cpu() parameters
+
+With the removal of CONFIG_RCU_FAST_NO_HZ, the parameters in
+rcu_needs_cpu() are not necessary anymore. Simply remove them.
+
+Signed-off-by: Frederic Weisbecker <frederic@kernel.org>
+Cc: Thomas Gleixner <tglx@linutronix.de>
+Cc: Peter Zijlstra <peterz@infradead.org>
+Cc: Paul E. McKenney <paulmck@kernel.org>
+Cc: Paul Menzel <pmenzel@molgen.mpg.de>
+---
+ include/linux/rcutiny.h | 3 +--
+ include/linux/rcutree.h | 2 +-
+ kernel/rcu/tree.c | 3 +--
+ kernel/time/tick-sched.c | 10 ++++------
+ 4 files changed, 7 insertions(+), 11 deletions(-)
+
+diff --git a/include/linux/rcutiny.h b/include/linux/rcutiny.h
+index 858f4d429946..5fed476f977f 100644
+--- a/include/linux/rcutiny.h
++++ b/include/linux/rcutiny.h
+@@ -64,9 +64,8 @@ static inline void rcu_softirq_qs(void)
+ rcu_tasks_qs(current, (preempt)); \
+ } while (0)
+
+-static inline int rcu_needs_cpu(u64 basemono, u64 *nextevt)
++static inline int rcu_needs_cpu(void)
+ {
+- *nextevt = KTIME_MAX;
+ return 0;
+ }
+
+diff --git a/include/linux/rcutree.h b/include/linux/rcutree.h
+index 53209d669400..6cc91291d078 100644
+--- a/include/linux/rcutree.h
++++ b/include/linux/rcutree.h
+@@ -19,7 +19,7 @@
+
+ void rcu_softirq_qs(void);
+ void rcu_note_context_switch(bool preempt);
+-int rcu_needs_cpu(u64 basem, u64 *nextevt);
++int rcu_needs_cpu(void);
+ void rcu_cpu_stall_reset(void);
+
+ /*
+diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
+index 73a4c9d07b86..5dae0da879ae 100644
+--- a/kernel/rcu/tree.c
++++ b/kernel/rcu/tree.c
+@@ -1086,9 +1086,8 @@ void rcu_irq_enter_irqson(void)
+ * Just check whether or not this CPU has non-offloaded RCU callbacks
+ * queued.
+ */
+-int rcu_needs_cpu(u64 basemono, u64 *nextevt)
++int rcu_needs_cpu(void)
+ {
+- *nextevt = KTIME_MAX;
+ return !rcu_segcblist_empty(&this_cpu_ptr(&rcu_data)->cblist) &&
+ !rcu_rdp_is_offloaded(this_cpu_ptr(&rcu_data));
+ }
+diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c
+index 0578c9301b17..4c62fa0f70f1 100644
+--- a/kernel/time/tick-sched.c
++++ b/kernel/time/tick-sched.c
+@@ -785,7 +785,7 @@ static inline bool local_timer_softirq_pending(void)
+
+ static ktime_t tick_nohz_next_event(struct tick_sched *ts, int cpu)
+ {
+- u64 basemono, next_tick, next_tmr, next_rcu, delta, expires;
++ u64 basemono, next_tick, delta, expires;
+ unsigned long basejiff;
+ unsigned int seq;
+
+@@ -808,7 +808,7 @@ static ktime_t tick_nohz_next_event(struct tick_sched *ts, int cpu)
+ * minimal delta which brings us back to this place
+ * immediately. Lather, rinse and repeat...
+ */
+- if (rcu_needs_cpu(basemono, &next_rcu) || arch_needs_cpu() ||
++ if (rcu_needs_cpu() || arch_needs_cpu() ||
+ irq_work_needs_cpu() || local_timer_softirq_pending()) {
+ next_tick = basemono + TICK_NSEC;
+ } else {
+@@ -819,10 +819,8 @@ static ktime_t tick_nohz_next_event(struct tick_sched *ts, int cpu)
+ * disabled this also looks at the next expiring
+ * hrtimer.
+ */
+- next_tmr = get_next_timer_interrupt(basejiff, basemono);
+- ts->next_timer = next_tmr;
+- /* Take the next rcu event into account */
+- next_tick = next_rcu < next_tmr ? next_rcu : next_tmr;
++ next_tick = get_next_timer_interrupt(basejiff, basemono);
++ ts->next_timer = next_tick;
+ }
+
+ /*
+--
+2.36.1
+