Commit 37f68a29 authored by Srinivas Pandruvada's avatar Srinivas Pandruvada Committed by Zhang Rui

tools/power/turbostat: Move process to root cgroup

When available CPUs are reduced via cgroup cpuset controller, turbostat
will exit with errors (For example):
	get_counters: Could not migrate to CPU 0
	turbostat: re-initialized with num_cpus 20
	get_counters: Could not migrate to CPU 0
	turbostat: re-initialized with num_cpus 20

Move the turbostat to root cgroup, which has every CPU.

Writing the value 0 to a cgroup.procs file causes the writing
process to be moved to the corresponding cgroup.
Signed-off-by: default avatarSrinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Tested-by: default avatarZhang Rui <rui.zhang@intel.com>
parent f638858d
......@@ -6666,6 +6666,19 @@ void cmdline(int argc, char **argv)
int main(int argc, char **argv)
{
int fd, ret;
fd = open("/sys/fs/cgroup/cgroup.procs", O_WRONLY);
if (fd < 0)
goto skip_cgroup_setting;
ret = write(fd, "0\n", 2);
if (ret == -1)
perror("Can't update cgroup\n");
close(fd);
skip_cgroup_setting:
outf = stderr;
cmdline(argc, argv);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment