[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH V17 02/11] NUMA: check if the total numa memory
From: |
Eduardo Habkost |
Subject: |
Re: [Qemu-devel] [PATCH V17 02/11] NUMA: check if the total numa memory size is equal to ram_size |
Date: |
Tue, 10 Dec 2013 11:15:48 -0200 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
CCing libvir-list.
On Wed, Dec 04, 2013 at 03:58:50PM +0800, Wanlong Gao wrote:
> If the total number of the assigned numa nodes memory is not
> equal to the assigned ram size, it will write the wrong data
> to ACPI talb, then the guest will ignore the wrong ACPI table
> and recognize all memory to one node. It's buggy, we should
> check it to ensure that we write the right data to ACPI table.
>
> Signed-off-by: Wanlong Gao <address@hidden>
This will make configurations that could be running for years (except
that the guest OS was ignoring the NUMA data) suddenly stop running. I
just want to confirm: we really want that, right?
Does libvirt allow this kind of broken configuration to be generated, or
it already ensures the total NUMA node sizes match RAM size?
> ---
> numa.c | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/numa.c b/numa.c
> index ce7736a..beda80e 100644
> --- a/numa.c
> +++ b/numa.c
> @@ -150,6 +150,16 @@ void set_numa_nodes(void)
> node_mem[i] = ram_size - usedmem;
> }
>
> + uint64_t numa_total = 0;
> + for (i = 0; i < nb_numa_nodes; i++) {
> + numa_total += node_mem[i];
> + }
> + if (numa_total != ram_size) {
> + fprintf(stderr, "qemu: numa nodes total memory size "
> + "should equal to ram_size\n");
> + exit(1);
> + }
> +
> for (i = 0; i < nb_numa_nodes; i++) {
> if (!bitmap_empty(node_cpumask[i], MAX_CPUMASK_BITS)) {
> break;
> --
> 1.8.5
>
>
--
Eduardo
[Qemu-devel] [PATCH V17 01/11] NUMA: move numa related code to new file numa.c, Wanlong Gao, 2013/12/04
[Qemu-devel] [PATCH V17 06/11] NUMA: add "-numa mem," options, Wanlong Gao, 2013/12/04
[Qemu-devel] [PATCH V17 04/11] NUMA: convert -numa option to use OptsVisitor, Wanlong Gao, 2013/12/04
[Qemu-devel] [PATCH V17 03/11] NUMA: Add numa_info structure to contain numa nodes info, Wanlong Gao, 2013/12/04
[Qemu-devel] [PATCH V17 08/11] NUMA: parse guest numa nodes memory policy, Wanlong Gao, 2013/12/04
[Qemu-devel] [PATCH V17 05/11] NUMA: introduce NumaMemOptions, Wanlong Gao, 2013/12/04