From: Peter Zijlstra <peterz@infradead.org>
To: "Liang, Kan" <kan.liang@intel.com>
Cc: "andi@firstfloor.org" <andi@firstfloor.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"kvm@vger.kernel.org" <kvm@vger.kernel.org>
Subject: Re: [PATCH V4 1/2] perf ignore LBR and extra_regs.
Date: Wed, 9 Jul 2014 18:41:46 +0200 [thread overview]
Message-ID: <20140709164146.GH9918@twins.programming.kicks-ass.net> (raw)
In-Reply-To: <37D7C6CF3E00A74B8858931C1DB2F077014D2729@SHSMSX103.ccr.corp.intel.com>
[-- Attachment #1: Type: text/plain, Size: 1865 bytes --]
On Wed, Jul 09, 2014 at 03:43:45PM +0000, Liang, Kan wrote:
>
>
> > -----Original Message-----
> > From: Peter Zijlstra [mailto:peterz@infradead.org]
> > Sent: Wednesday, July 09, 2014 10:58 AM
> > To: Liang, Kan
> > Cc: andi@firstfloor.org; linux-kernel@vger.kernel.org; kvm@vger.kernel.org
> > Subject: Re: [PATCH V4 1/2] perf ignore LBR and extra_regs.
> >
> > On Wed, Jul 09, 2014 at 02:32:28PM +0000, Liang, Kan wrote:
> > >
> > >
> > > > On Tue, Jul 08, 2014 at 09:49:40AM -0700, kan.liang@intel.com wrote:
> > > > > +/*
> > > > > + * Under certain circumstances, access certain MSR may cause #GP.
> > > > > + * The function tests if the input MSR can be safely accessed.
> > > > > + */
> > > > > +static inline bool check_msr(unsigned long msr) {
> > > > > + u64 value;
> > > > > +
> > > > > + if (rdmsrl_safe(msr, &value) < 0)
> > > > > + return false;
> > > > > + if (wrmsrl_safe(msr, value) < 0)
> > > > > + return false;
> > > > > + return true;
> > > > > +}
> > > >
> > > > What does this thing return after patch 2? does the write still
> > > > fault or will KVM silently take writes too?
> > >
> > > If applying patch 2, the function will return true. The KVM just simply ignore
> > the reads/writes.
> >
> > OK, then that's broken too. We want a function to return false for any
> > malfunctioning MSR, ignoring writes and returning 0s is not proper
> > functioning.
>
> The patch 2 is to handle the case that the administrator can only
> patch the host. Don't need to force user to upgrade their guest to fix
> the crash. And ignore the annoying "unhandled...." KVM messages
Sure; but what I meant was, check_msr() is broken when ran on such a
kernel. You need to fix check_msr() to return failure on these 'ignored'
MSRs, after all they don't function as expected, they're effectively
broken.
[-- Attachment #2: Type: application/pgp-signature, Size: 836 bytes --]
next prev parent reply other threads:[~2014-07-09 16:41 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-08 16:49 [PATCH V4 1/2] perf ignore LBR and extra_regs kan.liang
2014-07-08 16:49 ` [PATCH V4 2/2] kvm: " kan.liang
2014-07-09 8:32 ` [PATCH V4 1/2] perf " Peter Zijlstra
2014-07-09 9:14 ` Peter Zijlstra
2014-07-09 9:19 ` Peter Zijlstra
2014-07-09 9:27 ` Peter Zijlstra
2014-07-09 14:04 ` Liang, Kan
2014-07-09 14:16 ` Peter Zijlstra
2014-07-09 14:32 ` Liang, Kan
2014-07-09 14:58 ` Peter Zijlstra
2014-07-09 15:43 ` Liang, Kan
2014-07-09 16:41 ` Peter Zijlstra [this message]
2014-07-09 19:32 ` Liang, Kan
2014-07-10 9:02 ` Peter Zijlstra
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140709164146.GH9918@twins.programming.kicks-ass.net \
--to=peterz@infradead.org \
--cc=andi@firstfloor.org \
--cc=kan.liang@intel.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox