[pve-devel] qemu-server : memory hotplug patch v8
Alexandre Derumier
aderumier at odiso.com
Sun Jan 25 13:55:31 CET 2015
Ok,I find I have found the problem.
Windows have no problem with any memory static + dimm_memory,
but Linux want alignment on 128MB for dimm_memory.
But that's also mean that static memory need to be aligned on 128MB,
because dimm_memory start on first memory address available.
Also, without numa, linux guest have alignment problems on some setup
and windows need numa to do memory hotplug.
So, I think it's ok to say that numa need to be enabled to get this work fine.
This new patch, defined only 2 options:
memory:
maxmemory:
maxmemory, enable memory dimm devices and memory hotplug.
memory is static_memory + dimm_memory.
I force static_memory = 512MB, so we can get correct 128MB alignment with 1,2 or 4 sockets/numa nodes.
The remaining memory is assigned to dimm_memory
here some tests with differents alignement
TESTS RESULTS
-------------
totalmemoxy (static_memory + dimm_memory) - numa - sockets number : results
windows
-------
2048 (512 + 1536) - numa - 1 : boot
2048 (512 + 1536) - numa - 2 : boot
2048 (512 + 1536) - numa - 4 : boot
2048 (512 + 1536) - nonnuma - 1 : boot
2048 (512 + 1536) - nonnuma - 2 : boot
2048 (512 + 1536) - nonnuma - 4 : boot
1024 (256 + 768) - numa - 1 : boot
1024 (256 + 768) - numa - 2 : boot
1024 (256 + 768) - numa - 4 : boot
1024 (256 + 768) - nonnuma - 1 : boot
1024 (256 + 768) - nonnuma - 2 : boot
1024 (256 + 768) - nonnuma - 4 : boot
1280 (256 + 1024) - numa - 1 : boot
1280 (256 + 1024) - numa - 2 : boot
1280 (256 + 1024) - numa - 4 : boot
1280 (256 + 1024) - nonnuma - 1 : boot
1280 (256 + 1024) - nonnuma - 2 : boot
1280 (256 + 1024) - nonnuma - 4 : boot
1024 (128 + 896) - numa - 1 : not enough memory for ramdisk
1024 (128 + 896) - numa - 2 : not enough memory for ramdisk
1024 (128 + 896) - numa - 4 : not enough memory for ramdisk
1024 (128 + 896) - nonnuma - 1 : boot
1024 (128 + 896) - nonnuma - 2 : boot
1024 (128 + 896) - nonnuma - 4 : boot
linux 3.16
----------
1024 (512 + 512) - numa - 1 : boot
1024 (512 + 512) - numa - 2 : boot
1024 (512 + 512) - numa - 4 : boot
1024 (512 + 512) - nonnuma - 1 : boot
1024 (512 + 512) - nonnuma - 2 : boot
1024 (512 + 512) - nonnuma - 4 : boot
1152 (512 + 640) - numa - 1 : boot
1152 (512 + 640) - numa - 2 : boot
1152 (512 + 640) - numa - 4 : boot
1152 (512 + 640) - nonnuma - 1 : boot
1152 (512 + 640) - nonnuma - 2 : don't boot
1152 (512 + 640) - nonnuma - 4 : don't boot
2048 (512 + 1536) - numa - 1 : boot
2048 (512 + 1536) - numa - 2 : boot
2048 (512 + 1536) - numa - 4 : boot
2048 (512 + 1536) - nonnuma - 1 : boot
2048 (512 + 1536) - nonnuma - 2 : don't boot
2048 (512 + 1536) - nonnuma - 4 : don't boot
1024 (256 + 768) - numa - 1 : boot
1024 (256 + 768) - numa - 2 : boot
1024 (256 + 768) - numa - 4 : boot - alignment warning
1024 (256 + 768) - nonnuma - 1 : boot
1024 (256 + 768) - nonnuma - 2 : don't boot
1024 (256 + 768) - nonnuma - 4 : don't boot
1280 (256 + 1024) - numa - 1 : boot
1280 (256 + 1024) - numa - 2 : boot
1280 (256 + 1024) - numa - 4 : boot - alignment warning
1280 (256 + 1024) - nonnuma - 1 : boot
1280 (256 + 1024) - nonnuma - 2 : don't boot
1280 (256 + 1024) - nonnuma - 4 : don't boot
1024 (128 + 896) - numa - 1 : boot
1024 (128 + 896) - numa - 2 : boot - alignment warning
1024 (128 + 896) - numa - 4 : boot- alignment warning
1024 (128 + 896) - nonnuma - 1 : boot
1024 (128 + 896) - nonnuma - 2 : don't boot
1024 (128 + 896) - nonnuma - 4 : don't boot
More information about the pve-devel
mailing list