Re: [Qemu-devel] [RFC v2] qemu: Add virtio pmem device

From: Pankaj Gupta
Date: Wed Apr 25 2018 - 10:56:09 EST



>
> On 04/25/2018 06:24 AM, Pankaj Gupta wrote:
> > This patch adds virtio-pmem Qemu device.
> >
> > This device presents memory address range
> > information to guest which is backed by file
> > backend type. It acts like persistent memory
> > device for KVM guest. Guest can perform read
> > and persistent write operations on this memory
> > range with the help of DAX capable filesystem.
> >
> > Persistent guest writes are assured with the
> > help of virtio based flushing interface. When
> > guest userspace space performs fsync on file
> > fd on pmem device, a flush command is send to
> > Qemu over VIRTIO and host side flush/sync is
> > done on backing image file.
> >
> > This PV device code is dependent and tested
> > with 'David Hildenbrand's ' patchset[1] to
> > map non-PCDIMM devices to guest address space.
>
> This sentence doesn't belong in git history. It is better to put
> information like this...
>
> > There is still upstream discussion on using
> > among PCI bar vs memory device, will update
> > as per concensus.
>
> s/concensus/consensus/
>
> >
> > [1] https://marc.info/?l=qemu-devel&m=152450249319168&w=2
> >
> > Signed-off-by: Pankaj Gupta <pagupta@xxxxxxxxxx>
> > ---
>
> ...here, where it is part of the email, but not picked up by 'git am'.

I see.

Thanks!
>
>
> > +++ b/qapi/misc.json
> > @@ -2871,6 +2871,29 @@
> > }
> > }
> >
> > +##
> > +# @VirtioPMemDeviceInfo:
> > +#
> > +# VirtioPMem state information
> > +#
> > +# @id: device's ID
> > +#
> > +# @start: physical address, where device is mapped
> > +#
> > +# @size: size of memory that the device provides
> > +#
> > +# @memdev: memory backend linked with device
> > +#
> > +# Since: 2.13
> > +##
> > +{ 'struct': 'VirtioPMemDeviceInfo',
> > + 'data': { '*id': 'str',
> > + 'start': 'size',
> > + 'size': 'size',
>
> TAB damage.

o.k

>
> > + 'memdev': 'str'
> > + }
> > +}
> > +
> > ##
> > # @MemoryDeviceInfo:
> > #
> > @@ -2880,7 +2903,8 @@
> > ##
> > { 'union': 'MemoryDeviceInfo',
> > 'data': { 'dimm': 'PCDIMMDeviceInfo',
> > - 'nvdimm': 'PCDIMMDeviceInfo'
> > + 'nvdimm': 'PCDIMMDeviceInfo',
> > + 'virtio-pmem': 'VirtioPMemDeviceInfo'
> > }
> > }
> >
> >
>
> --
> Eric Blake, Principal Software Engineer
> Red Hat, Inc. +1-919-301-3266
> Virtualization: qemu.org | libvirt.org
>
>