Messages in this thread | | | Date | Wed, 23 Mar 2022 09:13:58 +0100 | From | Peter Zijlstra <> | Subject | Re: [External] Re: [PATCH v2 2/6] perf/core: Introduce percpu perf_cgroup |
| |
On Wed, Mar 23, 2022 at 12:33:51AM +0800, Chengming Zhou wrote: > On 2022/3/22 9:01 下午, Peter Zijlstra wrote: > > On Tue, Mar 22, 2022 at 08:08:30PM +0800, Chengming Zhou wrote: > >> Although we don't have incosistency problem any more, we can > >> have other problem like: > >> > >> CPU1 CPU2 > >> (in context_switch) (attach running task) > >> prev->cgroups = cgrp2 > >> perf_cgroup_sched_switch(prev, next) > >> cgrp2 == cgrp2 is True > >> > > > > Again, I'm not following, how can you attach to a running task from > > another CPU ? > > Hi Peter, I make a little testcase which can reproduce the race > problem, on system with PSI disabled. Because when PSI enabled, > cgroup_move_task() will hold rq lock to assign task->cgroups.
No, the problem is that you're talking about cgroup attach while I'm thinking of attaching a event to a task. And your picture has nothing to clarify.
Those pictures of yours could really do with a few more function names in them, otherwise it's absolutely unclear what code is running where.
| |