From: "Daniel P. Berrange" <berrange@redhat.com>
To: Laurent Vivier <lvivier@redhat.com>
Cc: Eduardo Habkost <ehabkost@redhat.com>,
Thomas Huth <thuth@redhat.com>,
qemu-ppc@nongnu.org, qemu-devel@nongnu.org,
David Gibson <david@gibson.dropbear.id.au>
Subject: Re: [Qemu-devel] [PATCH] numa, spapr: align default numa node memory size to 256MB
Date: Mon, 20 Mar 2017 11:30:42 +0000 [thread overview]
Message-ID: <20170320113042.GG3792@redhat.com> (raw)
In-Reply-To: <20170320112426.4030-1-lvivier@redhat.com>
On Mon, Mar 20, 2017 at 12:24:26PM +0100, Laurent Vivier wrote:
> Since commit 224245b ("spapr: Add LMB DR connectors"), NUMA node
> memory size must be aligned to 256MB (SPAPR_MEMORY_BLOCK_SIZE).
That commit only enabled the feature for the pseries-2.5 machine type
several releases back now...
> But when "-numa" option is provided without "mem" parameter,
> the memory is equally divided between nodes, but 8MB aligned.
> This can be not valid for pseries.
>
> In that case we can have:
> $ ./ppc64-softmmu/qemu-system-ppc64 -m 4G -numa node -numa node -numa node
> qemu-system-ppc64: Node 0 memory size 0x55000000 is not aligned to 256 MiB
>
> With this patch, we have:
> (qemu) info numa
> 3 nodes
> node 0 cpus: 0
> node 0 size: 1280 MB
> node 1 cpus:
> node 1 size: 1280 MB
> node 2 cpus:
> node 2 size: 1536 MB
>
> Signed-off-by: Laurent Vivier <lvivier@redhat.com>
> ---
> dtc | 2 +-
> numa.c | 14 +++++++++-----
> 2 files changed, 10 insertions(+), 6 deletions(-)
>
> diff --git a/dtc b/dtc
> index 558cd81..fa8bc7f 160000
> --- a/dtc
> +++ b/dtc
> @@ -1 +1 @@
> -Subproject commit 558cd81bdd432769b59bff01240c44f82cfb1a9d
> +Subproject commit fa8bc7f928ac25f23532afc8beb2073efc8fb063
This looks unrelated
> diff --git a/numa.c b/numa.c
> index e01cb54..a911284 100644
> --- a/numa.c
> +++ b/numa.c
> @@ -337,15 +337,19 @@ void parse_numa_opts(MachineClass *mc)
> }
> if (i == nb_numa_nodes) {
> uint64_t usedmem = 0;
> -
> - /* On Linux, each node's border has to be 8MB aligned,
> - * the final node gets the rest.
> - */
> +#if defined(TARGET_PPC64)
> + /* pseries requests each node's border has to be 256 MB aligned */
> + const uint64_t numa_mem_align_mask = ~((1 << 28UL) - 1);
> +#else
but here you're forcing 256 MB alignement for all machine types. This is
surely breaking machine ABI compat for anyone who previously used -numa
with QEMU and upgrades to new QEMU expecting the same ABI.
Regards,
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://entangle-photo.org -o- http://search.cpan.org/~danberr/ :|
next prev parent reply other threads:[~2017-03-20 11:30 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-20 11:24 [Qemu-devel] [PATCH] numa, spapr: align default numa node memory size to 256MB Laurent Vivier
2017-03-20 11:30 ` Daniel P. Berrange [this message]
2017-03-20 11:38 ` Laurent Vivier
2017-03-20 11:31 ` Thomas Huth
2017-03-20 11:56 ` Laurent Vivier
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=20170320113042.GG3792@redhat.com \
--to=berrange@redhat.com \
--cc=david@gibson.dropbear.id.au \
--cc=ehabkost@redhat.com \
--cc=lvivier@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
--cc=thuth@redhat.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.