[RFC] Adding support for setting the affinity of the recording process
From: Yang Jihong
Date: Mon Jun 12 2023 - 06:42:33 EST
Hello everyone,
Currently, perf-record supports profiling an existing process, thread,
or a specified command.
Sometimes we may need to set CPU affinity of the target process before
recording:
# taskset -pc <cpus> <pid>
# perf record -p <pid> -- sleep 10
or:
# perf record -- `taskset -c <cpus> COMMAND`
I'm thinking about getting perf to support setting the affinity of the
recording process, for example:
1. set the CPU affinity of the <pid1> process to <cpus1>, <pid2> process
to <cpus2>, and record:
# perf record -p <pid1>/<cpus1>:<pid2>/<cpus2> -- sleep 10
and
2. set CPU affinity of the COMMAND and record:
# perf record --taskset-command <cpus> COMMAND
In doing so, perf, as an observer, actually changes some of the
properties of the target process, which may be contrary to the purpose
of perf tool.
Will we consider accepting this approach?
Thanks,
Yang.