OSDN Git Service

sched/cpuacct: Optimize away RCU read lock
authorChengming Zhou <zhouchengming@bytedance.com>
Sun, 20 Feb 2022 05:14:25 +0000 (13:14 +0800)
committerPeter Zijlstra <peterz@infradead.org>
Tue, 1 Mar 2022 15:18:38 +0000 (16:18 +0100)
commitdc6e0818bc9a0336d9accf3ea35d146d72aa7a18
tree81effaa3f69fa5c07bc23c9c0fb7899d149732af
parent248cc9993d1cc12b8e9ed716cc3fc09f6c3517dd
sched/cpuacct: Optimize away RCU read lock

Since cpuacct_charge() is called from the scheduler update_curr(),
we must already have rq lock held, then the RCU read lock can
be optimized away.

And do the same thing in it's wrapper cgroup_account_cputime(),
but we can't use lockdep_assert_rq_held() there, which defined
in kernel/sched/sched.h.

Suggested-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Chengming Zhou <zhouchengming@bytedance.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/r/20220220051426.5274-2-zhouchengming@bytedance.com
include/linux/cgroup.h
kernel/sched/cpuacct.c