mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-01 22:54:01 +00:00
sched/cpuacct: Remove redundant RCU read lock
The cpuacct_account_field() and it's cgroup v2 wrapper cgroup_account_cputime_field() is only called from cputime in task_group_account_field(), which is already in RCU read-side critical section. So remove these redundant RCU read lock. Suggested-by: Tejun Heo <tj@kernel.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-3-zhouchengming@bytedance.com
This commit is contained in:
parent
dc6e0818bc
commit
3eba0505d0
2 changed files with 0 additions and 4 deletions
|
@ -804,11 +804,9 @@ static inline void cgroup_account_cputime_field(struct task_struct *task,
|
||||||
|
|
||||||
cpuacct_account_field(task, index, delta_exec);
|
cpuacct_account_field(task, index, delta_exec);
|
||||||
|
|
||||||
rcu_read_lock();
|
|
||||||
cgrp = task_dfl_cgroup(task);
|
cgrp = task_dfl_cgroup(task);
|
||||||
if (cgroup_parent(cgrp))
|
if (cgroup_parent(cgrp))
|
||||||
__cgroup_account_cputime_field(cgrp, index, delta_exec);
|
__cgroup_account_cputime_field(cgrp, index, delta_exec);
|
||||||
rcu_read_unlock();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#else /* CONFIG_CGROUPS */
|
#else /* CONFIG_CGROUPS */
|
||||||
|
|
|
@ -352,10 +352,8 @@ void cpuacct_account_field(struct task_struct *tsk, int index, u64 val)
|
||||||
{
|
{
|
||||||
struct cpuacct *ca;
|
struct cpuacct *ca;
|
||||||
|
|
||||||
rcu_read_lock();
|
|
||||||
for (ca = task_ca(tsk); ca != &root_cpuacct; ca = parent_ca(ca))
|
for (ca = task_ca(tsk); ca != &root_cpuacct; ca = parent_ca(ca))
|
||||||
__this_cpu_add(ca->cpustat->cpustat[index], val);
|
__this_cpu_add(ca->cpustat->cpustat[index], val);
|
||||||
rcu_read_unlock();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
struct cgroup_subsys cpuacct_cgrp_subsys = {
|
struct cgroup_subsys cpuacct_cgrp_subsys = {
|
||||||
|
|
Loading…
Reference in a new issue