Re: [Xen-devel] Re: Regression in 3.1 causes Xen to use wrong idle routine

Keir Fraser
2011-11-13T16:59:22Z

On 13/11/2011 03:46, "Len Brown" <lenb@kernel.org> wrote:

>> The problem I see is that select_idle_routine() is called from
>> arch/x86/kernel/cpu/common.c and since Xen setup does not set pm_idle
>> anymore, it can cause mwait_idle or amd_e400_idle functions to be selected.
>> In testing it seem amd_e400_idle in PVM domU at least does not immediately
>> cause
>> problems, but mwait_idle just causes crashes. From the reports I have
>> this may be related to older hypervisors (3.1 and older) not clearing the
>> mwait
>> capability. But overall there seems something wrong in the interaction.
>
> Why is Xen advertising X86_FEATURE_MWAIT and then crashing
> when the dom0 (or other guests) use what it advertises?
>
> What versions of Xen have this bug?

Xen doesn't advertise MWAIT. Possibly Xen-pv_ops is lying to the rest of the
kernel via the cpuid pv_ops hook. This would probably be because Xen is
relying on the OSPM in dom0 kernel to parse out Cx/Px info which Xen itself
*can* use.

-- Keir