On Fri, 4 Dec 2015 12:53:35 +0100 Ingo Molnar <[email protected]> wrote:
> > * Borislav Petkov <[email protected]> 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... > Since RAPL is not architectural, consistency of hw support needs lots of improvement at the least. This error message is valid in other than VM. Domain detection error already propagated. > 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 is good for the first level RAPL detection. The only way is to base detection on known CPU models. But I still think hypervisor check is sufficient. I don't there will ever be a use case for VM to control platform level power. A disaster for sure. > 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. > True, RAPL is not architectural today but it is supported by all Intel CPUs since SNB. > Thanks, > > Ingo -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

