WARNING - OLD ARCHIVES

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/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] Re: [PATCH R4 2/7] xen/balloon: HVM mode support

To: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Subject: [Xen-devel] Re: [PATCH R4 2/7] xen/balloon: HVM mode support
From: Daniel Kiper <dkiper@xxxxxxxxxxxx>
Date: Tue, 15 Mar 2011 15:18:37 +0100
Cc: "jeremy@xxxxxxxx" <jeremy@xxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>, "haicheng.li@xxxxxxxxxxxxxxx" <haicheng.li@xxxxxxxxxxxxxxx>, "konrad.wilk@xxxxxxxxxx" <konrad.wilk@xxxxxxxxxx>, "linux-kernel@xxxxxxxxxxxxxxx" <linux-kernel@xxxxxxxxxxxxxxx>, Dan Magenheimer <dan.magenheimer@xxxxxxxxxx>, "v.tolstov@xxxxxxxxx" <v.tolstov@xxxxxxxxx>, "dave@xxxxxxxxxxxxxxxxxx" <dave@xxxxxxxxxxxxxxxxxx>, Ian Campbell <Ian.Campbell@xxxxxxxxxxxxx>, "linux-mm@xxxxxxxxx" <linux-mm@xxxxxxxxx>, "rientjes@xxxxxxxxxx" <rientjes@xxxxxxxxxx>, "andi.kleen@xxxxxxxxx" <andi.kleen@xxxxxxxxx>, "akpm@xxxxxxxxxxxxxxxxxxxx" <akpm@xxxxxxxxxxxxxxxxxxxx>, "fengguang.wu@xxxxxxxxx" <fengguang.wu@xxxxxxxxx>, Daniel Kiper <dkiper@xxxxxxxxxxxx>, "wdauchy@xxxxxxxxx" <wdauchy@xxxxxxxxx>
Delivery-date: Tue, 15 Mar 2011 07:21:42 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <alpine.DEB.2.00.1103091356370.2968@kaball-desktop>
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>
References: <20110308214636.GC27331@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> <alpine.DEB.2.00.1103091356370.2968@kaball-desktop>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.3.28i
On Wed, Mar 09, 2011 at 01:58:30PM +0000, Stefano Stabellini wrote:
> On Tue, 8 Mar 2011, Daniel Kiper wrote:
> > HVM mode support.
>
> I have already a patch in linux-next to do this, please give a look at
> "xen: make the ballon driver work for hvm domains":
>
> git://xenbits.xen.org/people/sstabellini/linux-pvhvm.git linux-next

OK, I will remove this patch from memory hotplug patchset, however:

@@ -232,7 +232,7 @@ static int increase_reservation(unsigned long nr_pages)
                set_phys_to_machine(pfn, frame_list[i]);
 
                /* Link back into the page tables if not highmem. */
-               if (pfn < max_low_pfn) {
+               if (!xen_hvm_domain() && pfn < max_low_pfn) {

Why do not write it as:

if (xen_pv_domain() && !PageHighMem(page)) ...

For me it is simpler to read (xen_pv_domain()) and make it similar
to relevant part in decrease_reservation() (!PageHighMem(page)).

@@ -280,7 +280,7 @@ static int decrease_reservation(unsigned long nr_pages)
 
                scrub_page(page);
 
-               if (!PageHighMem(page)) {
+               if (!xen_hvm_domain() && !PageHighMem(page)) {

As above.

@@ -392,15 +392,19 @@ static struct notifier_block xenstore_notifier;
 
 static int __init balloon_init(void)
 {
-       unsigned long pfn, extra_pfn_end;
+       unsigned long pfn, nr_pages, extra_pfn_end;
        struct page *page;
 
-       if (!xen_pv_domain())
+       if (!xen_domain())
                return -ENODEV;
 
        pr_info("xen_balloon: Initialising balloon driver.\n");
 
-       balloon_stats.current_pages = min(xen_start_info->nr_pages, max_pfn);
+       if (xen_pv_domain())
+               nr_pages = xen_start_info->nr_pages;
+       else
+               nr_pages = max_pfn;
+       balloon_stats.current_pages = min(nr_pages, max_pfn);

It could be simplified:

balloon_stats.current_pages = xen_pv_domain() ? min(xen_start_info->nr_pages, 
max_pfn) : max_pfn;

Daniel

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>