qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] e06cbc: qtest: enable vhost-user-test


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] e06cbc: qtest: enable vhost-user-test
Date: Mon, 07 Jul 2014 11:30:06 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: e06cbc376ea79061c009f529df196a3efde47d9e
      
https://github.com/qemu/qemu/commit/e06cbc376ea79061c009f529df196a3efde47d9e
  Author: Nikolay Nikolaev <address@hidden>
  Date:   2014-07-06 (Sun, 06 Jul 2014)

  Changed paths:
    M tests/Makefile

  Log Message:
  -----------
  qtest: enable vhost-user-test

Use qtest-obj-y to get the right library order. CONFIG_POSIX ensures
mingw compilation won't break.

Signed-off-by: Nikolay Nikolaev <address@hidden>
Acked-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>

MST: whitespace tweak


  Commit: 0462faee67eb9ee39e51f764891fb6b767602eed
      
https://github.com/qemu/qemu/commit/0462faee67eb9ee39e51f764891fb6b767602eed
  Author: Hu Tao <address@hidden>
  Date:   2014-07-06 (Sun, 06 Jul 2014)

  Changed paths:
    M numa.c

  Log Message:
  -----------
  numa: check for busy memory backend

Specifying the same memory backend twice leads to an assert:

./x86_64-softmmu/qemu-system-x86_64 -m 512M -enable-kvm -object
memory-backend-ram,size=256M,id=ram0 -numa node,nodeid=0,memdev=ram0
-numa node,nodeid=1,memdev=ram0
qemu-system-x86_64: /scm/qemu/memory.c:1506:
memory_region_add_subregion_common: Assertion `!subregion->container'
failed.
Aborted (core dumped)

Detect and exit with an error message instead.

Reviewed-by: Igor Mammedov <address@hidden>
Signed-off-by: Hu Tao <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 9b79a76cdbb43b0b00aaf6e9421298842fc68841
      
https://github.com/qemu/qemu/commit/9b79a76cdbb43b0b00aaf6e9421298842fc68841
  Author: Igor Mammedov <address@hidden>
  Date:   2014-07-06 (Sun, 06 Jul 2014)

  Changed paths:
    M hw/mem/pc-dimm.c

  Log Message:
  -----------
  pc-dimm: error out if memory hotplug is not enabled

fixes QEMU abort in case it's started without memory
hotplug enabled.

as result of fix it will print following messages:
"
-device pc-dimm,id=d1,memdev=m1: memory hotplug is not enabled, enable it on 
startup
-device pc-dimm,id=d1,memdev=m1: Device 'pc-dimm' could not be initialized
"

Also fixup assert condition to detect hotplug address
space overflow.

Signed-off-by: Igor Mammedov <address@hidden>
Reported-by:  Hu Tao <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 85d1277e668106294d134a101729c6f36289da1a
      
https://github.com/qemu/qemu/commit/85d1277e668106294d134a101729c6f36289da1a
  Author: Ming Lei <address@hidden>
  Date:   2014-07-06 (Sun, 06 Jul 2014)

  Changed paths:
    M hw/s390x/s390-virtio-bus.c
    M hw/s390x/virtio-ccw.c
    M hw/virtio/virtio-pci.c
    M include/hw/virtio/virtio-blk.h
    M include/hw/virtio/virtio-net.h
    M include/hw/virtio/virtio-scsi.h

  Log Message:
  -----------
  virtio: move common virtio properties to bus class device

The two common virtio features can be defined per bus, so move all
into bus class device to make code more clean.

As discussed with cornelia, s390-virtio-blk doesn't support
the two features at all, so keep s390-virtio as it.

Acked-by: Cornelia Huck <address@hidden> #for s390 ccw
Suggested-by: Paolo Bonzini <address@hidden>
Signed-off-by: Ming Lei <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>

MST: rebase and resolve conflicts


  Commit: 812c1057f6175ac9a9829fa2920a2b5783814193
      
https://github.com/qemu/qemu/commit/812c1057f6175ac9a9829fa2920a2b5783814193
  Author: Kirill Batuzov <address@hidden>
  Date:   2014-07-06 (Sun, 06 Jul 2014)

  Changed paths:
    M include/sysemu/char.h
    M qemu-char.c

  Log Message:
  -----------
  Handle G_IO_HUP in tcp_chr_read for tcp chardev

Since commit cdaa86a54b232572bba594bf87a7416e527e460c
("Add G_IO_HUP handler for socket chardev")
GLib limitation results in a bug on Windows host. Steps to reproduce:

Start qemu: qemu-system-i386 -qmp tcp:127.0.0.1:4444:server:nowait
Connect with telnet: telnet 127.0.0.1 4444
Try sending some data from telnet.
Expected result: answers from QEMU.
Observed result: no answers (actually tcp_chr_read is not called at all).

Due to GLib limitations it is not possible to create several watches on one
channel on Windows hosts. See bug #338943 in GNOME bugzilla for details:
https://bugzilla.gnome.org/show_bug.cgi?id=338943

This reimplements commit cdaa86a54b232572bba594bf87a7416e527e460c
("Add G_IO_HUP handler for socket chardev") using a single watch:

Handle G_IO_HUP in tcp_chr_read instead. It is already watched by a
corresponding watch.  Remove the second watch with its handler.

Cc: Antonios Motakis <address@hidden>
Cc: Nikolay Nikolaev <address@hidden>
Cc: Michael S. Tsirkin <address@hidden>
Signed-off-by: Kirill Batuzov <address@hidden>
Signed-off-by: Nikita Belov <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: efc8188e9398e54567b238b756eec2cc746cd2a4
      
https://github.com/qemu/qemu/commit/efc8188e9398e54567b238b756eec2cc746cd2a4
  Author: Le Tan <address@hidden>
  Date:   2014-07-06 (Sun, 06 Jul 2014)

  Changed paths:
    M hw/pci/pci.c

  Log Message:
  -----------
  pci: assign devfn to pci_dev before calling pci_device_iommu_address_space()

In function do_pci_register_device() in file hw/pci/pci.c, move the assignment
of pci_dev->devfn to the position before the call to
pci_device_iommu_address_space(pci_dev) which will use the value of
pci_dev->devfn.

Fixes: 9eda7d373e9c691c070eddcbe3467b991f67f6bd
    pci: Introduce helper to retrieve a PCI device's DMA address space

Cc: address@hidden
Signed-off-by: Le Tan <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 22dc50d75838e83b4bb05ae5554728be9f266e87
      
https://github.com/qemu/qemu/commit/22dc50d75838e83b4bb05ae5554728be9f266e87
  Author: Igor Mammedov <address@hidden>
  Date:   2014-07-06 (Sun, 06 Jul 2014)

  Changed paths:
    M hw/acpi/memory_hotplug.c

  Log Message:
  -----------
  acpi: fix typo in memory hotplug MMIO region name

Reported-by: Sergey Fionov <address@hidden>
Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Peter Crosthwaite <address@hidden>


  Commit: b7c9285b8d60d1b235a2ef03d48168d372367c5a
      
https://github.com/qemu/qemu/commit/b7c9285b8d60d1b235a2ef03d48168d372367c5a
  Author: Ming Lei <address@hidden>
  Date:   2014-07-06 (Sun, 06 Jul 2014)

  Changed paths:
    M hw/virtio/virtio-mmio.c

  Log Message:
  -----------
  hw/virtio: enable common virtio feature for mmio device

Both 'indirect_desc' and 'event_idx' are bus independent features,
and they should be enabled for mmio devices too.

On arm64 quad core VM(qemu-kvm), the patch can increase block I/O
performance a lot with latest linux tree:
  - without the patch: 14K IOPS
  - with the patch: 34K IOPS

fio script:
  [global]
  direct=1
  bsrange=4k-4k
  timeout=10
  numjobs=4
  ioengine=libaio
  iodepth=64
   filename=/dev/vdc
  group_reporting=1
   [f1]
  rw=randread

Cc: Peter Maydell <address@hidden>
Signed-off-by: Ming Lei <address@hidden>
Acked-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 319627006a8f4c43b3618932ccac615c4662dfdc
      
https://github.com/qemu/qemu/commit/319627006a8f4c43b3618932ccac615c4662dfdc
  Author: Eduardo Habkost <address@hidden>
  Date:   2014-07-06 (Sun, 06 Jul 2014)

  Changed paths:
    M hw/core/qdev.c

  Log Message:
  -----------
  qdev: Don't abort() in case globals can't be set

It would be much better if we didn't terminate QEMU inside
device_post_init(), but at least exiting cleanly is better than aborting
and dumping core.

Before this patch:

    $ qemu-system-x86_64 -global cpu.xxx=y
    qemu-system-x86_64: Property '.xxx' not found
    Aborted (core dumped)

After this patch:

    $ qemu-system-x86_64 -global cpu.xxx=y
    qemu-system-x86_64: Property '.xxx' not found

Reviewed-by: Michael S. Tsirkin <address@hidden>
Reviewed-By: Igor Mammedov <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>


  Commit: dd98b71f4885814de9a64e7acc0e17b38ab7c38b
      
https://github.com/qemu/qemu/commit/dd98b71f4885814de9a64e7acc0e17b38ab7c38b
  Author: Eduardo Habkost <address@hidden>
  Date:   2014-07-06 (Sun, 06 Jul 2014)

  Changed paths:
    M hw/core/qdev-properties-system.c

  Log Message:
  -----------
  qdev: Fix crash when using non-device class name on -global

This fixes the following crash:

    $ qemu-system-x86_64 -global container.xxx=y
    hw/core/qdev-properties-system.c:399:qdev_add_one_global: Object 
0x7f7eff234100 is not an instance of type device
    Aborted (core dumped)

New behavior will be to just warn, just like when non-existing clas
names are used:

    $ qemu-system-x86_64 -global container.xxx=y
    qemu-system-x86_64: Warning: "-global container.xxx=y" not used

Signed-off-by: Eduardo Habkost <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
Tested-by: Don Slutz <address@hidden>


  Commit: 8b81bb3b069d4007bc44c8d5888d630b7f0b42ff
      
https://github.com/qemu/qemu/commit/8b81bb3b069d4007bc44c8d5888d630b7f0b42ff
  Author: Paolo Bonzini <address@hidden>
  Date:   2014-07-06 (Sun, 06 Jul 2014)

  Changed paths:
    M hw/virtio/virtio-pci.c

  Log Message:
  -----------
  virtio-pci: fix MSI memory region use after free

After memory region QOMification QEMU is stricter in detecting
wrong usage of the memory region API.  Here it detected a
memory_region_destroy done before the corresponding
memory_region_del_subregion; the memory_region_destroy is
done by msix_uninit_exclusive_bar, the memory_region_del_subregion
is done by the PCI core's pci_unregister_io_regions before
pc->exit is called.

The problem was introduced by
commit 06a1307379fcd6c551185ad87679cd7ed896b9ea
    virtio-pci: add device_unplugged callback
As noted in that commit log, virtio device kick callbacks need to be
stopped before generic virtio is cleaned up. This is because these are
notifications from pci proxy to the generic virtio device so they need
to be stopped in the unplug call before the virtio device is unrealized.
However interrupts are notifications from the virtio device to
the pci proxy so they need to stay around while the device
is realized.

The memory API misuse caused an assertion when hot-unplugging virtio
devices.  Using the API correctly fixes the assertion.

Signed-off-by: Paolo Bonzini <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: 3f0838ab8557c6071a5931183b2d7fed568cd35c
      
https://github.com/qemu/qemu/commit/3f0838ab8557c6071a5931183b2d7fed568cd35c
  Author: Kirill Batuzov <address@hidden>
  Date:   2014-07-06 (Sun, 06 Jul 2014)

  Changed paths:
    M qemu-char.c

  Log Message:
  -----------
  qemu-char: add chr_add_watch support in mux chardev

Forward chr_add_watch call from mux chardev to underlying
implementation.

This should fix bug #1335444

Signed-off-by: Kirill Batuzov <address@hidden>
Acked-by: Paolo Bonzini <address@hidden>
Acked-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>


  Commit: c6ea9b73b12054ec96973d8b6bb7bf27f7d126cb
      
https://github.com/qemu/qemu/commit/c6ea9b73b12054ec96973d8b6bb7bf27f7d126cb
  Author: Peter Maydell <address@hidden>
  Date:   2014-07-07 (Mon, 07 Jul 2014)

  Changed paths:
    M hw/acpi/memory_hotplug.c
    M hw/core/qdev-properties-system.c
    M hw/core/qdev.c
    M hw/mem/pc-dimm.c
    M hw/pci/pci.c
    M hw/s390x/s390-virtio-bus.c
    M hw/s390x/virtio-ccw.c
    M hw/virtio/virtio-mmio.c
    M hw/virtio/virtio-pci.c
    M include/hw/virtio/virtio-blk.h
    M include/hw/virtio/virtio-net.h
    M include/hw/virtio/virtio-scsi.h
    M include/sysemu/char.h
    M numa.c
    M qemu-char.c
    M tests/Makefile

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging

pc,vhost,virtio fixes, test

Bugfixes all over the place.

There's a  non bugfix here: re-enabling the vhost-user test,
though the patch just brings back functionality that
I disabled earlier to fix mingw build failures.
This is now sorted, and keeping the unit test enabled
seems important since the feature relies on an external
server to work, so isn't easy to test.

Signed-off-by: Michael S. Tsirkin <address@hidden>

# gpg: Signature made Sun 06 Jul 2014 11:01:35 BST using RSA key ID D28D5469
# gpg: Good signature from "Michael S. Tsirkin <address@hidden>"
# gpg:                 aka "Michael S. Tsirkin <address@hidden>"

* remotes/mst/tags/for_upstream:
  qemu-char: add chr_add_watch support in mux chardev
  virtio-pci: fix MSI memory region use after free
  qdev: Fix crash when using non-device class name on -global
  qdev: Don't abort() in case globals can't be set
  hw/virtio: enable common virtio feature for mmio device
  acpi: fix typo in memory hotplug MMIO region name
  pci: assign devfn to pci_dev before calling pci_device_iommu_address_space()
  Handle G_IO_HUP in tcp_chr_read for tcp chardev
  virtio: move common virtio properties to bus class device
  pc-dimm: error out if memory hotplug is not enabled
  numa: check for busy memory backend
  qtest: enable vhost-user-test

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/9540d1f8d9b4...c6ea9b73b120

reply via email to

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