From: Wanlong Gao <gaowanlong@cn.fujitsu.com>
To: qemu-devel@nongnu.org
Cc: aliguori@us.ibm.com, ehabkost@redhat.com, lersek@redhat.com,
peter.huangpeng@huawei.com, lcapitulino@redhat.com,
drjones@redhat.com, bsd@redhat.com, hutao@cn.fujitsu.com,
y-goto@jp.fujitsu.com, pbonzini@redhat.com, afaerber@suse.de,
gaowanlong@cn.fujitsu.com
Subject: [Qemu-devel] [PATCH V10 03/11] NUMA: check if the total numa memory size is equal to ram_size
Date: Thu, 29 Aug 2013 11:04:42 +0800 [thread overview]
Message-ID: <1377745490-20114-4-git-send-email-gaowanlong@cn.fujitsu.com> (raw)
In-Reply-To: <1377745490-20114-1-git-send-email-gaowanlong@cn.fujitsu.com>
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 <gaowanlong@cn.fujitsu.com>
---
vl.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/vl.c b/vl.c
index 0ef5c5a..92aacc1 100644
--- a/vl.c
+++ b/vl.c
@@ -4174,6 +4174,16 @@ int main(int argc, char **argv, char **envp)
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.4
next prev parent reply other threads:[~2013-08-29 3:06 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-29 3:04 [Qemu-devel] [PATCH V10 00/11] Add support for binding guest numa nodes to host numa nodes Wanlong Gao
2013-08-29 3:04 ` [Qemu-devel] [PATCH V10 01/11] NUMA: add NumaOptions, NumaNodeOptions and NumaMemOptions Wanlong Gao
2013-08-29 3:04 ` [Qemu-devel] [PATCH V10 02/11] NUMA: split -numa option Wanlong Gao
2013-08-29 3:04 ` Wanlong Gao [this message]
2013-08-29 3:04 ` [Qemu-devel] [PATCH V10 04/11] NUMA: move numa related code to numa.c Wanlong Gao
2013-08-29 3:04 ` [Qemu-devel] [PATCH V10 05/11] NUMA: Add numa_info structure to contain numa nodes info Wanlong Gao
2013-08-29 3:04 ` [Qemu-devel] [PATCH V10 06/11] NUMA: parse guest numa nodes memory policy Wanlong Gao
2013-08-29 3:04 ` [Qemu-devel] [PATCH V10 07/11] NUMA: set " Wanlong Gao
2013-08-29 3:04 ` [Qemu-devel] [PATCH V10 08/11] NUMA: add qmp command set-mem-policy to set memory policy for NUMA node Wanlong Gao
2013-08-29 3:04 ` [Qemu-devel] [PATCH V10 09/11] NUMA: add hmp command set-mem-policy Wanlong Gao
2013-08-29 3:04 ` [Qemu-devel] [PATCH V10 10/11] NUMA: add qmp command query-numa Wanlong Gao
2013-08-29 3:04 ` [Qemu-devel] [PATCH V10 11/11] NUMA: convert hmp command info_numa to use qmp command query_numa Wanlong Gao
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=1377745490-20114-4-git-send-email-gaowanlong@cn.fujitsu.com \
--to=gaowanlong@cn.fujitsu.com \
--cc=afaerber@suse.de \
--cc=aliguori@us.ibm.com \
--cc=bsd@redhat.com \
--cc=drjones@redhat.com \
--cc=ehabkost@redhat.com \
--cc=hutao@cn.fujitsu.com \
--cc=lcapitulino@redhat.com \
--cc=lersek@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peter.huangpeng@huawei.com \
--cc=qemu-devel@nongnu.org \
--cc=y-goto@jp.fujitsu.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).