From: Avi Kivity <avi@redhat.com>
To: Anthony Liguori <anthony@codemonkey.ws>
Cc: Andre Przywara <andre.przywara@amd.com>,
kvm@vger.kernel.org, "Daniel P. Berrange" <berrange@redhat.com>,
Andi Kleen <ak@suse.de>
Subject: Re: [PATCH 0/3] KVM-userspace: add NUMA support for guests
Date: Mon, 01 Dec 2008 17:37:46 +0200 [thread overview]
Message-ID: <493404CA.3060404@redhat.com> (raw)
In-Reply-To: <4934027D.8080904@codemonkey.ws>
Anthony Liguori wrote:
> Avi Kivity wrote:
>> Andre Przywara wrote:
>>
>>> Any other useful commands for the monitor? Maybe (temporary) VCPU
>>> migration without page migration?
>>
>> Right now vcpu migration is done externally (we export the thread IDs
>> so management can pin them as it wishes). If we add numa support, I
>> think it makes sense do it internally as well. I suggest using the
>> same syntax for the monitor as for the command line; that's simplest
>> to learn and to implement.
>
> I see no compelling reason to do cpu placement internally. It can be
> done quite effectively externally.
>
> Memory allocation is tough, but I don't think it's out of reach.
> Looking at the numactl man page, you can do:
>
> numactl --offset=1G --length=1G --membind=1 --file /dev/shm/A --touch
> Bind the second gigabyte in the tmpfs file /dev/shm/A to node 1.
>
>
> Since we can already create VM's with the -mem-path argument, if you
> create a 2GB guest and want it to span two numa nodes, you could do:
>
> numactl --offset=0G --length=1G --membind=0 --file /dev/shm/A --touch
> numactl --offset=1G --length=1G --membind=1 --file /dev/shm/A --touch
>
> And then create the VM with:
>
> qemu-system-x86_64 -mem-path /dev/shm/A -mem 2G ...
>
> What's best about this approach, is that you get full access to what
> numactl is capable of. Interleaving, rebalancing, etc.
It looks horribly difficult and unintuitive. It forces you to use
-mem-path (which is an abomination; the only reason it lives is that we
can't allocate large pages with it).
--
error compiling committee.c: too many arguments to function
next prev parent reply other threads:[~2008-12-01 15:37 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 [this message]
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
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=493404CA.3060404@redhat.com \
--to=avi@redhat.com \
--cc=ak@suse.de \
--cc=andre.przywara@amd.com \
--cc=anthony@codemonkey.ws \
--cc=berrange@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