[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <0c5e90b5-e1f2-1ae1-40d1-d77575f580e9@linux.intel.com>
Date: Tue, 9 Jan 2018 06:30:09 -0800
From: Arjan van de Ven <arjan@...ux.intel.com>
To: Paolo Bonzini <pbonzini@...hat.com>,
Liran Alon <liran.alon@...cle.com>
Cc: jmattson@...gle.com, dwmw@...zon.co.uk, bp@...en8.de,
thomas.lendacky@....com, aliguori@...zon.com,
linux-kernel@...r.kernel.org, kvm@...r.kernel.org
Subject: Re: [PATCH 6/7] x86/svm: Set IBPB when running a different VCPU
On 1/9/2018 3:41 AM, Paolo Bonzini wrote:
> The above ("IBRS simply disables the indirect branch predictor") was my
> take-away message from private discussion with Intel. My guess is that
> the vendors are just handwaving a spec that doesn't match what they have
> implemented, because honestly a microcode update is unlikely to do much
> more than an old-fashioned chicken bit. Maybe on Skylake it does
> though, since the performance characteristics of IBRS are so different
> from previous processors. Let's ask Arjan who might have more
> information about it, and hope he actually can disclose it...
IBRS will ensure that, when set after the ring transition, no earlier
branch prediction data is used for indirect branches while IBRS is set
(this is a english summary of two pages of technical spec so it lacks
the language lawyer precision)
because of this promise, the implementation tends to be impactful
and it is very strongly recommended that retpoline is used instead of IBRS.
(with all the caveats already on lkml)
the IBPB is different, this is a covenient thing for switching between VM guests etc
Powered by blists - more mailing lists