From: Len Brown Date: Tue, 24 Mar 2015 20:37:35 +0000 (-0400) Subject: tools/power turbostat: modprobe msr, if needed X-Git-Tag: firefly_0821_release~176^2~1921^2~5 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=a21d38c846fce05ef55ab240f18fb19755bed16a;p=firefly-linux-kernel-4.4.55.git 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 --- 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"); }