[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 4/9] x86/amd: Introduce CPUID/MSR definitions for per-vcpu SSBD support



>>> On 05.12.18 at 18:50, <andrew.cooper3@xxxxxxxxxx> wrote:
> On 05/12/2018 16:39, Jan Beulich wrote:
>>>>> On 03.12.18 at 17:18, <andrew.cooper3@xxxxxxxxxx> wrote:
>>> As an alternative, MSR_VIRT_SPEC_CTRL is specified as an architectural 
>>> control
>>> (with semantics equivilent to MSR_SPEC_CTRL) which is provided by the
>>> hypervisor.  This abstracts away the model-specific details of the LS_CFG
>>> mechanism, which allows migration safety to be retained.
>> ... how is this any less expensive, when it necessarily requires
>> interception?
> 
> For an individual update?  No difference.
> 
> For the case where a certain OS takes the presence of MSR_SPEC_CTRL to
> mean that it needs to write MSR_SPEC_CTRL.IBRS wherever it would choose
> to if IBRS was actually available, the perf difference is in the number
> of writes which occur and get intercepted.

So perhaps an OS anomaly; I'd certainly expect no difference in
behavior wrt the physical MSR's availability and the virtual one's.
Of course unless they've not implemented support for the virtual
one yet, but then as soon as they do the difference ought to
vanish.

>>> +        {"amd_stibp",    0x80000008, NA, CPUID_REG_EBX, 15,  1},
>>> +        {"amd_ssbd",     0x80000008, NA, CPUID_REG_EBX, 24,  1},
>>> +        {"virt_sc_ssbd", 0x80000008, NA, CPUID_REG_EBX, 25,  1},
>>> +        {"amd_ssb_no",   0x80000008, NA, CPUID_REG_EBX, 26,  1},
>> Since you're at it, why not also introduce names for bits 16-18
>> at this occasion?
> 
> I haven't previously filled in names for the sake of it.
> 
> The reason that ibrs/stibp/ssbd are here is because they're related and
> I've also got a followon few patches to support MSR_VIRT_SPEC_CTRL on
> Rome hardware via MSR_SPEC_CTRL, but I need an SDP and some
> experimentation time before I'd be happy posting them.
> 
> But to address your question, I can't locate those bits at all.  Not
> even in the NDA docs or Linux source.

Hmm, that's certainly odd. I've found them quite some time ago in this
public whitepaper:
https://developer.amd.com/wp-content/resources/Architecture_Guidelines_Update_Indirect_Branch_Control.pdf
They're all clearly IBRS/STIBP related.

Jan



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.