From: Ingo Molnar <mingo@kernel.org>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Andy Lutomirski <luto@amacapital.net>,
Thomas Gleixner <tglx@linutronix.de>,
Paolo Bonzini <pbonzini@redhat.com>,
xen-devel <Xen-devel@lists.xen.org>,
Arjan van de Ven <arjan@linux.intel.com>,
Andrew Morton <akpm@linux-foundation.org>,
KVM list <kvm@vger.kernel.org>,
the arch/x86 maintainers <x86@kernel.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Peter Zijlstra <peterz@infradead.org>
Subject: Re: [PATCH v2 1/2] x86/msr: Carry on after a non-"safe" MSR access fails without !panic_on_oops
Date: Tue, 22 Sep 2015 09:14:59 +0200 [thread overview]
Message-ID: <20150922071459.GA6869@gmail.com> (raw)
In-Reply-To: <CA+55aFzKCi6pf0RP8HjDQYDsms6reB5AihuCAHEkVJtoOHk_Yw@mail.gmail.com>
* Linus Torvalds <torvalds@linux-foundation.org> wrote:
> On Mon, Sep 21, 2015 at 1:46 AM, Ingo Molnar <mingo@kernel.org> wrote:
> >
> > Linus, what's your preference?
>
> So quite frankly, is there any reason we don't just implement
> native_read_msr() as just
>
> unsigned long long native_read_msr(unsigned int msr)
> {
> int err;
> unsigned long long val;
>
> val = native_read_msr_safe(msr, &err);
> WARN_ON_ONCE(err);
> return val;
> }
>
> Note: no inline, no nothing. Just put it in arch/x86/lib/msr.c, and be
> done with it. I don't see the downside.
Absolutely!
> How many msr reads are <i>so</i> critical that the function call overhead would
> matter? Get rid of the inline version of the _safe() thing too, and put that
> thing there too.
Only a very low number of them is performance critical (because even
hw-accelerated MSR accesses are generally slow so we try to avoid MSR accesses in
fast paths as much as possible, via shadowing, etc.) - and in the few cases where
we have to access an MSR in a fast path we can do those separately.
I'm only worried about the 'default' APIs, i.e. rdmsr() that is used throughout
arch/x86/ over a hundred times, not about performance critical code paths that get
enough testing and enough attention in general.
Thanks,
Ingo
next prev parent reply other threads:[~2015-09-22 7:14 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-21 0:02 [PATCH v2 0/2] x86/msr: MSR access failure changes Andy Lutomirski
2015-09-21 0:02 ` [PATCH v2 1/2] x86/msr: Carry on after a non-"safe" MSR access fails without !panic_on_oops Andy Lutomirski
2015-09-21 0:02 ` Andy Lutomirski
2015-09-21 0:15 ` Linus Torvalds
2015-09-21 1:13 ` Andy Lutomirski
2015-09-21 1:13 ` Andy Lutomirski
2015-09-21 8:46 ` Ingo Molnar
2015-09-21 12:27 ` Paolo Bonzini
2015-09-21 12:27 ` Paolo Bonzini
2015-09-21 16:36 ` Linus Torvalds
2015-09-21 16:36 ` Linus Torvalds
2015-09-21 16:49 ` Arjan van de Ven
2015-09-21 17:27 ` Linus Torvalds
2015-09-21 17:27 ` Linus Torvalds
2015-09-21 17:43 ` Andy Lutomirski
2015-09-22 8:12 ` Paolo Bonzini
2015-09-22 8:12 ` Paolo Bonzini
2015-09-21 17:43 ` Andy Lutomirski
2015-09-21 16:49 ` Arjan van de Ven
2015-09-21 18:16 ` Andy Lutomirski
2015-09-21 18:16 ` Andy Lutomirski
2015-09-21 18:36 ` Borislav Petkov
2015-09-21 18:36 ` Borislav Petkov
2015-09-21 18:47 ` Linus Torvalds
2015-09-21 18:47 ` Linus Torvalds
2015-09-22 7:14 ` Ingo Molnar
2015-09-22 7:14 ` Ingo Molnar [this message]
2015-09-30 13:10 ` Peter Zijlstra
2015-09-30 14:01 ` Ingo Molnar
2015-09-30 18:04 ` Andy Lutomirski
2015-10-01 7:15 ` Ingo Molnar
2016-03-11 16:48 ` Andy Lutomirski
2016-03-12 16:02 ` Ingo Molnar
2016-03-12 16:02 ` Ingo Molnar
2016-03-11 16:48 ` Andy Lutomirski
2015-10-01 7:15 ` Ingo Molnar
2015-09-30 18:04 ` Andy Lutomirski
2015-09-30 14:01 ` Ingo Molnar
2015-09-30 13:10 ` Peter Zijlstra
2015-09-30 18:32 ` H. Peter Anvin
2015-09-30 18:32 ` H. Peter Anvin
2015-09-21 8:46 ` Ingo Molnar
2015-09-21 0:15 ` Linus Torvalds
2015-09-21 0:02 ` [PATCH v2 2/2] x86/msr: Set the return value to zero when native_rdmsr_safe fails Andy Lutomirski
2015-09-21 0:02 ` Andy Lutomirski
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=20150922071459.GA6869@gmail.com \
--to=mingo@kernel.org \
--cc=Xen-devel@lists.xen.org \
--cc=akpm@linux-foundation.org \
--cc=arjan@linux.intel.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=luto@amacapital.net \
--cc=pbonzini@redhat.com \
--cc=peterz@infradead.org \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=x86@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.