[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20151204094642.4c5e63e0@icelake>
Date: Fri, 4 Dec 2015 09:46:42 -0800
From: Jacob Pan <jacob.jun.pan@...ux.intel.com>
To: Ingo Molnar <mingo@...nel.org>
Cc: Borislav Petkov <bp@...en8.de>,
Paolo Bonzini <pbonzini@...hat.com>,
"H. Peter Anvin" <hpa@...or.com>,
Peter Zijlstra <peterz@...radead.org>,
Amy Wiles <amy.l.wiles@...el.com>,
"Rafael J. Wysocki" <rafael.j.wysocki@...el.com>,
LKML <linux-kernel@...r.kernel.org>,
Arnaldo Carvalho de Melo <acme@...nel.org>,
Ingo Molnar <mingo@...hat.com>,
Thomas Gleixner <tglx@...utronix.de>,
jacob.jun.pan@...ux.intel.com
Subject: Re: [PATCH] x86/rapl: Do not load in a guest
On Fri, 4 Dec 2015 12:53:35 +0100
Ingo Molnar <mingo@...nel.org> wrote:
>
> * Borislav Petkov <bp@...en8.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...
>
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 majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists