[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Re: [PATCH 1/3] NUMA: add -numa command line option
From: |
Andre Przywara |
Subject: |
[Qemu-devel] Re: [PATCH 1/3] NUMA: add -numa command line option |
Date: |
Sat, 13 Dec 2008 18:12:36 +0100 |
User-agent: |
Thunderbird 2.0.0.14 (X11/20080421) |
Anthony Liguori wrote:
Andre Przywara wrote:
This adds and parses a -numa command line option to QEMU.
...
+
+#define MAX_NODES 64
+extern int numnumanodes;
+extern uint64_t hostnodes[MAX_NODES];
This should not be in this patch. This patch should just contain the
bits needed to create a virtual guest NUMA topology. The hostnode stuff
should be a separate patch.
Agreed. I now moved the firmware interface parts of patch 2 into this
one, so that you have full functionality with this first patch already
(except host pinning and the BIOS part). Shall I move the 'info numa'
part of the monitor also into this one or do you prefer smaller patches?
@@ -3968,6 +3972,10 @@ static void help(int exitcode)
"-daemonize daemonize QEMU after initializing\n"
#endif
"-option-rom rom load a file, rom, into the option ROM space\n"
+ "-numa
nrnodes[,mem:size1[;size2..]][,cpu:cpu1[;cpu2..]][,pin:node1[;node2]]\n"
+ " create a multi NUMA node guest and
optionally pin it to\n"
+ " to the given host nodes. If mem and cpu
are omitted,\n"
+ " resources are split equally\n"
You're whitespace damaged.
Actually the damage here is in the three lines before, which start with
a leading tab. All other help lines are formatted like my ones.
Do you want me to send whitespace fixes for this? Before or after the
NUMA part?
+ if (numnumanodes > 0) {
+ int i;
+
+ if (numnumanodes > smp_cpus)
+ numnumanodes = smp_cpus;
Why have this limitation? We would like to see CPU-less nodes supported
either as memory-only nodes or as IO nodes.
I introduced this after some tests, which made Linux crash. Honestly I
don't remember the exact behavior or the error message anymore, but I
will do some research again.
Which leads me to the question of how to plan on describing which nodes
have what hardware?
Do you mean peripheral devices? Like multiple southbridges connected to
different NUMA nodes? I don't think that this kind of emulation is
needed for QEMU, beside that this is out of scope for the ACPI tables.
If you meant this, I can elaborate on this. If not, please explain.
Regards,
Andre.
--
Andre Przywara
AMD-Operating System Research Center (OSRC), Dresden, Germany
Tel: +49 351 277-84917
----to satisfy European Law for business letters:
AMD Saxony Limited Liability Company & Co. KG,
Wilschdorfer Landstr. 101, 01109 Dresden, Germany
Register Court Dresden: HRA 4896, General Partner authorized
to represent: AMD Saxony LLC (Wilmington, Delaware, US)
General Manager of AMD Saxony LLC: Dr. Hans-R. Deppe, Thomas McCoy