summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLen Brown <len.brown@intel.com>2015-03-24 21:37:35 +0100
committerLen Brown <len.brown@intel.com>2015-04-18 20:20:51 +0200
commita21d38c846fce05ef55ab240f18fb19755bed16a (patch)
tree994b93a6ba3b49cdd435c2058938f0d3ba6ad0c2
parenttools/power turbostat: dump MSR_TURBO_RATIO_LIMIT2 (diff)
downloadlinux-a21d38c846fce05ef55ab240f18fb19755bed16a.tar.xz
linux-a21d38c846fce05ef55ab240f18fb19755bed16a.zip
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 <len.brown@intel.com>
-rw-r--r--tools/power/x86/turbostat/turbostat.c5
1 files changed, 3 insertions, 2 deletions
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 <lenb@kernel.org>\n");
}