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] [XEN][vNUMA][PATCH 0/9] VM memory mgmt for NUMA

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] [XEN][vNUMA][PATCH 0/9] VM memory mgmt for NUMA
From: Dulloor <dulloor@xxxxxxxxx>
Date: Fri, 2 Jul 2010 16:53:14 -0700
Delivery-date: Fri, 02 Jul 2010 16:54:12 -0700
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=rlGBeEAMa8w4ad1AQXjw0IQ/IOSiTsLI9NZn+kO1IeI=; b=nmZdq1WE4aQ7UC7wf8fSU0y0S4f2hdqxwOq3jL3hjrsWaaE3NwVCtHbTRv5XwEWpAK +Tk2PtlfLnB0SJ5ErQrAIoH5tFBClmDjiWIv16jxHMHli47k6i/M/kmRx3x1ssdm8eFO HgPj0YIK0G13r+v8IUXbGqvIcvNChgQE13Cyg=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=OZz4Gn+kuw3fp28RTCyxw08KkCQAR2pwMarvKwPHb8zAkuyosCwxFcAQAh0LAmonRy yHgVOTeSlMiOBuN+nOQmkayRzDTmYnN/RjHK9FUATskLhWh2bAzd3Bm6DvODuiWQzhSQ DbG6Aytxh1Uc/HkznrJcpSeonzXYeSi+KHAL8=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <1BEA8649F0C00540AB2811D7922ECB6C933256EA@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>
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: <1BEA8649F0C00540AB2811D7922ECB6C933256EA@xxxxxxxxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
This series of patches implements the following ~

[1] Memory allocation schemes for VMs on NUMA platforms : The specific
allocation allocation strategies available as configuration parameters are -

        * CONFINE - Confine the VM memory to a single NUMA node.
          [config]
          strategy = "confine"

        * STRIPE - Stripe the VM memory across a specified number of nodes.
          [config]
          strategy = "stripe"
          vnodes = <num>
          stripesz = <in pages>

        * SPLIT - Split the VM memory across a specified number of nodes
          to construct virtual nodes, which are then exposed to the VM.
          For now, we require the number of vnodes and number of vcpus to
          be powers of 2 (for symmetric distribution), as opposed to using
          multiples.
          [config]
          strategy = "split"
          vnodes = <num>

        * AUTO - Choose a scheme automatically, based on memory distribution
          across the nodes. The strategy attempts CONFINE and STRIPE(by
          dividing memory in equal parts) in that order. If both fail, then
          it reverts to the existing non-numa allocation.

        * No Configuration - No change from existing behaviour.

[2] HVM NUMA guests : If the user specifies "split" strategy, we expose the
virtual nodes to the HVM (SRAT/SLIT).

[3] Disable migration : For now, the allocation information is not preserved
across migration. We set disable_migrate for documentation, although it
doesn't really stop one from migrating VMs(?).


-Dulloor


Signed-off-by: Dulloor <dulloor@xxxxxxxxx>


--

 xen/common/memory.c                     |    2 +
 xen/common/page_alloc.c                 |    9 +
 xen/include/public/memory.h             |    3 +
 xen/include/xen/mm.h                    |    2 +
 tools/libxc/xenctrl.h                   |   19 +
 tools/libxl/libxl.h                     |    1 +
 tools/libxl/xl_cmdimpl.c                |   50 +-
 xen/include/public/dom_numa.h           |   71 ++
 tools/libxc/Makefile                    |    1 +
 tools/libxc/xc_cpumap.c                 |   88 +++
 tools/libxc/xc_cpumap.h                 |  113 +++
 tools/libxc/Makefile                    |    1 +
 tools/libxc/xc_dom_numa.c               |  909 +++++++++++++++++++++++++++++++
 tools/libxc/xc_dom_numa.h               |   49 +
 tools/libxc/xc_hvm_build.c              |  320 ++++++-----
 tools/libxc/ia64/xc_ia64_hvm_build.c    |    1 +
 tools/libxc/xc_dom_numa.c               |    2 +-
 tools/libxc/xc_dom_numa.h               |    2 +-
 tools/libxc/xc_hvm_build.c              |  298 +++++++---
 tools/libxc/xenguest.h                  |    1 +
 tools/libxl/libxl_dom.c                 |    5 +-
 tools/python/xen/lowlevel/xc/xc.c       |    2 +-
 tools/firmware/hvmloader/acpi/acpi2_0.h |   64 ++
 tools/firmware/hvmloader/acpi/build.c   |  118 ++++
 tools/libxc/xc_hvm_build.c              |   49 +-
 xen/include/public/hvm/hvm_info_table.h |    8 +-
 tools/libxc/xc_hvm_build.c              |    2 +
 27 files changed, 1939 insertions(+), 251 deletions(-)
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-devel] [XEN][vNUMA][PATCH 0/9] VM memory mgmt for NUMA, Dulloor <=