This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


Re: [Xen-devel] PATCH: Hugepage support for Domains booting with 4KB pag

To: Keshav Darak <keshav_darak@xxxxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: Re: [Xen-devel] PATCH: Hugepage support for Domains booting with 4KB pages
From: Keir Fraser <keir.xen@xxxxxxxxx>
Date: Mon, 21 Mar 2011 21:31:03 +0000
Cc: jeremy@xxxxxxxx
Delivery-date: Mon, 21 Mar 2011 14:32:15 -0700
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:user-agent:date:subject:from:to:cc:message-id :thread-topic:thread-index:in-reply-to:mime-version:content-type :content-transfer-encoding; bh=8DV7yZdo6JW4SSMSnzA1qII9k033b+xXZAPtO4Hi5x4=; b=uTOSxJlTTaYqS5KqWz3z2SkNFShSqf40YdoAkZVdJOGpo7RB/8Yqw1xG1Q+gwDTgEU jrNrSUhWHWms/OBYH0YJHEnInEyz9LaisLiyEat/LQ5yL+vnR6fZkEKIKx99riiYkq6e tFyeFxp4xS3l0rlq3erSuWnIRhmCHK7yGfLiA=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=user-agent:date:subject:from:to:cc:message-id:thread-topic :thread-index:in-reply-to:mime-version:content-type :content-transfer-encoding; b=wjgxgrRASdqU7sfeQnFpDcS0sjtRafXoFbppicMDRsOQBSjDIzHHLzEFxU3gBbNpm8 YTKvMIgfZug9jGv9OYJYr7mm1BLEf2AjaQomd8ybL0mUE6tpIU3cX9CfOd7aZPNZSPfd Zj85UpODEZyaQ3yQKDhCUbObxr4CJzUfcEmWw=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <71077.78622.qm@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcvoD0diO3WG54L4i0CpF+ItZVdBaQ==
Thread-topic: [Xen-devel] PATCH: Hugepage support for Domains booting with 4KB pages
User-agent: Microsoft-Entourage/

There is already optional support for superpage allocations and mappings for
PV guests in the hypervisor and toolstack. See the opt_allow_superpages
boolean flag in the hypervisor, and the 'superpages' domain config option
that can be specified when creating a new domain via xend/xm.

 -- Keir

On 21/03/2011 21:01, "Keshav Darak" <keshav_darak@xxxxxxxxx> wrote:

> have corrected few mistakes in previously attached xen patch file.
> Please review it.
> --- On Sun, 3/20/11, Keshav Darak <keshav_darak@xxxxxxxxx> wrote:
>> From: Keshav Darak <keshav_darak@xxxxxxxxx>
>> Subject: [Xen-devel] PATCH: Hugepage support for Domains booting with 4KB
>> pages
>> To: xen-devel@xxxxxxxxxxxxxxxxxxx
>> Cc: jeremy@xxxxxxxx, keir@xxxxxxx
>> Date: Sunday, March 20, 2011, 10:34 PM
>> We have implemented hugepage support for guests in following manner
>> In our implementation we added a parameter hugepage_num which is specified in
>> the config file of the DomU. It is the number of hugepages that the guest is
>> guaranteed to receive whenever the kernel asks for hugepage by using its boot
>> time parameter or reserving after booting (eg. Using echo XX >
>> /proc/sys/vm/nr_hugepages). During creation of the domain we reserve MFN's
>> for these hugepages and store them in the list. The listhead of this list is
>> inside the domain structure with name "hugepage_list". When the domain is
>> booting, at that time the memory seen by the kernel is allocated memory  less
>> the amount required for hugepages. The function reserve_hugepage_range is
>> called as a initcall. Before this function the xen_extra_mem_start points to
>> this apparent end of the memory. In this function we reserve the PFN range
>> for the hugepages which are going to be allocated by kernel by incrementing
>> the xen_extra_mem_start. We maintain these PFNs as pages in
>> "xen_hugepfn_list" in the kernel.
>> Now before the kernel requests for hugepages, it makes a hypercall
>> HYPERVISOR_memory_op  to get count of hugepages allocated to it and
>> accordingly reserves the pfn range.
>> then whenever kernel requests for hugepages it again make hypercall
>> HYPERVISOR_memory_op to get the preallocated hugepage and according makes the
>> p2m mapping on both sides (xen as well as kernel side)
>> The approach can be better explained using the presentation attached.
>> --
>> Keshav Darak
>> Kaustubh Kabra
>> Ashwin Vasani 
>> Aditya Gadre
>> -----Inline Attachment Follows-----
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@xxxxxxxxxxxxxxxxxxx </mc/compose?to=Xen-devel@xxxxxxxxxxxxxxxxxxx>
>> http://lists.xensource.com/xen-devel

Xen-devel mailing list