Re: [PATCH] x86/rapl: Do not load in a guest

From: Ingo Molnar
Date: Fri Dec 04 2015 - 06:54:00 EST



* Borislav Petkov <bp@xxxxxxxxx> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/