[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200323033207.32370-4-frederic@kernel.org>
Date: Mon, 23 Mar 2020 04:32:07 +0100
From: Frederic Weisbecker <frederic@...nel.org>
To: LKML <linux-kernel@...r.kernel.org>
Cc: Frederic Weisbecker <frederic@...nel.org>,
Sebastian Andrzej Siewior <bigeasy@...utronix.de>,
Peter Zijlstra <peterz@...radead.org>,
"Paul E . McKenney" <paulmck@...nel.org>,
Thomas Gleixner <tglx@...utronix.de>
Subject: [RFC PATCH 3/3] lockdep: Briefly comment current->hardirq_threadable usecases
We have yet to find a proper comment for rcu_iw_handler() though.
Signed-off-by: Frederic Weisbecker <frederic@...nel.org>
Cc: Thomas Gleixner <tglx@...utronix.de>
Cc: Peter Zijlstra <peterz@...radead.org>
Cc: Sebastian Andrzej Siewior <bigeasy@...utronix.de>
Cc: Paul E. McKenney <paulmck@...nel.org>
---
kernel/time/posix-cpu-timers.c | 1 +
kernel/time/tick-sched.c | 4 ++++
2 files changed, 5 insertions(+)
diff --git a/kernel/time/posix-cpu-timers.c b/kernel/time/posix-cpu-timers.c
index d29a06d60206..85902d756e21 100644
--- a/kernel/time/posix-cpu-timers.c
+++ b/kernel/time/posix-cpu-timers.c
@@ -1126,6 +1126,7 @@ void run_posix_cpu_timers(void)
if (!fastpath_timer_check(tsk))
return;
+ /* Should be offloaded to task_work at some future */
trace_hardirq_threadable();
if (!lock_task_sighand(tsk, &flags)) {
trace_hardirq_unthreadable();
diff --git a/kernel/time/tick-sched.c b/kernel/time/tick-sched.c
index 3e2dc9b8858c..d469972673e4 100644
--- a/kernel/time/tick-sched.c
+++ b/kernel/time/tick-sched.c
@@ -245,6 +245,10 @@ static void nohz_full_kick_func(struct irq_work *work)
static DEFINE_PER_CPU(struct irq_work, nohz_full_kick_work) = {
.func = nohz_full_kick_func,
+ /*
+ * Must stay in hardirq. Threading would mess up with tick
+ * dependencies.
+ */
.flags = ATOMIC_INIT(IRQ_WORK_HARD_IRQ),
};
--
2.25.0
Powered by blists - more mailing lists