qemu-devel
[Top][All Lists]
Advanced

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

Re: Adjustments of NVDIMM devices and future data safety


From: Milan Zamazal
Subject: Re: Adjustments of NVDIMM devices and future data safety
Date: Tue, 18 May 2021 17:29:33 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux)

"Liu, Jingqi" <jingqi.liu@intel.com> writes:

> Hi Milan,
>
> On 4/30/2021 8:18 PM, Milan Zamazal wrote:
>> Hi,
>>
>> I work on NVDIMM support in oVirt/RHV, I think other virtualization
>> management software built on top of QEMU may have similar concerns.
>>
>> When a virtual NVDIMM device size is specified, it's not necessarily the
>> eventual NVDIMM device size visible to the guest OS.  As seen in
>> https://github.com/qemu/qemu/blob/v6.0.0/hw/mem/nvdimm.c#L117, QEMU
>> makes some adjustments (other adjustments are performed by libvirt but
>> that's a topic for a different forum):
>>
>> - NVDIMM label size is subtracted from the NVDIMM size.
>>
>> - NVDIMM label is pointed to a certain memory region.
>>
>> - The remaining NVDIMM size is aligned down.
>>
>> There are some related potential problems:
>>
>> - If the alignment rules change in a future QEMU version, it may result
>>    in a different device size visible to the guest (even if the requested
>>    size remains the same) and cause trouble there up to data loss.
>>
>> - If the layout on the backing device changes, e.g. a label placement,
>>    then the stored data may become corrupt or inaccessible.
>>
>> - I'm not sure about the current QEMU version, but at least in previous
>>    QEMU versions, the resulting size is important for memory hot plug.
>>    The NVDIMM alignment size is smaller than the required regular memory
>>    DIMM placement alignment.  If a VM contains an NVDIMM with the
>>    resulting size not matching the DIMM placement requirements and a
>>    memory hot plug is attempted then the hot plug fails because the DIMM
>>    is mapped next to the end of the NVDIMM region, which is not
>>    DIMM-aligned.
>
> Can you explain the details and give an example of how to reproduce
> this issue ?

I rechecked it with current QEMU and several different NVDIMM device
sizes and I can no longer reproduce the issue.  So hopefully it's no
longer present.

Regards,
Milan




reply via email to

[Prev in Thread] Current Thread [Next in Thread]