sched/deadline: Move __dl_clear_params out of dl_bw lock
authorShang XiaoJing <shangxiaojing@huawei.com>
Sat, 27 Aug 2022 02:09:11 +0000 (10:09 +0800)
committerPeter Zijlstra <peterz@infradead.org>
Thu, 1 Sep 2022 09:19:55 +0000 (11:19 +0200)
As members in sched_dl_entity are independent with dl_bw, move
__dl_clear_params out of dl_bw lock.

Signed-off-by: Shang XiaoJing <shangxiaojing@huawei.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Daniel Bristot de Oliveira <bristot@kernel.org>
Link: https://lore.kernel.org/r/20220827020911.30641-1-shangxiaojing@huawei.com
kernel/sched/deadline.c

index 3bf4b12ec5b7f5db9645594eb2b521334421cdfb..d0fe6a20a9c9d0fb1e19ac4ea8de8be32f41704a 100644 (file)
@@ -431,8 +431,8 @@ static void task_non_contending(struct task_struct *p)
                                sub_rq_bw(&p->dl, &rq->dl);
                        raw_spin_lock(&dl_b->lock);
                        __dl_sub(dl_b, p->dl.dl_bw, dl_bw_cpus(task_cpu(p)));
-                       __dl_clear_params(p);
                        raw_spin_unlock(&dl_b->lock);
+                       __dl_clear_params(p);
                }
 
                return;