diff options
author | Len Brown <len.brown@intel.com> | 2015-03-24 16:37:35 -0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2015-04-18 14:20:51 -0400 |
commit | a21d38c846fce05ef55ab240f18fb19755bed16a (patch) | |
tree | 994b93a6ba3b49cdd435c2058938f0d3ba6ad0c2 /tools/power | |
parent | fcd17211bd807533f6d4be20b1a4644e9191bfe2 (diff) |
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>
Diffstat (limited to 'tools/power')
-rw-r--r-- | tools/power/x86/turbostat/turbostat.c | 5 |
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"); } |