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>
This commit is contained in:
Len Brown 2015-03-24 16:37:35 -04:00
parent fcd17211bd
commit a21d38c846

View File

@ -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");
}