Commit 9c085817 authored by Prarit Bhargava's avatar Prarit Bhargava Committed by Len Brown

tools/power turbostat: Provide better debug messages for failed capabilities accesses

turbostat reports some capabilities access errors and not others.  Provide
the same debug message for all errors.

[lenb: remove extra quotes]

Cc: David Arcari <darcari@redhat.com>
Signed-off-by: default avatarPrarit Bhargava <prarit@redhat.com>
Signed-off-by: default avatarLen Brown <len.brown@intel.com>
parent 884a1f95
...@@ -340,7 +340,7 @@ starts a new interval. ...@@ -340,7 +340,7 @@ starts a new interval.
must be run as root. must be run as root.
Alternatively, non-root users can be enabled to run turbostat this way: Alternatively, non-root users can be enabled to run turbostat this way:
# setcap cap_sys_admin,cap_sys_rawio,cap_sys_nice=+ep ./turbostat # setcap cap_sys_admin,cap_sys_rawio,cap_sys_nice=+ep path/to/turbostat
# chmod +r /dev/cpu/*/msr # chmod +r /dev/cpu/*/msr
......
...@@ -670,7 +670,8 @@ static int perf_instr_count_open(int cpu_num) ...@@ -670,7 +670,8 @@ static int perf_instr_count_open(int cpu_num)
/* counter for cpu_num, including user + kernel and all processes */ /* counter for cpu_num, including user + kernel and all processes */
fd = perf_event_open(&pea, -1, cpu_num, -1, 0); fd = perf_event_open(&pea, -1, cpu_num, -1, 0);
if (fd == -1) { if (fd == -1) {
warn("cpu%d: perf instruction counter", cpu_num); warnx("capget(CAP_PERFMON) failed, try \"# setcap cap_sys_admin=ep %s\"",
progname);
BIC_NOT_PRESENT(BIC_IPC); BIC_NOT_PRESENT(BIC_IPC);
} }
...@@ -3502,9 +3503,6 @@ void msr_sum_record(void) ...@@ -3502,9 +3503,6 @@ void msr_sum_record(void)
/* /*
* set_my_sched_priority(pri) * set_my_sched_priority(pri)
* return previous * return previous
*
* if non-root, do this:
* # /sbin/setcap cap_sys_rawio,cap_sys_nice=+ep /usr/bin/turbostat
*/ */
int set_my_sched_priority(int priority) int set_my_sched_priority(int priority)
{ {
...@@ -3518,7 +3516,8 @@ int set_my_sched_priority(int priority) ...@@ -3518,7 +3516,8 @@ int set_my_sched_priority(int priority)
retval = setpriority(PRIO_PROCESS, 0, priority); retval = setpriority(PRIO_PROCESS, 0, priority);
if (retval) if (retval)
err(retval, "setpriority(%d)", priority); errx(retval, "capget(CAP_SYS_NICE) failed,try \"# setcap cap_sys_nice=ep %s\"",
progname);
errno = 0; errno = 0;
retval = getpriority(PRIO_PROCESS, 0); retval = getpriority(PRIO_PROCESS, 0);
...@@ -5476,7 +5475,8 @@ void print_dev_latency(void) ...@@ -5476,7 +5475,8 @@ void print_dev_latency(void)
fd = open(path, O_RDONLY); fd = open(path, O_RDONLY);
if (fd < 0) { if (fd < 0) {
warn("fopen %s\n", path); warnx("capget(CAP_SYS_ADMIN) failed, try \"# setcap cap_sys_admin=ep %s\"",
progname);
return; return;
} }
......
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