Messages in this thread | | | Date | Wed, 4 Oct 2023 18:02:24 +0200 | From | Peter Zijlstra <> | Subject | Re: [PATCH] perf/core: Introduce cpuctx->cgrp_ctx_list |
| |
On Tue, Oct 03, 2023 at 09:08:44PM -0700, Namhyung Kim wrote:
> But after the change, it ended up iterating all pmus/events in the cpu > context if there's a cgroup event somewhere on the cpu context. > Unfortunately it includes uncore pmus which have much longer latency to > control.
Can you describe the problem in more detail please?
We have cgrp as part of the tree key: {cpu, pmu, cgroup, idx}, so it should be possible to find a specific cgroup for a cpu and or skip to the next cgroup on that cpu in O(log n) time.
> To fix the issue, I restored a linked list equivalent to cgrp_cpuctx_list > in the perf_cpu_context and link perf_cpu_pmu_contexts that have cgroup > events only. Also add new helpers to enable/disable and does ctx sched > in/out for cgroups.
Adding a list and duplicating the whole scheduling infrastructure seems 'unfortunate' at best.
| |