NVDIMM sizes and DIMM hot plug

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I've found out that NVDIMM size and label size matter for regular
(non-NV) DIMM hot plug.  If the NVDIMM is not aligned correctly, the
guest OS will not accept the hot plugged memory and will complain with
messages such as

  Block size [0x8000000] unaligned hotplug range: start 0x225000000, size 0x10000000

The start address above is also reported within <memory> element of the
hot plugged memory in the domain XML:

  <address type='dimm' slot='1' base='0x225000000'/>

Apparently, in order to make memory hot plug working in the guest OS,
the inserted memory must be aligned to the platform memory alignment
(128 MB on x86_64).

I'd like to clarify, how libvirt makes the DIMM address above.  How is
the NVDIMM memory range determined?  According to my experiments, it
seems the NVDIMM specified <size> is taken, NVDIMM <label> size is
subtracted from it and the resulting value is reduced to the nearest
multiple of NVDIMM <alignsize>.  Is this observation correct?  Is it
guaranteed to be stable in future versions?  I need to determine the
right NVDIMM size to make the subsequent memory modules correctly
aligned and then I can't change the NVDIMM size, to not damage data
stored in the NVDIMM.

Additionally, when adjusting maxMemory due to NVDIMM presence, should I
increase it by the specified NVDIMM <size> or a different value?

Thank you,
Milan




[Index of Archives]     [Virt Tools]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]

  Powered by Linux