[PATCH sched_ext/for-7.1] sched_ext: Drop spurious warning on kick during scheduler disable

Tejun Heo posted 1 patch 2 months, 1 week ago
kernel/sched/ext.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
[PATCH sched_ext/for-7.1] sched_ext: Drop spurious warning on kick during scheduler disable
Posted by Tejun Heo 2 months, 1 week ago
kick_cpus_irq_workfn() warns when scx_kick_syncs is NULL, but this can
legitimately happen when a BPF timer or other kick source races with
free_kick_syncs() during scheduler disable. Drop the pr_warn_once() and
add a comment explaining the race.

Signed-off-by: Tejun Heo <tj@kernel.org>
---
 kernel/sched/ext.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/kernel/sched/ext.c b/kernel/sched/ext.c
index b8dbae251fd5..012ca8bd70fb 100644
--- a/kernel/sched/ext.c
+++ b/kernel/sched/ext.c
@@ -7600,10 +7600,9 @@ static void kick_cpus_irq_workfn(struct irq_work *irq_work)
 	unsigned long *ksyncs;
 	s32 cpu;

-	if (unlikely(!ksyncs_pcpu)) {
-		pr_warn_once("kick_cpus_irq_workfn() called with NULL scx_kick_syncs");
+	/* can race with free_kick_syncs() during scheduler disable */
+	if (unlikely(!ksyncs_pcpu))
 		return;
-	}

 	ksyncs = rcu_dereference_bh(ksyncs_pcpu)->syncs;

--
2.53.0
Re: [PATCH sched_ext/for-7.1] sched_ext: Drop spurious warning on kick during scheduler disable
Posted by Zhao mengmeng 2 months, 1 week ago
LGTM.
Reviewed-by: Zhao Mengmeng <zhaomengmeng@kylinos.cn>
Re: [PATCH sched_ext/for-7.1] sched_ext: Drop spurious warning on kick during scheduler disable
Posted by Tejun Heo 2 months, 1 week ago
Applied to sched_ext/for-7.1 with your Reviewed-by tag.

Thanks.

--
tejun