mbox

[PULL,00/47] virtio, pc: fixes and features

Message ID 1477850917-1214-1-git-send-email-mst@redhat.com
State New
Headers show

Pull-request

git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_upstream

Message

Michael S. Tsirkin Oct. 30, 2016, 9:23 p.m. UTC
The following changes since commit 5b2ecabaeabc17f032197246c4846b9ba95ba8a6:

  Merge remote-tracking branch 'remotes/kraxel/tags/pull-ui-20161028-1' into staging (2016-10-28 17:59:04 +0100)

are available in the git repository at:

  git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_upstream

for you to fetch changes up to f082ec0225bd15c71e0b4697d2df3af7bad65d7f:

  acpi: fix assert failure caused by commit 35c5a52d (2016-10-30 20:06:25 +0200)

----------------------------------------------------------------
virtio, pc: fixes and features

nvdimm hotplug support
virtio migration and ioeventfd rework
virtio crypto device
ipmi fixes

Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

----------------------------------------------------------------
Corey Minyard (5):
      ipmi: Remove hotplug from IPMI BMCs
      ipmi_bmc_sim: Remove an unnecessary mutex
      ipmi: Implement shutdown via ACPI overtemp
      ipmi: Add graceful shutdown handling to the external BMC
      acpi/ipmi: Initialize the fwinfo before fetching it

Cédric Le Goater (1):
      ipmi: chassis poweroff should use qemu_system_shutdown_request()

Daniel P. Berrange (1):
      ipmi: fix build config variable name for ipmi_bmc_extern.o

Dr. David Alan Gilbert (2):
      virtio/migration: Add VMStateDescription to VirtioDeviceClass
      virtio/migration: Migrate balloon to VMState

Gonglei (12):
      cryptodev: introduce cryptodev backend interface
      cryptodev: add symmetric algorithm operation stuff
      virtio-crypto: introduce virtio_crypto.h
      cryptodev: introduce a new cryptodev backend
      virtio-crypto: add virtio crypto device emulation
      virtio-crypto-pci: add virtio crypto pci support
      virtio-crypto: set capacity of algorithms supported
      virtio-crypto: add control queue handler
      virtio-crypto: add data queue processing handler
      cryptodev: introduce an unified wrapper for crypto operation
      virtio-crypto: using bh to handle dataq's requests
      virtio-crypto: add myself as virtio-crypto and cryptodev backends maintainer

Haozhong Zhang (1):
      acpi: fix assert failure caused by commit 35c5a52d

Paolo Bonzini (13):
      virtio: disable ioeventfd as early as possible
      virtio: move ioeventfd_disabled flag to VirtioBusState
      virtio: move ioeventfd_started flag to VirtioBusState
      virtio: add start_ioeventfd and stop_ioeventfd to VirtioDeviceClass
      virtio: introduce virtio_device_ioeventfd_enabled
      virtio-blk: always use dataplane path if ioeventfd is active
      virtio-scsi: always use dataplane path if ioeventfd is active
      Revert "virtio: Introduce virtio_add_queue_aio"
      virtio: remove set_handler argument from set_host_notifier_internal
      virtio: remove ioeventfd_disabled altogether
      virtio: use virtio_bus_set_host_notifier to start/stop ioeventfd
      virtio: inline virtio_queue_set_host_notifier_fd_handler
      virtio: inline set_host_notifier_internal

Xiao Guangrong (12):
      acpi nvdimm: fix wrong buffer size returned by DSM method
      acpi nvdimm: fix OperationRegion definition
      acpi nvdimm: fix device physical address base
      acpi nvdimm: fix ARG3 conflict
      acpi nvdimm: fix Arg6 usage
      nvdimm acpi: compile nvdimm acpi code arch-independently
      acpi nvdimm: rename result_size to dsm_out_buf_siz
      nvdimm acpi: use common macros instead of magic names
      nvdimm acpi: prebuild nvdimm devices for available slots
      nvdimm acpi: introduce fit buffer
      nvdimm acpi: introduce _FIT
      pc: memhp: enable nvdimm device hotplug

 hw/block/dataplane/virtio-blk.h                |   6 +-
 hw/s390x/virtio-ccw.h                          |   2 -
 hw/virtio/virtio-pci.h                         |  17 +-
 include/hw/acpi/acpi_dev_interface.h           |   1 +
 include/hw/hotplug.h                           |  10 +
 include/hw/mem/nvdimm.h                        |  27 +-
 include/hw/virtio/virtio-bus.h                 |  27 +-
 include/hw/virtio/virtio-crypto.h              | 101 +++
 include/hw/virtio/virtio-scsi.h                |   6 +-
 include/hw/virtio/virtio.h                     |  15 +-
 include/standard-headers/linux/virtio_crypto.h | 429 ++++++++++++
 include/standard-headers/linux/virtio_ids.h    |   2 +-
 include/sysemu/cryptodev.h                     | 298 ++++++++
 backends/cryptodev-builtin.c                   | 361 ++++++++++
 backends/cryptodev.c                           | 245 +++++++
 hw/acpi/ipmi.c                                 |   1 +
 hw/acpi/memory_hotplug.c                       |  31 +-
 hw/acpi/nvdimm.c                               | 468 ++++++++++---
 hw/block/dataplane/virtio-blk.c                |  73 +-
 hw/block/virtio-blk.c                          |  15 +-
 hw/core/hotplug.c                              |  11 +
 hw/core/qdev.c                                 |  20 +-
 hw/i386/acpi-build.c                           |   9 +-
 hw/i386/pc.c                                   |  31 +
 hw/ipmi/ipmi.c                                 |  10 +-
 hw/ipmi/ipmi_bmc_extern.c                      |  12 +-
 hw/ipmi/ipmi_bmc_sim.c                         |   7 +-
 hw/mem/nvdimm.c                                |   4 -
 hw/s390x/virtio-ccw.c                          |  44 +-
 hw/scsi/virtio-scsi-dataplane.c                |  56 +-
 hw/scsi/virtio-scsi.c                          |  24 +-
 hw/virtio/vhost.c                              |   5 +-
 hw/virtio/virtio-balloon.c                     |  31 +-
 hw/virtio/virtio-bus.c                         | 154 ++---
 hw/virtio/virtio-crypto-pci.c                  |  77 +++
 hw/virtio/virtio-crypto.c                      | 898 +++++++++++++++++++++++++
 hw/virtio/virtio-mmio.c                        |  35 +-
 hw/virtio/virtio-pci.c                         |  40 +-
 hw/virtio/virtio.c                             | 153 +++--
 tests/ipmi-bt-test.c                           |   2 +-
 MAINTAINERS                                    |  13 +
 backends/Makefile.objs                         |   3 +
 docs/specs/acpi_mem_hotplug.txt                |   3 +
 docs/specs/acpi_nvdimm.txt                     |  58 +-
 hw/acpi/Makefile.objs                          |   2 +-
 hw/ipmi/Makefile.objs                          |   2 +-
 hw/virtio/Makefile.objs                        |   2 +
 qemu-options.hx                                |  18 +
 48 files changed, 3352 insertions(+), 507 deletions(-)
 create mode 100644 include/hw/virtio/virtio-crypto.h
 create mode 100644 include/standard-headers/linux/virtio_crypto.h
 create mode 100644 include/sysemu/cryptodev.h
 create mode 100644 backends/cryptodev-builtin.c
 create mode 100644 backends/cryptodev.c
 create mode 100644 hw/virtio/virtio-crypto-pci.c
 create mode 100644 hw/virtio/virtio-crypto.c

Comments

Igor Mammedov Oct. 31, 2016, 9:50 a.m. UTC | #1
On Sun, 30 Oct 2016 23:23:18 +0200
"Michael S. Tsirkin" <mst@redhat.com> wrote:

> The following changes since commit 5b2ecabaeabc17f032197246c4846b9ba95ba8a6:
> 
>   Merge remote-tracking branch 'remotes/kraxel/tags/pull-ui-20161028-1' into staging (2016-10-28 17:59:04 +0100)
> 
> are available in the git repository at:
> 
>   git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_upstream
> 
> for you to fetch changes up to f082ec0225bd15c71e0b4697d2df3af7bad65d7f:
> 
>   acpi: fix assert failure caused by commit 35c5a52d (2016-10-30 20:06:25 +0200)
> 
> ----------------------------------------------------------------
> virtio, pc: fixes and features
> 
> nvdimm hotplug support
Michael,

Could you drop nvdimm hotplug from pull request (I should review at least once as it touches not only NVDIMMs but a generic hotplug infrastructure)

and keep only nvdimm fixes/cleanups for now?


> virtio migration and ioeventfd rework
> virtio crypto device
> ipmi fixes
> 
> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> 
> ----------------------------------------------------------------
> Corey Minyard (5):
>       ipmi: Remove hotplug from IPMI BMCs
>       ipmi_bmc_sim: Remove an unnecessary mutex
>       ipmi: Implement shutdown via ACPI overtemp
>       ipmi: Add graceful shutdown handling to the external BMC
>       acpi/ipmi: Initialize the fwinfo before fetching it
> 
> Cédric Le Goater (1):
>       ipmi: chassis poweroff should use qemu_system_shutdown_request()
> 
> Daniel P. Berrange (1):
>       ipmi: fix build config variable name for ipmi_bmc_extern.o
> 
> Dr. David Alan Gilbert (2):
>       virtio/migration: Add VMStateDescription to VirtioDeviceClass
>       virtio/migration: Migrate balloon to VMState
> 
> Gonglei (12):
>       cryptodev: introduce cryptodev backend interface
>       cryptodev: add symmetric algorithm operation stuff
>       virtio-crypto: introduce virtio_crypto.h
>       cryptodev: introduce a new cryptodev backend
>       virtio-crypto: add virtio crypto device emulation
>       virtio-crypto-pci: add virtio crypto pci support
>       virtio-crypto: set capacity of algorithms supported
>       virtio-crypto: add control queue handler
>       virtio-crypto: add data queue processing handler
>       cryptodev: introduce an unified wrapper for crypto operation
>       virtio-crypto: using bh to handle dataq's requests
>       virtio-crypto: add myself as virtio-crypto and cryptodev backends maintainer
> 
> Haozhong Zhang (1):
>       acpi: fix assert failure caused by commit 35c5a52d
> 
> Paolo Bonzini (13):
>       virtio: disable ioeventfd as early as possible
>       virtio: move ioeventfd_disabled flag to VirtioBusState
>       virtio: move ioeventfd_started flag to VirtioBusState
>       virtio: add start_ioeventfd and stop_ioeventfd to VirtioDeviceClass
>       virtio: introduce virtio_device_ioeventfd_enabled
>       virtio-blk: always use dataplane path if ioeventfd is active
>       virtio-scsi: always use dataplane path if ioeventfd is active
>       Revert "virtio: Introduce virtio_add_queue_aio"
>       virtio: remove set_handler argument from set_host_notifier_internal
>       virtio: remove ioeventfd_disabled altogether
>       virtio: use virtio_bus_set_host_notifier to start/stop ioeventfd
>       virtio: inline virtio_queue_set_host_notifier_fd_handler
>       virtio: inline set_host_notifier_internal
> 
> Xiao Guangrong (12):
>       acpi nvdimm: fix wrong buffer size returned by DSM method
>       acpi nvdimm: fix OperationRegion definition
>       acpi nvdimm: fix device physical address base
>       acpi nvdimm: fix ARG3 conflict
>       acpi nvdimm: fix Arg6 usage
>       nvdimm acpi: compile nvdimm acpi code arch-independently
>       acpi nvdimm: rename result_size to dsm_out_buf_siz
>       nvdimm acpi: use common macros instead of magic names
>       nvdimm acpi: prebuild nvdimm devices for available slots
>       nvdimm acpi: introduce fit buffer
>       nvdimm acpi: introduce _FIT
>       pc: memhp: enable nvdimm device hotplug
> 
>  hw/block/dataplane/virtio-blk.h                |   6 +-
>  hw/s390x/virtio-ccw.h                          |   2 -
>  hw/virtio/virtio-pci.h                         |  17 +-
>  include/hw/acpi/acpi_dev_interface.h           |   1 +
>  include/hw/hotplug.h                           |  10 +
>  include/hw/mem/nvdimm.h                        |  27 +-
>  include/hw/virtio/virtio-bus.h                 |  27 +-
>  include/hw/virtio/virtio-crypto.h              | 101 +++
>  include/hw/virtio/virtio-scsi.h                |   6 +-
>  include/hw/virtio/virtio.h                     |  15 +-
>  include/standard-headers/linux/virtio_crypto.h | 429 ++++++++++++
>  include/standard-headers/linux/virtio_ids.h    |   2 +-
>  include/sysemu/cryptodev.h                     | 298 ++++++++
>  backends/cryptodev-builtin.c                   | 361 ++++++++++
>  backends/cryptodev.c                           | 245 +++++++
>  hw/acpi/ipmi.c                                 |   1 +
>  hw/acpi/memory_hotplug.c                       |  31 +-
>  hw/acpi/nvdimm.c                               | 468 ++++++++++---
>  hw/block/dataplane/virtio-blk.c                |  73 +-
>  hw/block/virtio-blk.c                          |  15 +-
>  hw/core/hotplug.c                              |  11 +
>  hw/core/qdev.c                                 |  20 +-
>  hw/i386/acpi-build.c                           |   9 +-
>  hw/i386/pc.c                                   |  31 +
>  hw/ipmi/ipmi.c                                 |  10 +-
>  hw/ipmi/ipmi_bmc_extern.c                      |  12 +-
>  hw/ipmi/ipmi_bmc_sim.c                         |   7 +-
>  hw/mem/nvdimm.c                                |   4 -
>  hw/s390x/virtio-ccw.c                          |  44 +-
>  hw/scsi/virtio-scsi-dataplane.c                |  56 +-
>  hw/scsi/virtio-scsi.c                          |  24 +-
>  hw/virtio/vhost.c                              |   5 +-
>  hw/virtio/virtio-balloon.c                     |  31 +-
>  hw/virtio/virtio-bus.c                         | 154 ++---
>  hw/virtio/virtio-crypto-pci.c                  |  77 +++
>  hw/virtio/virtio-crypto.c                      | 898 +++++++++++++++++++++++++
>  hw/virtio/virtio-mmio.c                        |  35 +-
>  hw/virtio/virtio-pci.c                         |  40 +-
>  hw/virtio/virtio.c                             | 153 +++--
>  tests/ipmi-bt-test.c                           |   2 +-
>  MAINTAINERS                                    |  13 +
>  backends/Makefile.objs                         |   3 +
>  docs/specs/acpi_mem_hotplug.txt                |   3 +
>  docs/specs/acpi_nvdimm.txt                     |  58 +-
>  hw/acpi/Makefile.objs                          |   2 +-
>  hw/ipmi/Makefile.objs                          |   2 +-
>  hw/virtio/Makefile.objs                        |   2 +
>  qemu-options.hx                                |  18 +
>  48 files changed, 3352 insertions(+), 507 deletions(-)
>  create mode 100644 include/hw/virtio/virtio-crypto.h
>  create mode 100644 include/standard-headers/linux/virtio_crypto.h
>  create mode 100644 include/sysemu/cryptodev.h
>  create mode 100644 backends/cryptodev-builtin.c
>  create mode 100644 backends/cryptodev.c
>  create mode 100644 hw/virtio/virtio-crypto-pci.c
>  create mode 100644 hw/virtio/virtio-crypto.c
> 
>
Michael S. Tsirkin Oct. 31, 2016, 10:48 p.m. UTC | #2
On Mon, Oct 31, 2016 at 10:50:31AM +0100, Igor Mammedov wrote:
> On Sun, 30 Oct 2016 23:23:18 +0200
> "Michael S. Tsirkin" <mst@redhat.com> wrote:
> 
> > The following changes since commit 5b2ecabaeabc17f032197246c4846b9ba95ba8a6:
> > 
> >   Merge remote-tracking branch 'remotes/kraxel/tags/pull-ui-20161028-1' into staging (2016-10-28 17:59:04 +0100)
> > 
> > are available in the git repository at:
> > 
> >   git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_upstream
> > 
> > for you to fetch changes up to f082ec0225bd15c71e0b4697d2df3af7bad65d7f:
> > 
> >   acpi: fix assert failure caused by commit 35c5a52d (2016-10-30 20:06:25 +0200)
> > 
> > ----------------------------------------------------------------
> > virtio, pc: fixes and features
> > 
> > nvdimm hotplug support
> Michael,
> 
> Could you drop nvdimm hotplug from pull request (I should review at least once as it touches not only NVDIMMs but a generic hotplug infrastructure)
> 
> and keep only nvdimm fixes/cleanups for now?

If I drop it now it won't be in the next QEMU and it seems like
a valuable feature. The comments so far are about minor style
improvements that IMO can be addressed by patches on top.

We can always revert if you see bigger issues, but let's enable the
testing of this feature.


> 
> > virtio migration and ioeventfd rework
> > virtio crypto device
> > ipmi fixes
> > 
> > Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> > 
> > ----------------------------------------------------------------
> > Corey Minyard (5):
> >       ipmi: Remove hotplug from IPMI BMCs
> >       ipmi_bmc_sim: Remove an unnecessary mutex
> >       ipmi: Implement shutdown via ACPI overtemp
> >       ipmi: Add graceful shutdown handling to the external BMC
> >       acpi/ipmi: Initialize the fwinfo before fetching it
> > 
> > Cédric Le Goater (1):
> >       ipmi: chassis poweroff should use qemu_system_shutdown_request()
> > 
> > Daniel P. Berrange (1):
> >       ipmi: fix build config variable name for ipmi_bmc_extern.o
> > 
> > Dr. David Alan Gilbert (2):
> >       virtio/migration: Add VMStateDescription to VirtioDeviceClass
> >       virtio/migration: Migrate balloon to VMState
> > 
> > Gonglei (12):
> >       cryptodev: introduce cryptodev backend interface
> >       cryptodev: add symmetric algorithm operation stuff
> >       virtio-crypto: introduce virtio_crypto.h
> >       cryptodev: introduce a new cryptodev backend
> >       virtio-crypto: add virtio crypto device emulation
> >       virtio-crypto-pci: add virtio crypto pci support
> >       virtio-crypto: set capacity of algorithms supported
> >       virtio-crypto: add control queue handler
> >       virtio-crypto: add data queue processing handler
> >       cryptodev: introduce an unified wrapper for crypto operation
> >       virtio-crypto: using bh to handle dataq's requests
> >       virtio-crypto: add myself as virtio-crypto and cryptodev backends maintainer
> > 
> > Haozhong Zhang (1):
> >       acpi: fix assert failure caused by commit 35c5a52d
> > 
> > Paolo Bonzini (13):
> >       virtio: disable ioeventfd as early as possible
> >       virtio: move ioeventfd_disabled flag to VirtioBusState
> >       virtio: move ioeventfd_started flag to VirtioBusState
> >       virtio: add start_ioeventfd and stop_ioeventfd to VirtioDeviceClass
> >       virtio: introduce virtio_device_ioeventfd_enabled
> >       virtio-blk: always use dataplane path if ioeventfd is active
> >       virtio-scsi: always use dataplane path if ioeventfd is active
> >       Revert "virtio: Introduce virtio_add_queue_aio"
> >       virtio: remove set_handler argument from set_host_notifier_internal
> >       virtio: remove ioeventfd_disabled altogether
> >       virtio: use virtio_bus_set_host_notifier to start/stop ioeventfd
> >       virtio: inline virtio_queue_set_host_notifier_fd_handler
> >       virtio: inline set_host_notifier_internal
> > 
> > Xiao Guangrong (12):
> >       acpi nvdimm: fix wrong buffer size returned by DSM method
> >       acpi nvdimm: fix OperationRegion definition
> >       acpi nvdimm: fix device physical address base
> >       acpi nvdimm: fix ARG3 conflict
> >       acpi nvdimm: fix Arg6 usage
> >       nvdimm acpi: compile nvdimm acpi code arch-independently
> >       acpi nvdimm: rename result_size to dsm_out_buf_siz
> >       nvdimm acpi: use common macros instead of magic names
> >       nvdimm acpi: prebuild nvdimm devices for available slots
> >       nvdimm acpi: introduce fit buffer
> >       nvdimm acpi: introduce _FIT
> >       pc: memhp: enable nvdimm device hotplug
> > 
> >  hw/block/dataplane/virtio-blk.h                |   6 +-
> >  hw/s390x/virtio-ccw.h                          |   2 -
> >  hw/virtio/virtio-pci.h                         |  17 +-
> >  include/hw/acpi/acpi_dev_interface.h           |   1 +
> >  include/hw/hotplug.h                           |  10 +
> >  include/hw/mem/nvdimm.h                        |  27 +-
> >  include/hw/virtio/virtio-bus.h                 |  27 +-
> >  include/hw/virtio/virtio-crypto.h              | 101 +++
> >  include/hw/virtio/virtio-scsi.h                |   6 +-
> >  include/hw/virtio/virtio.h                     |  15 +-
> >  include/standard-headers/linux/virtio_crypto.h | 429 ++++++++++++
> >  include/standard-headers/linux/virtio_ids.h    |   2 +-
> >  include/sysemu/cryptodev.h                     | 298 ++++++++
> >  backends/cryptodev-builtin.c                   | 361 ++++++++++
> >  backends/cryptodev.c                           | 245 +++++++
> >  hw/acpi/ipmi.c                                 |   1 +
> >  hw/acpi/memory_hotplug.c                       |  31 +-
> >  hw/acpi/nvdimm.c                               | 468 ++++++++++---
> >  hw/block/dataplane/virtio-blk.c                |  73 +-
> >  hw/block/virtio-blk.c                          |  15 +-
> >  hw/core/hotplug.c                              |  11 +
> >  hw/core/qdev.c                                 |  20 +-
> >  hw/i386/acpi-build.c                           |   9 +-
> >  hw/i386/pc.c                                   |  31 +
> >  hw/ipmi/ipmi.c                                 |  10 +-
> >  hw/ipmi/ipmi_bmc_extern.c                      |  12 +-
> >  hw/ipmi/ipmi_bmc_sim.c                         |   7 +-
> >  hw/mem/nvdimm.c                                |   4 -
> >  hw/s390x/virtio-ccw.c                          |  44 +-
> >  hw/scsi/virtio-scsi-dataplane.c                |  56 +-
> >  hw/scsi/virtio-scsi.c                          |  24 +-
> >  hw/virtio/vhost.c                              |   5 +-
> >  hw/virtio/virtio-balloon.c                     |  31 +-
> >  hw/virtio/virtio-bus.c                         | 154 ++---
> >  hw/virtio/virtio-crypto-pci.c                  |  77 +++
> >  hw/virtio/virtio-crypto.c                      | 898 +++++++++++++++++++++++++
> >  hw/virtio/virtio-mmio.c                        |  35 +-
> >  hw/virtio/virtio-pci.c                         |  40 +-
> >  hw/virtio/virtio.c                             | 153 +++--
> >  tests/ipmi-bt-test.c                           |   2 +-
> >  MAINTAINERS                                    |  13 +
> >  backends/Makefile.objs                         |   3 +
> >  docs/specs/acpi_mem_hotplug.txt                |   3 +
> >  docs/specs/acpi_nvdimm.txt                     |  58 +-
> >  hw/acpi/Makefile.objs                          |   2 +-
> >  hw/ipmi/Makefile.objs                          |   2 +-
> >  hw/virtio/Makefile.objs                        |   2 +
> >  qemu-options.hx                                |  18 +
> >  48 files changed, 3352 insertions(+), 507 deletions(-)
> >  create mode 100644 include/hw/virtio/virtio-crypto.h
> >  create mode 100644 include/standard-headers/linux/virtio_crypto.h
> >  create mode 100644 include/sysemu/cryptodev.h
> >  create mode 100644 backends/cryptodev-builtin.c
> >  create mode 100644 backends/cryptodev.c
> >  create mode 100644 hw/virtio/virtio-crypto-pci.c
> >  create mode 100644 hw/virtio/virtio-crypto.c
> > 
> >
Peter Maydell Nov. 1, 2016, 12:47 p.m. UTC | #3
On 31 October 2016 at 22:48, Michael S. Tsirkin <mst@redhat.com> wrote:
> On Mon, Oct 31, 2016 at 10:50:31AM +0100, Igor Mammedov wrote:
>> On Sun, 30 Oct 2016 23:23:18 +0200
>> "Michael S. Tsirkin" <mst@redhat.com> wrote:
>>
>> > The following changes since commit 5b2ecabaeabc17f032197246c4846b9ba95ba8a6:
>> >
>> >   Merge remote-tracking branch 'remotes/kraxel/tags/pull-ui-20161028-1' into staging (2016-10-28 17:59:04 +0100)
>> >
>> > are available in the git repository at:
>> >
>> >   git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_upstream
>> >
>> > for you to fetch changes up to f082ec0225bd15c71e0b4697d2df3af7bad65d7f:
>> >
>> >   acpi: fix assert failure caused by commit 35c5a52d (2016-10-30 20:06:25 +0200)
>> >
>> > ----------------------------------------------------------------
>> > virtio, pc: fixes and features
>> >
>> > nvdimm hotplug support
>> Michael,
>>
>> Could you drop nvdimm hotplug from pull request (I should review at least once as it touches not only NVDIMMs but a generic hotplug infrastructure)
>>
>> and keep only nvdimm fixes/cleanups for now?
>
> If I drop it now it won't be in the next QEMU and it seems like
> a valuable feature. The comments so far are about minor style
> improvements that IMO can be addressed by patches on top.
>
> We can always revert if you see bigger issues, but let's enable the
> testing of this feature.

I'm waiting for a reply from Igor before I do anything with
this pull request.

thanks
-- PMM
Igor Mammedov Nov. 1, 2016, 1:21 p.m. UTC | #4
On Tue, 1 Nov 2016 00:48:11 +0200
"Michael S. Tsirkin" <mst@redhat.com> wrote:

> On Mon, Oct 31, 2016 at 10:50:31AM +0100, Igor Mammedov wrote:
> > On Sun, 30 Oct 2016 23:23:18 +0200
> > "Michael S. Tsirkin" <mst@redhat.com> wrote:
> >   
> > > The following changes since commit 5b2ecabaeabc17f032197246c4846b9ba95ba8a6:
> > > 
> > >   Merge remote-tracking branch 'remotes/kraxel/tags/pull-ui-20161028-1' into staging (2016-10-28 17:59:04 +0100)
> > > 
> > > are available in the git repository at:
> > > 
> > >   git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_upstream
> > > 
> > > for you to fetch changes up to f082ec0225bd15c71e0b4697d2df3af7bad65d7f:
> > > 
> > >   acpi: fix assert failure caused by commit 35c5a52d (2016-10-30 20:06:25 +0200)
> > > 
> > > ----------------------------------------------------------------
> > > virtio, pc: fixes and features
> > > 
> > > nvdimm hotplug support  
> > Michael,
> > 
> > Could you drop nvdimm hotplug from pull request (I should review at least once as it touches not only NVDIMMs but a generic hotplug infrastructure)
> > 
> > and keep only nvdimm fixes/cleanups for now?  
> 
> If I drop it now it won't be in the next QEMU and it seems like
> a valuable feature. The comments so far are about minor style
> improvements that IMO can be addressed by patches on top.
wrt nvdimm hotplug support it's not about style issues but rather
design issues: for example:
 - it extends general hotplug framework unnecessarily instead of
   figuring out how it works.
 - adds not needed locks
maybe there is more and all of that was posted just a day before
this pull request so I haven't even had a chance to review it properly.



> We can always revert if you see bigger issues, but let's enable the
> testing of this feature.
if it didn't mess with general infrastructure, I wouldn't care much.
But it does so I'd rather avoid merging not yet ready series just for
the sake of getting it in.

I haven't reviewed 28-35 patches either but they are all cleanups/
fixes of current nvdimm code and local to it so don't mind them
getting merged.

However I suggest dropping 36-39 patches from this pull request
as not yet ready for merging.


>
>   
> > > virtio migration and ioeventfd rework
> > > virtio crypto device
> > > ipmi fixes
> > > 
> > > Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> > > 
> > > ----------------------------------------------------------------
> > > Corey Minyard (5):
> > >       ipmi: Remove hotplug from IPMI BMCs
> > >       ipmi_bmc_sim: Remove an unnecessary mutex
> > >       ipmi: Implement shutdown via ACPI overtemp
> > >       ipmi: Add graceful shutdown handling to the external BMC
> > >       acpi/ipmi: Initialize the fwinfo before fetching it
> > > 
> > > Cédric Le Goater (1):
> > >       ipmi: chassis poweroff should use qemu_system_shutdown_request()
> > > 
> > > Daniel P. Berrange (1):
> > >       ipmi: fix build config variable name for ipmi_bmc_extern.o
> > > 
> > > Dr. David Alan Gilbert (2):
> > >       virtio/migration: Add VMStateDescription to VirtioDeviceClass
> > >       virtio/migration: Migrate balloon to VMState
> > > 
> > > Gonglei (12):
> > >       cryptodev: introduce cryptodev backend interface
> > >       cryptodev: add symmetric algorithm operation stuff
> > >       virtio-crypto: introduce virtio_crypto.h
> > >       cryptodev: introduce a new cryptodev backend
> > >       virtio-crypto: add virtio crypto device emulation
> > >       virtio-crypto-pci: add virtio crypto pci support
> > >       virtio-crypto: set capacity of algorithms supported
> > >       virtio-crypto: add control queue handler
> > >       virtio-crypto: add data queue processing handler
> > >       cryptodev: introduce an unified wrapper for crypto operation
> > >       virtio-crypto: using bh to handle dataq's requests
> > >       virtio-crypto: add myself as virtio-crypto and cryptodev backends maintainer
> > > 
> > > Haozhong Zhang (1):
> > >       acpi: fix assert failure caused by commit 35c5a52d
> > > 
> > > Paolo Bonzini (13):
> > >       virtio: disable ioeventfd as early as possible
> > >       virtio: move ioeventfd_disabled flag to VirtioBusState
> > >       virtio: move ioeventfd_started flag to VirtioBusState
> > >       virtio: add start_ioeventfd and stop_ioeventfd to VirtioDeviceClass
> > >       virtio: introduce virtio_device_ioeventfd_enabled
> > >       virtio-blk: always use dataplane path if ioeventfd is active
> > >       virtio-scsi: always use dataplane path if ioeventfd is active
> > >       Revert "virtio: Introduce virtio_add_queue_aio"
> > >       virtio: remove set_handler argument from set_host_notifier_internal
> > >       virtio: remove ioeventfd_disabled altogether
> > >       virtio: use virtio_bus_set_host_notifier to start/stop ioeventfd
> > >       virtio: inline virtio_queue_set_host_notifier_fd_handler
> > >       virtio: inline set_host_notifier_internal
> > > 
> > > Xiao Guangrong (12):
> > >       acpi nvdimm: fix wrong buffer size returned by DSM method
> > >       acpi nvdimm: fix OperationRegion definition
> > >       acpi nvdimm: fix device physical address base
> > >       acpi nvdimm: fix ARG3 conflict
> > >       acpi nvdimm: fix Arg6 usage
> > >       nvdimm acpi: compile nvdimm acpi code arch-independently
> > >       acpi nvdimm: rename result_size to dsm_out_buf_siz
> > >       nvdimm acpi: use common macros instead of magic names
> > >       nvdimm acpi: prebuild nvdimm devices for available slots
> > >       nvdimm acpi: introduce fit buffer
> > >       nvdimm acpi: introduce _FIT
> > >       pc: memhp: enable nvdimm device hotplug
> > > 
> > >  hw/block/dataplane/virtio-blk.h                |   6 +-
> > >  hw/s390x/virtio-ccw.h                          |   2 -
> > >  hw/virtio/virtio-pci.h                         |  17 +-
> > >  include/hw/acpi/acpi_dev_interface.h           |   1 +
> > >  include/hw/hotplug.h                           |  10 +
> > >  include/hw/mem/nvdimm.h                        |  27 +-
> > >  include/hw/virtio/virtio-bus.h                 |  27 +-
> > >  include/hw/virtio/virtio-crypto.h              | 101 +++
> > >  include/hw/virtio/virtio-scsi.h                |   6 +-
> > >  include/hw/virtio/virtio.h                     |  15 +-
> > >  include/standard-headers/linux/virtio_crypto.h | 429 ++++++++++++
> > >  include/standard-headers/linux/virtio_ids.h    |   2 +-
> > >  include/sysemu/cryptodev.h                     | 298 ++++++++
> > >  backends/cryptodev-builtin.c                   | 361 ++++++++++
> > >  backends/cryptodev.c                           | 245 +++++++
> > >  hw/acpi/ipmi.c                                 |   1 +
> > >  hw/acpi/memory_hotplug.c                       |  31 +-
> > >  hw/acpi/nvdimm.c                               | 468 ++++++++++---
> > >  hw/block/dataplane/virtio-blk.c                |  73 +-
> > >  hw/block/virtio-blk.c                          |  15 +-
> > >  hw/core/hotplug.c                              |  11 +
> > >  hw/core/qdev.c                                 |  20 +-
> > >  hw/i386/acpi-build.c                           |   9 +-
> > >  hw/i386/pc.c                                   |  31 +
> > >  hw/ipmi/ipmi.c                                 |  10 +-
> > >  hw/ipmi/ipmi_bmc_extern.c                      |  12 +-
> > >  hw/ipmi/ipmi_bmc_sim.c                         |   7 +-
> > >  hw/mem/nvdimm.c                                |   4 -
> > >  hw/s390x/virtio-ccw.c                          |  44 +-
> > >  hw/scsi/virtio-scsi-dataplane.c                |  56 +-
> > >  hw/scsi/virtio-scsi.c                          |  24 +-
> > >  hw/virtio/vhost.c                              |   5 +-
> > >  hw/virtio/virtio-balloon.c                     |  31 +-
> > >  hw/virtio/virtio-bus.c                         | 154 ++---
> > >  hw/virtio/virtio-crypto-pci.c                  |  77 +++
> > >  hw/virtio/virtio-crypto.c                      | 898 +++++++++++++++++++++++++
> > >  hw/virtio/virtio-mmio.c                        |  35 +-
> > >  hw/virtio/virtio-pci.c                         |  40 +-
> > >  hw/virtio/virtio.c                             | 153 +++--
> > >  tests/ipmi-bt-test.c                           |   2 +-
> > >  MAINTAINERS                                    |  13 +
> > >  backends/Makefile.objs                         |   3 +
> > >  docs/specs/acpi_mem_hotplug.txt                |   3 +
> > >  docs/specs/acpi_nvdimm.txt                     |  58 +-
> > >  hw/acpi/Makefile.objs                          |   2 +-
> > >  hw/ipmi/Makefile.objs                          |   2 +-
> > >  hw/virtio/Makefile.objs                        |   2 +
> > >  qemu-options.hx                                |  18 +
> > >  48 files changed, 3352 insertions(+), 507 deletions(-)
> > >  create mode 100644 include/hw/virtio/virtio-crypto.h
> > >  create mode 100644 include/standard-headers/linux/virtio_crypto.h
> > >  create mode 100644 include/sysemu/cryptodev.h
> > >  create mode 100644 backends/cryptodev-builtin.c
> > >  create mode 100644 backends/cryptodev.c
> > >  create mode 100644 hw/virtio/virtio-crypto-pci.c
> > >  create mode 100644 hw/virtio/virtio-crypto.c
> > > 
> > >
Xiao Guangrong Nov. 1, 2016, 1:45 p.m. UTC | #5
On 11/01/2016 09:21 PM, Igor Mammedov wrote:
> On Tue, 1 Nov 2016 00:48:11 +0200
> "Michael S. Tsirkin" <mst@redhat.com> wrote:
>
>> On Mon, Oct 31, 2016 at 10:50:31AM +0100, Igor Mammedov wrote:
>>> On Sun, 30 Oct 2016 23:23:18 +0200
>>> "Michael S. Tsirkin" <mst@redhat.com> wrote:
>>>
>>>> The following changes since commit 5b2ecabaeabc17f032197246c4846b9ba95ba8a6:
>>>>
>>>>   Merge remote-tracking branch 'remotes/kraxel/tags/pull-ui-20161028-1' into staging (2016-10-28 17:59:04 +0100)
>>>>
>>>> are available in the git repository at:
>>>>
>>>>   git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_upstream
>>>>
>>>> for you to fetch changes up to f082ec0225bd15c71e0b4697d2df3af7bad65d7f:
>>>>
>>>>   acpi: fix assert failure caused by commit 35c5a52d (2016-10-30 20:06:25 +0200)
>>>>
>>>> ----------------------------------------------------------------
>>>> virtio, pc: fixes and features
>>>>
>>>> nvdimm hotplug support
>>> Michael,
>>>
>>> Could you drop nvdimm hotplug from pull request (I should review at least once as it touches not only NVDIMMs but a generic hotplug infrastructure)
>>>
>>> and keep only nvdimm fixes/cleanups for now?
>>
>> If I drop it now it won't be in the next QEMU and it seems like
>> a valuable feature. The comments so far are about minor style
>> improvements that IMO can be addressed by patches on top.
> wrt nvdimm hotplug support it's not about style issues but rather
> design issues: for example:
>  - it extends general hotplug framework unnecessarily instead of
>    figuring out how it works.
>  - adds not needed locks
> maybe there is more and all of that was posted just a day before
> this pull request so I haven't even had a chance to review it properly.
>
>
>
>> We can always revert if you see bigger issues, but let's enable the
>> testing of this feature.
> if it didn't mess with general infrastructure, I wouldn't care much.
> But it does so I'd rather avoid merging not yet ready series just for
> the sake of getting it in.
>
> I haven't reviewed 28-35 patches either but they are all cleanups/
> fixes of current nvdimm code and local to it so don't mind them
> getting merged.
>
> However I suggest dropping 36-39 patches from this pull request
> as not yet ready for merging.

Igor,

Thank for your hard work to review this patchset. Only two patches
related to general infrastructure that are:
[PULL 37/47] nvdimm acpi: introduce fit buffer
[PULL 39/47] pc: memhp: enable nvdimm device hotplug

The issue you pointed out in [PULL 37/47] can be easily improved
on the top of this patchset. Could you please look at the 39th,
if there is no big issue, could it be merged first?
Michael S. Tsirkin Nov. 1, 2016, 1:55 p.m. UTC | #6
On Tue, Nov 01, 2016 at 02:21:07PM +0100, Igor Mammedov wrote:
> On Tue, 1 Nov 2016 00:48:11 +0200
> "Michael S. Tsirkin" <mst@redhat.com> wrote:
> 
> > On Mon, Oct 31, 2016 at 10:50:31AM +0100, Igor Mammedov wrote:
> > > On Sun, 30 Oct 2016 23:23:18 +0200
> > > "Michael S. Tsirkin" <mst@redhat.com> wrote:
> > >   
> > > > The following changes since commit 5b2ecabaeabc17f032197246c4846b9ba95ba8a6:
> > > > 
> > > >   Merge remote-tracking branch 'remotes/kraxel/tags/pull-ui-20161028-1' into staging (2016-10-28 17:59:04 +0100)
> > > > 
> > > > are available in the git repository at:
> > > > 
> > > >   git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_upstream
> > > > 
> > > > for you to fetch changes up to f082ec0225bd15c71e0b4697d2df3af7bad65d7f:
> > > > 
> > > >   acpi: fix assert failure caused by commit 35c5a52d (2016-10-30 20:06:25 +0200)
> > > > 
> > > > ----------------------------------------------------------------
> > > > virtio, pc: fixes and features
> > > > 
> > > > nvdimm hotplug support  
> > > Michael,
> > > 
> > > Could you drop nvdimm hotplug from pull request (I should review at least once as it touches not only NVDIMMs but a generic hotplug infrastructure)
> > > 
> > > and keep only nvdimm fixes/cleanups for now?  
> > 
> > If I drop it now it won't be in the next QEMU and it seems like
> > a valuable feature. The comments so far are about minor style
> > improvements that IMO can be addressed by patches on top.
> wrt nvdimm hotplug support it's not about style issues but rather
> design issues: for example:
>  - it extends general hotplug framework unnecessarily instead of
>    figuring out how it works.
>  - adds not needed locks
> maybe there is more and all of that was posted just a day before
> this pull request so I haven't even had a chance to review it properly.
> 
> 
> 
> > We can always revert if you see bigger issues, but let's enable the
> > testing of this feature.
> if it didn't mess with general infrastructure, I wouldn't care much.
> But it does so I'd rather avoid merging not yet ready series just for
> the sake of getting it in.
> 
> I haven't reviewed 28-35 patches either but they are all cleanups/
> fixes of current nvdimm code and local to it so don't mind them
> getting merged.
> 
> However I suggest dropping 36-39 patches from this pull request
> as not yet ready for merging.

So I think it's ok to keep them from now as that should help
the feature converge faster, on the understanding the
style issues are addressed quickly.

Let's merge as is and I'll revert if this does not happen
within two weeks. Ack?
Igor Mammedov Nov. 1, 2016, 2:14 p.m. UTC | #7
On Tue, 1 Nov 2016 15:55:36 +0200
"Michael S. Tsirkin" <mst@redhat.com> wrote:

> On Tue, Nov 01, 2016 at 02:21:07PM +0100, Igor Mammedov wrote:
> > On Tue, 1 Nov 2016 00:48:11 +0200
> > "Michael S. Tsirkin" <mst@redhat.com> wrote:
> >   
> > > On Mon, Oct 31, 2016 at 10:50:31AM +0100, Igor Mammedov wrote:  
> > > > On Sun, 30 Oct 2016 23:23:18 +0200
> > > > "Michael S. Tsirkin" <mst@redhat.com> wrote:
> > > >     
> > > > > The following changes since commit 5b2ecabaeabc17f032197246c4846b9ba95ba8a6:
> > > > > 
> > > > >   Merge remote-tracking branch 'remotes/kraxel/tags/pull-ui-20161028-1' into staging (2016-10-28 17:59:04 +0100)
> > > > > 
> > > > > are available in the git repository at:
> > > > > 
> > > > >   git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_upstream
> > > > > 
> > > > > for you to fetch changes up to f082ec0225bd15c71e0b4697d2df3af7bad65d7f:
> > > > > 
> > > > >   acpi: fix assert failure caused by commit 35c5a52d (2016-10-30 20:06:25 +0200)
> > > > > 
> > > > > ----------------------------------------------------------------
> > > > > virtio, pc: fixes and features
> > > > > 
> > > > > nvdimm hotplug support    
> > > > Michael,
> > > > 
> > > > Could you drop nvdimm hotplug from pull request (I should review at least once as it touches not only NVDIMMs but a generic hotplug infrastructure)
> > > > 
> > > > and keep only nvdimm fixes/cleanups for now?    
> > > 
> > > If I drop it now it won't be in the next QEMU and it seems like
> > > a valuable feature. The comments so far are about minor style
> > > improvements that IMO can be addressed by patches on top.  
> > wrt nvdimm hotplug support it's not about style issues but rather
> > design issues: for example:
> >  - it extends general hotplug framework unnecessarily instead of
> >    figuring out how it works.
> >  - adds not needed locks
> > maybe there is more and all of that was posted just a day before
> > this pull request so I haven't even had a chance to review it properly.
> > 
> > 
> >   
> > > We can always revert if you see bigger issues, but let's enable the
> > > testing of this feature.  
> > if it didn't mess with general infrastructure, I wouldn't care much.
> > But it does so I'd rather avoid merging not yet ready series just for
> > the sake of getting it in.
> > 
> > I haven't reviewed 28-35 patches either but they are all cleanups/
> > fixes of current nvdimm code and local to it so don't mind them
> > getting merged.
> > 
> > However I suggest dropping 36-39 patches from this pull request
> > as not yet ready for merging.  
> 
> So I think it's ok to keep them from now as that should help
> the feature converge faster, on the understanding the
> style issues are addressed quickly.
> 
> Let's merge as is and I'll revert if this does not happen
> within two weeks. Ack?
Ack,
let's merge and revert if author won't fix issues in 1-2 weeks.

PS:
Looks like with new soft-freeze rules we just have one big
hard-freeze window and people trying to frantically squeeze
in features last minute.
I think previous soft-freeze rules worked better where
maintainers were still allowed merge features at their
discretion if series would converge in soft-freeze time
frame and be important/low risk one. Like the case here.
Peter Maydell Nov. 1, 2016, 2:29 p.m. UTC | #8
On 1 November 2016 at 14:14, Igor Mammedov <imammedo@redhat.com> wrote:
> PS:
> Looks like with new soft-freeze rules we just have one big
> hard-freeze window and people trying to frantically squeeze
> in features last minute.
> I think previous soft-freeze rules worked better where
> maintainers were still allowed merge features at their
> discretion if series would converge in soft-freeze time
> frame and be important/low risk one. Like the case here.

But you get an extra week before softfreeze deadline
(ie softfreeze is 2 weeks rather than 3), so it evens
out a bit. At a week into old-style softfreeze you
as a submaintainer should probably have been pushing
back on this as late for a new feature anyway.

thanks
-- PMM
Peter Maydell Nov. 1, 2016, 3:22 p.m. UTC | #9
On 30 October 2016 at 21:23, Michael S. Tsirkin <mst@redhat.com> wrote:
> The following changes since commit 5b2ecabaeabc17f032197246c4846b9ba95ba8a6:
>
>   Merge remote-tracking branch 'remotes/kraxel/tags/pull-ui-20161028-1' into staging (2016-10-28 17:59:04 +0100)
>
> are available in the git repository at:
>
>   git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_upstream
>
> for you to fetch changes up to f082ec0225bd15c71e0b4697d2df3af7bad65d7f:
>
>   acpi: fix assert failure caused by commit 35c5a52d (2016-10-30 20:06:25 +0200)
>
> ----------------------------------------------------------------
> virtio, pc: fixes and features
>
> nvdimm hotplug support
> virtio migration and ioeventfd rework
> virtio crypto device
> ipmi fixes
>
> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
>

Hi; this fails to build on OSX with format string issues:

/Users/pm215/src/qemu-for-merges/hw/virtio/virtio-crypto.c:770:20:
error: format specifies type 'unsign
ed short' but the argument has type 'uint32_t' (aka 'unsigned int')
[-Werror,-Wformat]
                   vcrypto->max_queues, VIRTIO_QUEUE_MAX);
~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/pm215/src/qemu-for-merges/include/qapi/error.h:163:35: note:
expanded from macro 'error_setg'
                        (fmt), ## __VA_ARGS__)
                                  ^

Fun fact: in struct vhost_dev, max_queues is a uint64_t;
in struct VirtIONet it is a uint16_t; and in VirtIOCrypto
it is a uint32_t...

thanks
-- PMM
Xiao Guangrong Nov. 1, 2016, 4:03 p.m. UTC | #10
On 11/01/2016 10:14 PM, Igor Mammedov wrote:
> On Tue, 1 Nov 2016 15:55:36 +0200
> "Michael S. Tsirkin" <mst@redhat.com> wrote:
>
>> On Tue, Nov 01, 2016 at 02:21:07PM +0100, Igor Mammedov wrote:
>>> On Tue, 1 Nov 2016 00:48:11 +0200
>>> "Michael S. Tsirkin" <mst@redhat.com> wrote:
>>>
>>>> On Mon, Oct 31, 2016 at 10:50:31AM +0100, Igor Mammedov wrote:
>>>>> On Sun, 30 Oct 2016 23:23:18 +0200
>>>>> "Michael S. Tsirkin" <mst@redhat.com> wrote:
>>>>>
>>>>>> The following changes since commit 5b2ecabaeabc17f032197246c4846b9ba95ba8a6:
>>>>>>
>>>>>>   Merge remote-tracking branch 'remotes/kraxel/tags/pull-ui-20161028-1' into staging (2016-10-28 17:59:04 +0100)
>>>>>>
>>>>>> are available in the git repository at:
>>>>>>
>>>>>>   git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_upstream
>>>>>>
>>>>>> for you to fetch changes up to f082ec0225bd15c71e0b4697d2df3af7bad65d7f:
>>>>>>
>>>>>>   acpi: fix assert failure caused by commit 35c5a52d (2016-10-30 20:06:25 +0200)
>>>>>>
>>>>>> ----------------------------------------------------------------
>>>>>> virtio, pc: fixes and features
>>>>>>
>>>>>> nvdimm hotplug support
>>>>> Michael,
>>>>>
>>>>> Could you drop nvdimm hotplug from pull request (I should review at least once as it touches not only NVDIMMs but a generic hotplug infrastructure)
>>>>>
>>>>> and keep only nvdimm fixes/cleanups for now?
>>>>
>>>> If I drop it now it won't be in the next QEMU and it seems like
>>>> a valuable feature. The comments so far are about minor style
>>>> improvements that IMO can be addressed by patches on top.
>>> wrt nvdimm hotplug support it's not about style issues but rather
>>> design issues: for example:
>>>  - it extends general hotplug framework unnecessarily instead of
>>>    figuring out how it works.
>>>  - adds not needed locks
>>> maybe there is more and all of that was posted just a day before
>>> this pull request so I haven't even had a chance to review it properly.
>>>
>>>
>>>
>>>> We can always revert if you see bigger issues, but let's enable the
>>>> testing of this feature.
>>> if it didn't mess with general infrastructure, I wouldn't care much.
>>> But it does so I'd rather avoid merging not yet ready series just for
>>> the sake of getting it in.
>>>
>>> I haven't reviewed 28-35 patches either but they are all cleanups/
>>> fixes of current nvdimm code and local to it so don't mind them
>>> getting merged.
>>>
>>> However I suggest dropping 36-39 patches from this pull request
>>> as not yet ready for merging.
>>
>> So I think it's ok to keep them from now as that should help
>> the feature converge faster, on the understanding the
>> style issues are addressed quickly.
>>
>> Let's merge as is and I'll revert if this does not happen
>> within two weeks. Ack?
> Ack,
> let's merge and revert if author won't fix issues in 1-2 weeks.

So happy to hear that. :)

I will address your comment after Peter merges these patches.

Thank you all!
Michael S. Tsirkin Nov. 1, 2016, 5:25 p.m. UTC | #11
On Tue, Nov 01, 2016 at 03:22:01PM +0000, Peter Maydell wrote:
> On 30 October 2016 at 21:23, Michael S. Tsirkin <mst@redhat.com> wrote:
> > The following changes since commit 5b2ecabaeabc17f032197246c4846b9ba95ba8a6:
> >
> >   Merge remote-tracking branch 'remotes/kraxel/tags/pull-ui-20161028-1' into staging (2016-10-28 17:59:04 +0100)
> >
> > are available in the git repository at:
> >
> >   git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_upstream
> >
> > for you to fetch changes up to f082ec0225bd15c71e0b4697d2df3af7bad65d7f:
> >
> >   acpi: fix assert failure caused by commit 35c5a52d (2016-10-30 20:06:25 +0200)
> >
> > ----------------------------------------------------------------
> > virtio, pc: fixes and features
> >
> > nvdimm hotplug support
> > virtio migration and ioeventfd rework
> > virtio crypto device
> > ipmi fixes
> >
> > Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> >
> 
> Hi; this fails to build on OSX with format string issues:
> 
> /Users/pm215/src/qemu-for-merges/hw/virtio/virtio-crypto.c:770:20:
> error: format specifies type 'unsign
> ed short' but the argument has type 'uint32_t' (aka 'unsigned int')
> [-Werror,-Wformat]
>                    vcrypto->max_queues, VIRTIO_QUEUE_MAX);
> ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /Users/pm215/src/qemu-for-merges/include/qapi/error.h:163:35: note:
> expanded from macro 'error_setg'
>                         (fmt), ## __VA_ARGS__)
>                                   ^
> 
> Fun fact: in struct vhost_dev, max_queues is a uint64_t;
> in struct VirtIONet it is a uint16_t; and in VirtIOCrypto
> it is a uint32_t...
> 
> thanks
> -- PMM

Yes - I really think we should move that to virtio core
going forward.
Anyway, I fixed that up and pushed.

A general question - I have a couple of tweaks to tests in
my tree. Didn't push to avoid them blocking the features.
I think test tweaks are fair game after freeze - agree?
Peter Maydell Nov. 1, 2016, 5:27 p.m. UTC | #12
On 1 November 2016 at 17:25, Michael S. Tsirkin <mst@redhat.com> wrote:
> A general question - I have a couple of tweaks to tests in
> my tree. Didn't push to avoid them blocking the features.
> I think test tweaks are fair game after freeze - agree?

Yes, especially if they're only tweaks, not enormous
changes.

thanks
-- PMM
Gonglei (Arei) Nov. 2, 2016, 1:13 a.m. UTC | #13
> -----Original Message-----
> From: Qemu-devel
> [mailto:qemu-devel-bounces+arei.gonglei=huawei.com@nongnu.org] On
> Behalf Of Michael S. Tsirkin
> Sent: Wednesday, November 02, 2016 1:26 AM
> To: Peter Maydell
> Cc: QEMU Developers
> Subject: Re: [Qemu-devel] [PULL 00/47] virtio, pc: fixes and features
> 
> On Tue, Nov 01, 2016 at 03:22:01PM +0000, Peter Maydell wrote:
> > On 30 October 2016 at 21:23, Michael S. Tsirkin <mst@redhat.com> wrote:
> > > The following changes since commit
> 5b2ecabaeabc17f032197246c4846b9ba95ba8a6:
> > >
> > >   Merge remote-tracking branch 'remotes/kraxel/tags/pull-ui-20161028-1'
> into staging (2016-10-28 17:59:04 +0100)
> > >
> > > are available in the git repository at:
> > >
> > >   git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_upstream
> > >
> > > for you to fetch changes up to
> f082ec0225bd15c71e0b4697d2df3af7bad65d7f:
> > >
> > >   acpi: fix assert failure caused by commit 35c5a52d (2016-10-30 20:06:25
> +0200)
> > >
> > > ----------------------------------------------------------------
> > > virtio, pc: fixes and features
> > >
> > > nvdimm hotplug support
> > > virtio migration and ioeventfd rework
> > > virtio crypto device
> > > ipmi fixes
> > >
> > > Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> > >
> >
> > Hi; this fails to build on OSX with format string issues:
> >
> > /Users/pm215/src/qemu-for-merges/hw/virtio/virtio-crypto.c:770:20:
> > error: format specifies type 'unsign
> > ed short' but the argument has type 'uint32_t' (aka 'unsigned int')
> > [-Werror,-Wformat]
> >                    vcrypto->max_queues, VIRTIO_QUEUE_MAX);
> > ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > /Users/pm215/src/qemu-for-merges/include/qapi/error.h:163:35: note:
> > expanded from macro 'error_setg'
> >                         (fmt), ## __VA_ARGS__)
> >                                   ^
> >
> > Fun fact: in struct vhost_dev, max_queues is a uint64_t;
> > in struct VirtIONet it is a uint16_t; and in VirtIOCrypto
> > it is a uint32_t...
> >
> > thanks
> > -- PMM
> 
> Yes - I really think we should move that to virtio core
> going forward.
> Anyway, I fixed that up and pushed.
> 
Sorry about that. TBH that error log messge is copied from virtio-net.c and
I didn't notice their types are different. For virtio-crypto, it should be 'PRIu32'.


Regards,
-Gonglei
Michael S. Tsirkin Nov. 2, 2016, 4:35 a.m. UTC | #14
On Tue, Nov 01, 2016 at 03:22:01PM +0000, Peter Maydell wrote:
> On 30 October 2016 at 21:23, Michael S. Tsirkin <mst@redhat.com> wrote:
> > The following changes since commit 5b2ecabaeabc17f032197246c4846b9ba95ba8a6:
> >
> >   Merge remote-tracking branch 'remotes/kraxel/tags/pull-ui-20161028-1' into staging (2016-10-28 17:59:04 +0100)
> >
> > are available in the git repository at:
> >
> >   git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_upstream
> >
> > for you to fetch changes up to f082ec0225bd15c71e0b4697d2df3af7bad65d7f:
> >
> >   acpi: fix assert failure caused by commit 35c5a52d (2016-10-30 20:06:25 +0200)
> >
> > ----------------------------------------------------------------
> > virtio, pc: fixes and features
> >
> > nvdimm hotplug support
> > virtio migration and ioeventfd rework
> > virtio crypto device
> > ipmi fixes
> >
> > Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> >
> 
> Hi; this fails to build on OSX with format string issues:
> 
> /Users/pm215/src/qemu-for-merges/hw/virtio/virtio-crypto.c:770:20:
> error: format specifies type 'unsign
> ed short' but the argument has type 'uint32_t' (aka 'unsigned int')
> [-Werror,-Wformat]
>                    vcrypto->max_queues, VIRTIO_QUEUE_MAX);
> ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> /Users/pm215/src/qemu-for-merges/include/qapi/error.h:163:35: note:
> expanded from macro 'error_setg'
>                         (fmt), ## __VA_ARGS__)
>                                   ^
> 
> Fun fact: in struct vhost_dev, max_queues is a uint64_t;
> in struct VirtIONet it is a uint16_t; and in VirtIOCrypto
> it is a uint32_t...
> 
> thanks
> -- PMM

Just to make sure : I fixed that and pushed to
same tag. I don't think it makes sense to repost the pull
request - pls take it from
   git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_upstream
Peter Maydell Nov. 2, 2016, 1:14 p.m. UTC | #15
On 2 November 2016 at 04:35, Michael S. Tsirkin <mst@redhat.com> wrote:
> On Tue, Nov 01, 2016 at 03:22:01PM +0000, Peter Maydell wrote:
>> On 30 October 2016 at 21:23, Michael S. Tsirkin <mst@redhat.com> wrote:
>> > The following changes since commit 5b2ecabaeabc17f032197246c4846b9ba95ba8a6:
>> >
>> >   Merge remote-tracking branch 'remotes/kraxel/tags/pull-ui-20161028-1' into staging (2016-10-28 17:59:04 +0100)
>> >
>> > are available in the git repository at:
>> >
>> >   git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_upstream
>> >
>> > for you to fetch changes up to f082ec0225bd15c71e0b4697d2df3af7bad65d7f:
>> >
>> >   acpi: fix assert failure caused by commit 35c5a52d (2016-10-30 20:06:25 +0200)
>> >
>> > ----------------------------------------------------------------
>> > virtio, pc: fixes and features
>> >
>> > nvdimm hotplug support
>> > virtio migration and ioeventfd rework
>> > virtio crypto device
>> > ipmi fixes
>> >
>> > Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
>> >
>>
>> Hi; this fails to build on OSX with format string issues:
>>
>> /Users/pm215/src/qemu-for-merges/hw/virtio/virtio-crypto.c:770:20:
>> error: format specifies type 'unsign
>> ed short' but the argument has type 'uint32_t' (aka 'unsigned int')
>> [-Werror,-Wformat]
>>                    vcrypto->max_queues, VIRTIO_QUEUE_MAX);
>> ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> /Users/pm215/src/qemu-for-merges/include/qapi/error.h:163:35: note:
>> expanded from macro 'error_setg'
>>                         (fmt), ## __VA_ARGS__)
>>                                   ^
>>
>> Fun fact: in struct vhost_dev, max_queues is a uint64_t;
>> in struct VirtIONet it is a uint16_t; and in VirtIOCrypto
>> it is a uint32_t...
>>
>> thanks
>> -- PMM
>
> Just to make sure : I fixed that and pushed to
> same tag. I don't think it makes sense to repost the pull
> request - pls take it from
>    git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_upstream

You should always repost at least the cover-letter part
of a fresh pull request, because otherwise it is likely
to not be caught by the email filters that find pull requests.

(In this case I've handed over pull request processing
to Stefan, so the question would be whether his filters
notice.)

thanks
-- PMM
Michael S. Tsirkin Nov. 3, 2016, 3:35 a.m. UTC | #16
On Wed, Nov 02, 2016 at 01:14:07PM +0000, Peter Maydell wrote:
> On 2 November 2016 at 04:35, Michael S. Tsirkin <mst@redhat.com> wrote:
> > On Tue, Nov 01, 2016 at 03:22:01PM +0000, Peter Maydell wrote:
> >> On 30 October 2016 at 21:23, Michael S. Tsirkin <mst@redhat.com> wrote:
> >> > The following changes since commit 5b2ecabaeabc17f032197246c4846b9ba95ba8a6:
> >> >
> >> >   Merge remote-tracking branch 'remotes/kraxel/tags/pull-ui-20161028-1' into staging (2016-10-28 17:59:04 +0100)
> >> >
> >> > are available in the git repository at:
> >> >
> >> >   git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_upstream
> >> >
> >> > for you to fetch changes up to f082ec0225bd15c71e0b4697d2df3af7bad65d7f:
> >> >
> >> >   acpi: fix assert failure caused by commit 35c5a52d (2016-10-30 20:06:25 +0200)
> >> >
> >> > ----------------------------------------------------------------
> >> > virtio, pc: fixes and features
> >> >
> >> > nvdimm hotplug support
> >> > virtio migration and ioeventfd rework
> >> > virtio crypto device
> >> > ipmi fixes
> >> >
> >> > Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> >> >
> >>
> >> Hi; this fails to build on OSX with format string issues:
> >>
> >> /Users/pm215/src/qemu-for-merges/hw/virtio/virtio-crypto.c:770:20:
> >> error: format specifies type 'unsign
> >> ed short' but the argument has type 'uint32_t' (aka 'unsigned int')
> >> [-Werror,-Wformat]
> >>                    vcrypto->max_queues, VIRTIO_QUEUE_MAX);
> >> ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >> /Users/pm215/src/qemu-for-merges/include/qapi/error.h:163:35: note:
> >> expanded from macro 'error_setg'
> >>                         (fmt), ## __VA_ARGS__)
> >>                                   ^
> >>
> >> Fun fact: in struct vhost_dev, max_queues is a uint64_t;
> >> in struct VirtIONet it is a uint16_t; and in VirtIOCrypto
> >> it is a uint32_t...
> >>
> >> thanks
> >> -- PMM
> >
> > Just to make sure : I fixed that and pushed to
> > same tag. I don't think it makes sense to repost the pull
> > request - pls take it from
> >    git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_upstream
> 
> You should always repost at least the cover-letter part
> of a fresh pull request, because otherwise it is likely
> to not be caught by the email filters that find pull requests.
> 
> (In this case I've handed over pull request processing
> to Stefan, so the question would be whether his filters
> notice.)
> 
> thanks
> -- PMM

Stefan, could you confirm pls?
Stefan Hajnoczi Nov. 3, 2016, 4:59 p.m. UTC | #17
On Sun, Oct 30, 2016 at 11:23:18PM +0200, Michael S. Tsirkin wrote:
> The following changes since commit 5b2ecabaeabc17f032197246c4846b9ba95ba8a6:
> 
>   Merge remote-tracking branch 'remotes/kraxel/tags/pull-ui-20161028-1' into staging (2016-10-28 17:59:04 +0100)
> 
> are available in the git repository at:
> 
>   git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_upstream
> 
> for you to fetch changes up to f082ec0225bd15c71e0b4697d2df3af7bad65d7f:
> 
>   acpi: fix assert failure caused by commit 35c5a52d (2016-10-30 20:06:25 +0200)
> 
> ----------------------------------------------------------------
> virtio, pc: fixes and features
> 
> nvdimm hotplug support
> virtio migration and ioeventfd rework
> virtio crypto device
> ipmi fixes
> 
> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> 
> ----------------------------------------------------------------
> Corey Minyard (5):
>       ipmi: Remove hotplug from IPMI BMCs
>       ipmi_bmc_sim: Remove an unnecessary mutex
>       ipmi: Implement shutdown via ACPI overtemp
>       ipmi: Add graceful shutdown handling to the external BMC
>       acpi/ipmi: Initialize the fwinfo before fetching it
> 
> Cédric Le Goater (1):
>       ipmi: chassis poweroff should use qemu_system_shutdown_request()
> 
> Daniel P. Berrange (1):
>       ipmi: fix build config variable name for ipmi_bmc_extern.o
> 
> Dr. David Alan Gilbert (2):
>       virtio/migration: Add VMStateDescription to VirtioDeviceClass
>       virtio/migration: Migrate balloon to VMState
> 
> Gonglei (12):
>       cryptodev: introduce cryptodev backend interface
>       cryptodev: add symmetric algorithm operation stuff
>       virtio-crypto: introduce virtio_crypto.h
>       cryptodev: introduce a new cryptodev backend
>       virtio-crypto: add virtio crypto device emulation
>       virtio-crypto-pci: add virtio crypto pci support
>       virtio-crypto: set capacity of algorithms supported
>       virtio-crypto: add control queue handler
>       virtio-crypto: add data queue processing handler
>       cryptodev: introduce an unified wrapper for crypto operation
>       virtio-crypto: using bh to handle dataq's requests
>       virtio-crypto: add myself as virtio-crypto and cryptodev backends maintainer
> 
> Haozhong Zhang (1):
>       acpi: fix assert failure caused by commit 35c5a52d
> 
> Paolo Bonzini (13):
>       virtio: disable ioeventfd as early as possible
>       virtio: move ioeventfd_disabled flag to VirtioBusState
>       virtio: move ioeventfd_started flag to VirtioBusState
>       virtio: add start_ioeventfd and stop_ioeventfd to VirtioDeviceClass
>       virtio: introduce virtio_device_ioeventfd_enabled
>       virtio-blk: always use dataplane path if ioeventfd is active
>       virtio-scsi: always use dataplane path if ioeventfd is active
>       Revert "virtio: Introduce virtio_add_queue_aio"
>       virtio: remove set_handler argument from set_host_notifier_internal
>       virtio: remove ioeventfd_disabled altogether
>       virtio: use virtio_bus_set_host_notifier to start/stop ioeventfd
>       virtio: inline virtio_queue_set_host_notifier_fd_handler
>       virtio: inline set_host_notifier_internal
> 
> Xiao Guangrong (12):
>       acpi nvdimm: fix wrong buffer size returned by DSM method
>       acpi nvdimm: fix OperationRegion definition
>       acpi nvdimm: fix device physical address base
>       acpi nvdimm: fix ARG3 conflict
>       acpi nvdimm: fix Arg6 usage
>       nvdimm acpi: compile nvdimm acpi code arch-independently
>       acpi nvdimm: rename result_size to dsm_out_buf_siz
>       nvdimm acpi: use common macros instead of magic names
>       nvdimm acpi: prebuild nvdimm devices for available slots
>       nvdimm acpi: introduce fit buffer
>       nvdimm acpi: introduce _FIT
>       pc: memhp: enable nvdimm device hotplug
> 
>  hw/block/dataplane/virtio-blk.h                |   6 +-
>  hw/s390x/virtio-ccw.h                          |   2 -
>  hw/virtio/virtio-pci.h                         |  17 +-
>  include/hw/acpi/acpi_dev_interface.h           |   1 +
>  include/hw/hotplug.h                           |  10 +
>  include/hw/mem/nvdimm.h                        |  27 +-
>  include/hw/virtio/virtio-bus.h                 |  27 +-
>  include/hw/virtio/virtio-crypto.h              | 101 +++
>  include/hw/virtio/virtio-scsi.h                |   6 +-
>  include/hw/virtio/virtio.h                     |  15 +-
>  include/standard-headers/linux/virtio_crypto.h | 429 ++++++++++++
>  include/standard-headers/linux/virtio_ids.h    |   2 +-
>  include/sysemu/cryptodev.h                     | 298 ++++++++
>  backends/cryptodev-builtin.c                   | 361 ++++++++++
>  backends/cryptodev.c                           | 245 +++++++
>  hw/acpi/ipmi.c                                 |   1 +
>  hw/acpi/memory_hotplug.c                       |  31 +-
>  hw/acpi/nvdimm.c                               | 468 ++++++++++---
>  hw/block/dataplane/virtio-blk.c                |  73 +-
>  hw/block/virtio-blk.c                          |  15 +-
>  hw/core/hotplug.c                              |  11 +
>  hw/core/qdev.c                                 |  20 +-
>  hw/i386/acpi-build.c                           |   9 +-
>  hw/i386/pc.c                                   |  31 +
>  hw/ipmi/ipmi.c                                 |  10 +-
>  hw/ipmi/ipmi_bmc_extern.c                      |  12 +-
>  hw/ipmi/ipmi_bmc_sim.c                         |   7 +-
>  hw/mem/nvdimm.c                                |   4 -
>  hw/s390x/virtio-ccw.c                          |  44 +-
>  hw/scsi/virtio-scsi-dataplane.c                |  56 +-
>  hw/scsi/virtio-scsi.c                          |  24 +-
>  hw/virtio/vhost.c                              |   5 +-
>  hw/virtio/virtio-balloon.c                     |  31 +-
>  hw/virtio/virtio-bus.c                         | 154 ++---
>  hw/virtio/virtio-crypto-pci.c                  |  77 +++
>  hw/virtio/virtio-crypto.c                      | 898 +++++++++++++++++++++++++
>  hw/virtio/virtio-mmio.c                        |  35 +-
>  hw/virtio/virtio-pci.c                         |  40 +-
>  hw/virtio/virtio.c                             | 153 +++--
>  tests/ipmi-bt-test.c                           |   2 +-
>  MAINTAINERS                                    |  13 +
>  backends/Makefile.objs                         |   3 +
>  docs/specs/acpi_mem_hotplug.txt                |   3 +
>  docs/specs/acpi_nvdimm.txt                     |  58 +-
>  hw/acpi/Makefile.objs                          |   2 +-
>  hw/ipmi/Makefile.objs                          |   2 +-
>  hw/virtio/Makefile.objs                        |   2 +
>  qemu-options.hx                                |  18 +
>  48 files changed, 3352 insertions(+), 507 deletions(-)
>  create mode 100644 include/hw/virtio/virtio-crypto.h
>  create mode 100644 include/standard-headers/linux/virtio_crypto.h
>  create mode 100644 include/sysemu/cryptodev.h
>  create mode 100644 backends/cryptodev-builtin.c
>  create mode 100644 backends/cryptodev.c
>  create mode 100644 hw/virtio/virtio-crypto-pci.c
>  create mode 100644 hw/virtio/virtio-crypto.c
> 
> 

Thanks, applied latest pull request to my staging tree:
https://github.com/stefanha/qemu/commits/staging

Will be in qemu.git/master pending Travis-CI build tests.

Stefan