Re: [Xen-devel] [PATCH] x86/amd: fix crash as Xen Dom0 on AMDTrinity systems

From: Jan Beulich
Date: Wed May 30 2012 - 10:39:34 EST


>>> On 30.05.12 at 16:02, Andre Przywara <andre.przywara@xxxxxxx> wrote:
> On 05/30/2012 03:33 PM, Jan Beulich wrote:
>> Further, I can't see how checking_wrmsrl() is being paravirtualized
>> any better than wrmsrl_amd_safe() - both have nothing but an
>> exception handling fixup attached to the wrmsr invocation. Care
>> to point out what actual crash it is that was seen?
>
> AFAIK, the difference is between the "l" and the regs version for
> rd/wrmsr. We have a patch already here to fix this. Will send it out
> soon. Jacob, can you comment on this?

I see - the Xen code blindly overwrites pv_cpu_ops, despite not
having initialized all members. That's an obvious oversight of the
patch that introduced the _regs variants.

Plus having secondary instances of things like rdmsrl_amd_safe()
in asm/paravirt.h seems pretty strange an approach (which was
why initially I didn't spot how a crash could happen there) - only
the lowest level functions should get re-implemented here.

>> Finally, I would question whether re-enabling the topology
>> extensions under Xen shouldn't be skipped altogether, perhaps
>> even on Dom0 (as the hypervisor is controlling this MSR, but in
>> any case on DomU - the hypervisor won't allow (read: ignore,
>> not fault on) the write anyway (and will log a message for each
>> (v)CPU that attempts this).
>
> This is probably right. Let me think about this.

I'll submit a respective hypervisor side patch soonish.

Jan

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/