public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony@codemonkey.ws>
To: Andre Przywara <andre.przywara@amd.com>
Cc: Avi Kivity <avi@redhat.com>, kvm@vger.kernel.org
Subject: Re: [PATCH 0/3] KVM-userspace: add NUMA support for guests
Date: Mon, 01 Dec 2008 09:18:04 -0600	[thread overview]
Message-ID: <4934002C.7070507@codemonkey.ws> (raw)
In-Reply-To: <492F1DD9.8030901@amd.com>

Andre Przywara wrote:
> Hi,
>
> this patch series introduces multiple NUMA nodes support within KVM 
> guests.
> This will improve the performance of guests which are bigger than one 
> node (number of VCPUs and/or amount of memory) and also allows better 
> balancing by taking better usage of each node's memory.
> It also improves the one node case by pinning a guest to this node and
> avoiding access of remote memory from one VCPU.

Could you please post this to qemu-devel?  There's really nothing KVM 
specific here.

> The user (or better: management application) specifies the host nodes
> the guest should use: -nodes 2,3 would create a two node guest mapped to
> node 2 and 3 on the host. These numbers are handed over to libnuma:
> VCPUs are pinned to the nodes and the allocated guest memory is bound to
> it's respective node. Since libnuma seems not to be installed
> everywhere, the user has to enable this via configure --enable-numa
> In the BIOS code an ACPI SRAT table was added, which describes the NUMA
> topology to the guest. The number of nodes is communicated via the CMOS
> RAM (offset 0x3E). If someone thinks of this as a bad idea, tell me.

I think the dependency on libnuma is a bad idea.  It's mixing a 
mechanism (emulating NUMA layout) with a policy (how to do memory/VCPU 
placement).

If you split the NUMA emulation bits into a separate patch series, that 
has no dependency on the host NUMA topology, I think we look at the 
existing mechanisms we have to see if they're sufficient to do static 
placement on NUMA boundaries.  vcpu pinning is easy enough, I think the 
only place we're lacking is memory layout.  Note, that's totally 
independent of the guest's NUMA characteristics though.  You may still 
want half of memory to be pinned between two nodes even if the guest has 
no SRAT tables.

Regards,

Anthony Liguori

> To take use of the new BIOS, install the iasl compiler
> (http://acpica.org/downloads/) and type "make bios" before installing,
> so the default BIOS will be replaced with the modified one.
> Node over-committing is allowed (-nodes 0,0,0,0), omitting the -nodes
> parameter reverts to the old behavior.
>
> Please apply.
>
> Regards,
> Andre.
>
> Patch 1/3: introduce a command line parameter
> Patch 2/3: allocate guests  resources from different host nodes
> Patch 3/3: generate an appropriate SRAT ACPI table
>
> Signed-off-by: Andre Przywara <andre.przywara@amd.com>
>


  parent reply	other threads:[~2008-12-01 15:18 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-27 22:23 [PATCH 0/3] KVM-userspace: add NUMA support for guests Andre Przywara
2008-11-28  8:14 ` Andi Kleen
2008-11-29 18:43   ` Avi Kivity
2008-11-29 20:10     ` Andi Kleen
2008-11-29 20:35       ` Avi Kivity
2008-11-30 15:41         ` Andi Kleen
2008-11-30 15:38           ` Avi Kivity
2008-11-30 16:05             ` Andi Kleen
2008-11-30 16:38               ` Avi Kivity
2008-11-30 17:04                 ` Andi Kleen
2008-11-30 17:11                   ` Avi Kivity
2008-11-30 17:42                     ` Andi Kleen
2008-11-30 18:07                       ` Avi Kivity
2008-11-30 18:55                         ` Andi Kleen
2008-11-30 19:11                           ` Skywing
2008-11-30 20:08                             ` Avi Kivity
2008-11-30 20:07                           ` Avi Kivity
2008-11-30 21:41                             ` Andi Kleen
2008-11-30 21:50                               ` Avi Kivity
2008-11-30 22:08                                 ` Skywing
2008-11-28 10:40 ` Daniel P. Berrange
2008-11-29 18:29 ` Avi Kivity
2008-12-01 14:15   ` Andre Przywara
2008-12-01 14:29     ` Avi Kivity
2008-12-01 15:27       ` Anthony Liguori
2008-12-01 15:34         ` Anthony Liguori
2008-12-01 15:37         ` Avi Kivity
2008-12-01 15:49           ` Anthony Liguori
2008-12-01 14:44     ` Daniel P. Berrange
2008-12-01 14:53       ` Avi Kivity
2008-12-01 15:18 ` Anthony Liguori [this message]
2008-12-01 15:35   ` Avi Kivity

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4934002C.7070507@codemonkey.ws \
    --to=anthony@codemonkey.ws \
    --cc=andre.przywara@amd.com \
    --cc=avi@redhat.com \
    --cc=kvm@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox