From a21d38c846fce05ef55ab240f18fb19755bed16a Mon Sep 17 00:00:00 2001 From: Len Brown Date: Tue, 24 Mar 2015 16:37:35 -0400 Subject: tools/power turbostat: modprobe msr, if needed Some distros (Ubuntu) ship the msr driver as a module. If turbosat is run as root on those systems, and discovers that there is no /dev/cpu/cpu0/msr, it will now "modprobe msr" for the user. If not root, the modprobe attempt will fail, and turbostat will exit as before: turbostat: no /dev/cpu/0/msr, Try "# modprobe msr" : No such file or directory Signed-off-by: Len Brown --- tools/power/x86/turbostat/turbostat.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'tools') diff --git a/tools/power/x86/turbostat/turbostat.c b/tools/power/x86/turbostat/turbostat.c index f05a3f7b5d4c..50341a322cb8 100644 --- a/tools/power/x86/turbostat/turbostat.c +++ b/tools/power/x86/turbostat/turbostat.c @@ -1528,7 +1528,8 @@ void check_dev_msr() struct stat sb; if (stat("/dev/cpu/0/msr", &sb)) - err(-5, "no /dev/cpu/0/msr, Try \"# modprobe msr\" "); + if (system("/sbin/modprobe msr > /dev/null 2>&1")) + err(-5, "no /dev/cpu/0/msr, Try \"# modprobe msr\" "); } void check_permissions() @@ -2713,7 +2714,7 @@ int get_and_dump_counters(void) } void print_version() { - fprintf(stderr, "turbostat version 4.2 23 Mar, 2015" + fprintf(stderr, "turbostat version 4.3 24 Mar, 2015" " - Len Brown \n"); } -- cgit v1.2.3