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

Re: [Xen-devel] 1GB hugepages and intel_xc_cpuid_policy by default disables it.



Konrad Rzeszutek Wilk wrote on 2014-01-16:
> On Mon, Jan 13, 2014 at 11:51:28AM +0000, Jan Beulich wrote:
>>>>> On 13.01.14 at 12:38, Ian Campbell <Ian.Campbell@xxxxxxxxxx> wrote:
>>> On Mon, 2014-01-13 at 11:30 +0000, Jan Beulich wrote:
>>>> In fact I can't see where this would be forced off:
>>>> xc_cpuid_x86.c only does so in the PV case, and all
>>>> hvm_pse1gb_supported() is that the CPU supports it and the domain uses HAP.
>>> 
>>> Took me a while to spot it too:
>>> static void intel_xc_cpuid_policy( [...]
>>>             case 0x80000001: {
>>>                 int is_64bit = hypervisor_is_64bit(xch) && is_pae;
>>>                 
>>>                 /* Only a few features are advertised in Intel's
>>>                 0x80000001. */ regs[2] &= (is_64bit ?
> bitmaskof(X86_FEATURE_LAHF_LM) : 0) |
>>> 
> bitmaskof(X86_FEATURE_ABM);
>>>                 regs[3] &= ((is_pae ? bitmaskof(X86_FEATURE_NX) :
>>> 0)
> |
>>>                             (is_64bit ? bitmaskof(X86_FEATURE_LM) : 0)
>>>                             | (is_64bit ?
>>>                             bitmaskof(X86_FEATURE_SYSCALL) : 0) |
>>>                             (is_64bit ?
> bitmaskof(X86_FEATURE_RDTSCP) : 0));
>>>                 break;
>>>             }
>>> 
>>> Which masks anything which is not explicitly mentioned. (PAGE1GB
>>> is in regs[3], I think).
>> 
>> Ah, okay. The funs of white listing on HVM vs black listing on PV
>> again.
>> 
>>> The AMD version is more permissive:
>>> 
>>>         regs[3] &= (0x0183f3ff | /* features shared with
> 0x00000001:EDX */
>>>                     (is_pae ? bitmaskof(X86_FEATURE_NX) : 0) |
>>>                     (is_64bit ? bitmaskof(X86_FEATURE_LM) : 0) |
>>>                     bitmaskof(X86_FEATURE_SYSCALL) |
>>>                     bitmaskof(X86_FEATURE_MP) |
>>>                     bitmaskof(X86_FEATURE_MMXEXT) |
>>>                     bitmaskof(X86_FEATURE_FFXSR) |
>>>                     bitmaskof(X86_FEATURE_3DNOW) |
>>>                     bitmaskof(X86_FEATURE_3DNOWEXT));
>>> (but I didn't check if PAGE1GB is in that magic number...)
>> 
>> It's not - it's bit 26.
> 
> So.. it sounds to me like everybody is in the agreement that this is
> the right thing to do (enable it if the hypervisor has it enabled)?
> 
> And the next thing is actually come up with a patch to do some of this
> plumbing - naturally for Xen 4.5?

Hi, Konrad,

Is there any patch to turn on the 1GB hugepages? If no, we are happy to give a 
patch to do it.

>> 
>> Jan
>> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@xxxxxxxxxxxxx
> http://lists.xen.org/xen-devel


Best regards,
Yang



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

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