Re: [Phishing Risk] [External] Re: [PATCH] sched/cpuacct: fix charge percpu cpuusage

From: Chengming Zhou
Date: Tue Feb 15 2022 - 07:23:22 EST


On 2022/2/15 2:57 上午, Tejun Heo wrote:
> On Mon, Feb 14, 2022 at 11:09:01AM +0100, Peter Zijlstra wrote:
>> --- a/kernel/sched/cpuacct.c
>> +++ b/kernel/sched/cpuacct.c
>> @@ -334,15 +334,13 @@ static struct cftype files[] = {
>> */
>> void cpuacct_charge(struct task_struct *tsk, u64 cputime)
>> {
>> - struct cpuacct *ca;
>> unsigned int cpu = task_cpu(tsk);
>> + struct cpuacct *ca;
>>
>> - rcu_read_lock();
>> + lockdep_assert_rq_held(cpu_rq(cpu));
>>
>> for (ca = task_ca(tsk); ca; ca = parent_ca(ca))
>> *per_cpu_ptr(ca->cpuusage, cpu) += cputime;
>> -
>> - rcu_read_unlock();
>
> And probably expand the same to cgroup_account_cputime[_field]() too.
>
> Thanks.
>

Good suggestion, will do.

Thanks.