From: Tejun Heo Date: Sun, 8 Mar 2026 07:42:12 +0000 (-1000) Subject: Revert "sched_ext: Use READ_ONCE() for the read side of dsq->nr update" X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=80a54b807d6c0b98e43522f102da61c953cfd502;p=thirdparty%2Flinux.git Revert "sched_ext: Use READ_ONCE() for the read side of dsq->nr update" This reverts commit 9adfcef334bf9c6ef68eaecfca5f45d18614efe0. dsq->nr is protected by dsq->lock and reading while holding the lock doesn't constitute a racy read. Signed-off-by: Tejun Heo Cc: zhidao su --- diff --git a/kernel/sched/ext.c b/kernel/sched/ext.c index f6bafcfe0b93f..d6d8073370130 100644 --- a/kernel/sched/ext.c +++ b/kernel/sched/ext.c @@ -1296,12 +1296,8 @@ static bool scx_dsq_priq_less(struct rb_node *node_a, static void dsq_mod_nr(struct scx_dispatch_q *dsq, s32 delta) { - /* - * scx_bpf_dsq_nr_queued() reads ->nr without locking. Use READ_ONCE() - * on the read side and WRITE_ONCE() on the write side to properly - * annotate the concurrent lockless access and avoid KCSAN warnings. - */ - WRITE_ONCE(dsq->nr, READ_ONCE(dsq->nr) + delta); + /* scx_bpf_dsq_nr_queued() reads ->nr without locking, use WRITE_ONCE() */ + WRITE_ONCE(dsq->nr, dsq->nr + delta); } static void refill_task_slice_dfl(struct scx_sched *sch, struct task_struct *p)