Messages in this thread | | | Date | Fri, 4 Dec 2015 12:53:35 +0100 | From | Ingo Molnar <> | Subject | Re: [PATCH] x86/rapl: Do not load in a guest |
| |
* Borislav Petkov <bp@alien8.de> wrote:
> On Fri, Dec 04, 2015 at 11:41:03AM +0100, Paolo Bonzini wrote: > > No, please don't. Why do you need a wrmsr instead of a rdmsr? If > > there's no RAPL domains, the device doesn't load. On hypervisors, > > reading random MSRs is generally safe. > > Well, we could not do anything, sure, that's an option too. It would > only be the annoying error message. Which is > > pr_err("no valid rapl domains found in package %d\n", rp->id); > > I guess we can tone that down as apparently it is not an error to > not have valid rapl domains anymore. Maybe kill it altogether: > rapl_detect_topology() will propagate the error and the driver won't > load...
So given than nothing really tells us in a clear way whether RAPL is supported or not on that kernel, it might be better to just centralize the 'detect RAPL' function, and print "x86/rapl: Feature detected" on bootup. That function can also install a synthetic CPUID bit, which all other code could use in a clean fashion.
Since it will be an __init function, there's not much of an overhead argument against it.
This way it becomes part of the CPUID infrastructure - and eventually it might even grow a real CPUID bit in future CPU models.
and we'll have a lot less RAPL detection muck all around. Win-win.
Thanks,
Ingo
| |