[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v4 2/5] qmp: distinguish PC-DIMM and NVDIMM in M
From: |
Haozhong Zhang |
Subject: |
Re: [Qemu-devel] [PATCH v4 2/5] qmp: distinguish PC-DIMM and NVDIMM in MemoryDeviceInfoList |
Date: |
Fri, 9 Mar 2018 08:52:42 +0800 |
User-agent: |
NeoMutt/20171027 |
On 03/08/18 11:22 -0600, Eric Blake wrote:
> On 03/07/2018 08:33 PM, Haozhong Zhang wrote:
> > It may need to treat PC-DIMM and NVDIMM differently, e.g., when
> > deciding the necessity of non-volatile flag bit in SRAT memory
> > affinity structures.
> >
> > NVDIMMDeviceInfo, which inherits from PCDIMMDeviceInfo, is added to
> > union type MemoryDeviceInfo to record information of NVDIMM devices.
> > The NVDIMM-specific data is currently left empty and will be filled
> > when necessary in the future.
> >
> > It also fixes "info memory-devices"/query-memory-devices which
> > currently show nvdimm devices as dimm devices since
> > object_dynamic_cast(obj, TYPE_PC_DIMM) happily cast nvdimm to
> > TYPE_PC_DIMM which it's been inherited from.
> >
> > Signed-off-by: Haozhong Zhang <address@hidden>
> > ---
>
> > +++ b/qapi/misc.json
> > @@ -2830,6 +2830,18 @@
> > }
> > }
> > +##
> > +# @NVDIMMDeviceInfo:
> > +#
> > +# NVDIMMDevice state information
> > +#
> > +# Since: 2.12
> > +##
> > +{ 'struct': 'NVDIMMDeviceInfo',
> > + 'base': 'PCDIMMDeviceInfo',
> > + 'data': {}
> > +}
> > +
>
> As long as you don't have any data members to add, you could omit this
> type...
Sure, I'll change in the next version.
Haozhong
>
> > ##
> > # @MemoryDeviceInfo:
> > #
> > @@ -2837,7 +2849,11 @@
> > #
> > # Since: 2.1
> > ##
> > -{ 'union': 'MemoryDeviceInfo', 'data': {'dimm': 'PCDIMMDeviceInfo'} }
> > +{ 'union': 'MemoryDeviceInfo',
> > + 'data': { 'dimm': 'PCDIMMDeviceInfo',
> > + 'nvdimm': 'NVDIMMDeviceInfo'
> > + }
>
> and just write this as
>
> 'data': { 'dimm': 'PCDIMMDeviceInfo',
> 'nvdimm': 'PCDIMMDeviceInfo' }
>
> If, down the road, you want to add data members to one but not both of the
> branches, we can add a new (sub-)type at that time, and it won't break
> backwards compatibility.
>
> --
> Eric Blake, Principal Software Engineer
> Red Hat, Inc. +1-919-301-3266
> Virtualization: qemu.org | libvirt.org
- [Qemu-devel] [PATCH v4 0/5] hw/acpi-build: build SRAT memory affinity structures for DIMM devices, Haozhong Zhang, 2018/03/07
- [Qemu-devel] [PATCH v4 2/5] qmp: distinguish PC-DIMM and NVDIMM in MemoryDeviceInfoList, Haozhong Zhang, 2018/03/07
- [Qemu-devel] [PATCH v4 1/5] pc-dimm: make qmp_pc_dimm_device_list() sort devices by address, Haozhong Zhang, 2018/03/07
- [Qemu-devel] [PATCH v4 3/5] hw/acpi-build: build SRAT memory affinity structures for DIMM devices, Haozhong Zhang, 2018/03/07
- [Qemu-devel] [PATCH v4 4/5] tests/bios-tables-test: add test cases for DIMM proximity, Haozhong Zhang, 2018/03/07
- [Qemu-devel] [PATCH v4 5/5] [DO NOT APPLY] test/acpi-test-data: add ACPI tables for dimmpxm test, Haozhong Zhang, 2018/03/07
- Re: [Qemu-devel] [PATCH v4 0/5] hw/acpi-build: build SRAT memory affinity structures for DIMM devices, Haozhong Zhang, 2018/03/07