summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python/stackcollapse.py
diff options
context:
space:
mode:
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>2026-09-11 12:19:00 +0200
committerTejun Heo <tj@kernel.org>2026-09-11 04:46:06 -1000
commitde99a40c54a6fe009e526657cf49790f7e8fcea0 (patch)
treee851cefe4c347800958cdba30c4c810e4267393b /tools/perf/scripts/python/stackcollapse.py
parentc367ce5b31ffd4d958f3f6c5fe1c9e820dc9f526 (diff)
downloadlinux-next-de99a40c54a6fe009e526657cf49790f7e8fcea0.tar.gz
linux-next-de99a40c54a6fe009e526657cf49790f7e8fcea0.zip
cgroup: Move cgrp_dead_ task+iwork into its own struct
cgrp_dead_tasks and cgrp_dead_tasks_iwork are independent per-CPU variables and are independently accessed via a this_cpu_ptr(). Having a custom struct with those two members makes it possible to have only one per-CPU accessor and access the second member via an offset. This makes the code a bit more compact and is a micro-optimization. Besides that, it allows cgrp_dead_tasks_iwork_fn() to access the list pointer via the passed iwork pointer. This not only eliminates the this_cpu_ptr() but also makes it possible to be invoked on a different CPU. This does not happen as of today but might if I can flush the irq_work items from another CPU during CPU-hotplug events. Create struct cgroup_dead with the per-CPU variables as members. Access the struct with a per-CPU accessor and use container_of() in the irq_work callback. Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Acked-by: Michal Koutný <mkoutny@suse.com> Signed-off-by: Tejun Heo <tj@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python/stackcollapse.py')
0 files changed, 0 insertions, 0 deletions