mbox

[PULL,00/38] vhost, pc, virtio features, fixes, cleanups

Message ID 1445423133-5119-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. 21, 2015, 10:26 a.m. UTC
The following changes since commit 6d57410a79d51d92673c54f26624b44f27fa6214:

  Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20151016' into staging (2015-10-17 12:31:33 +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 4f53cd7788185f437a4275df6456eb60b90d4837:

  hw/isa/lpc_ich9: inject the SMI on the VCPU that is writing to APM_CNT (2015-10-21 13:24:49 +0300)

----------------------------------------------------------------
vhost, pc, virtio features, fixes, cleanups

New features:
    VT-d support for devices behind a bridge
    vhost-user migration support

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

----------------------------------------------------------------
Cornelia Huck (1):
      virtio: add some migration doc

Eduardo Otubo (1):
      seccomp: add memfd_create to whitelist

Igor Mammedov (3):
      vhost: add vhost_has_free_slot() interface
      pc-dimm: add vhost slots limit check before commiting to hotplug
      vhost: fail backend intialization early

Knut Omang (1):
      intel_iommu: Add support for translation for devices behind bridges

Laszlo Ersek (1):
      hw/isa/lpc_ich9: inject the SMI on the VCPU that is writing to APM_CNT

Marc-André Lureau (23):
      tests: re-enable vhost-user-test
      configure: probe for memfd
      linux-headers: add unistd.h
      build-sys: split util-obj- on multi-lines
      util: add linux-only memfd fallback
      util: add memfd helpers
      util: add fallback for qemu_memfd_alloc()
      vhost: document log resizing
      vhost: add vhost_set_log_base op
      vhost-user: add vhost_user_requires_shm_log()
      vhost: alloc shareable log
      vhost-user: send log shm fd along with log_base
      vhost-user: add a migration blocker
      vhost: use a function for each call
      vhost-user: document migration log
      net: add trace_vhost_user_event
      vhost: add migration block if memfd failed
      vhost-user-test: move wait_for_fds() out
      vhost-user-test: remove useless static check
      vhost-user-test: wrap server in TestServer struct
      vhost-user-test: learn to tweak various qemu arguments
      vhost-user-test: add live-migration test
      vhost-user-test: check ownership during migration

Michael S. Tsirkin (2):
      exec: factor out duplicate mmap code
      net: don't set native endianness

Thibaut Collet (4):
      vhost user: add support of live migration
      vhost user: add rarp sending after live migration for legacy guest
      vhost-user: use an enum helper for features mask
      vhost: set the correct queue index in case of migration with multiqueue

Zhu Guihua (1):
      i386: keep cpu_model field in MachineState uptodate

zhanghailiang (1):
      piix: fix resource leak reported by Coverity

 configure                          |   20 +
 include/hw/i386/intel_iommu.h      |   16 +-
 include/hw/i386/pc.h               |    2 +-
 include/hw/virtio/vhost-backend.h  |   77 ++-
 include/hw/virtio/vhost.h          |   17 +-
 include/net/vhost_net.h            |    1 +
 include/qemu/memfd.h               |   26 +
 include/qemu/mmap-alloc.h          |   10 +
 linux-headers/asm-arm/unistd.h     |  448 +++++++++++++++
 linux-headers/asm-arm64/kvm.h      |   37 +-
 linux-headers/asm-arm64/unistd.h   |   16 +
 linux-headers/asm-mips/unistd.h    | 1063 ++++++++++++++++++++++++++++++++++++
 linux-headers/asm-powerpc/unistd.h |  392 +++++++++++++
 linux-headers/asm-s390/unistd.h    |  404 ++++++++++++++
 linux-headers/asm-x86/unistd.h     |   15 +
 linux-headers/asm-x86/unistd_32.h  |  377 +++++++++++++
 linux-headers/asm-x86/unistd_64.h  |  330 +++++++++++
 linux-headers/asm-x86/unistd_x32.h |  319 +++++++++++
 exec.c                             |   47 +-
 hw/i386/intel_iommu.c              |   89 ++-
 hw/i386/pc.c                       |   17 +-
 hw/i386/pc_piix.c                  |    2 +-
 hw/i386/pc_q35.c                   |    2 +-
 hw/isa/lpc_ich9.c                  |    2 +-
 hw/mem/pc-dimm.c                   |    7 +
 hw/net/vhost_net.c                 |   35 +-
 hw/pci-host/piix.c                 |   11 +-
 hw/pci-host/q35.c                  |   25 +-
 hw/scsi/vhost-scsi.c               |    7 +-
 hw/virtio/vhost-backend.c          |  138 ++++-
 hw/virtio/vhost-user.c             |  581 +++++++++++++-------
 hw/virtio/vhost.c                  |  156 ++++--
 net/net.c                          |    8 +
 net/vhost-user.c                   |   36 +-
 qemu-seccomp.c                     |    3 +-
 stubs/vhost.c                      |    6 +
 tests/vhost-user-test.c            |  372 +++++++++++--
 util/memfd.c                       |  162 ++++++
 util/mmap-alloc.c                  |   71 +++
 util/oslib-posix.c                 |   28 +-
 docs/specs/vhost-user.txt          |   63 ++-
 docs/virtio-migration.txt          |  106 ++++
 scripts/update-linux-headers.sh    |    7 +-
 stubs/Makefile.objs                |    1 +
 tests/Makefile                     |    4 +-
 trace-events                       |    3 +
 util/Makefile.objs                 |   13 +-
 47 files changed, 5109 insertions(+), 463 deletions(-)
 create mode 100644 include/qemu/memfd.h
 create mode 100644 include/qemu/mmap-alloc.h
 create mode 100644 linux-headers/asm-arm/unistd.h
 create mode 100644 linux-headers/asm-arm64/unistd.h
 create mode 100644 linux-headers/asm-mips/unistd.h
 create mode 100644 linux-headers/asm-powerpc/unistd.h
 create mode 100644 linux-headers/asm-s390/unistd.h
 create mode 100644 linux-headers/asm-x86/unistd.h
 create mode 100644 linux-headers/asm-x86/unistd_32.h
 create mode 100644 linux-headers/asm-x86/unistd_64.h
 create mode 100644 linux-headers/asm-x86/unistd_x32.h
 create mode 100644 stubs/vhost.c
 create mode 100644 util/memfd.c
 create mode 100644 util/mmap-alloc.c
 create mode 100644 docs/virtio-migration.txt

Comments

Peter Maydell Oct. 21, 2015, 2:06 p.m. UTC | #1
On 21 October 2015 at 11:26, Michael S. Tsirkin <mst@redhat.com> wrote:
> The following changes since commit 6d57410a79d51d92673c54f26624b44f27fa6214:
>
>   Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20151016' into staging (2015-10-17 12:31:33 +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 4f53cd7788185f437a4275df6456eb60b90d4837:
>
>   hw/isa/lpc_ich9: inject the SMI on the VCPU that is writing to APM_CNT (2015-10-21 13:24:49 +0300)
>
> ----------------------------------------------------------------
> vhost, pc, virtio features, fixes, cleanups
>
> New features:
>     VT-d support for devices behind a bridge
>     vhost-user migration support
>
> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
>
> ----------------------------------------------------------------

Test failure on 64-bit ARM and 32-bit ARM:

TEST: tests/vhost-user-test... (pid=28701)
Warning: path not on HugeTLBFS: /tmp/vhost-test-pLQQzA
qemu-system-i386: -netdev
vhost-user,id=net0,chardev=chr-test,vhostforce: vhost-net support is
not compiled in
qemu-system-i386: -netdev
vhost-user,id=net0,chardev=chr-test,vhostforce: failed to init
vhost_net for queue 0

Broken pipe
FAIL: tests/vhost-user-test

My clang build gives this:

Warning: path not on HugeTLBFS: /tmp/vhost-test-EFF6ul
/home/petmay01/linaro/qemu-for-merges/target-i386/translate.c:2421:26:
runtime error: left shift of negative value -8
Warning: path not on HugeTLBFS: /tmp/vhost-test-EFF6ul
/home/petmay01/linaro/qemu-for-merges/target-i386/translate.c:2421:26:
runtime error: left shift of negative value -8
Warning: path not on HugeTLBFS: /tmp/vhost-test-EFF6ul
/home/petmay01/linaro/qemu-for-merges/target-i386/translate.c:2421:26:
runtime error: left shift of negative value -8

The tests pass, but I'd prefer it if our tests
didn't print out random warnings in the non-verbose
case if possible; it makes it hard to sift out
"this is a problem" from "this test has always
been grumpy". (Alternatively, if "path not on HugeTLBFS"
is a problem then the test should fail.)

The negative-shift stuff is clang's undefined
sanitizer; the code in question has been doing a
"-8 << s->dflag" since at least 2013, so this is just
your test code exercising something it hadn't before.
Sanitizer issues aren't currently something I'm
requiring pull requests to deal with, so we can fix
this one later.

thanks
-- PMM
Michael S. Tsirkin Oct. 22, 2015, 11:40 a.m. UTC | #2
On Wed, Oct 21, 2015 at 03:06:57PM +0100, Peter Maydell wrote:
> On 21 October 2015 at 11:26, Michael S. Tsirkin <mst@redhat.com> wrote:
> > The following changes since commit 6d57410a79d51d92673c54f26624b44f27fa6214:
> >
> >   Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20151016' into staging (2015-10-17 12:31:33 +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 4f53cd7788185f437a4275df6456eb60b90d4837:
> >
> >   hw/isa/lpc_ich9: inject the SMI on the VCPU that is writing to APM_CNT (2015-10-21 13:24:49 +0300)
> >
> > ----------------------------------------------------------------
> > vhost, pc, virtio features, fixes, cleanups
> >
> > New features:
> >     VT-d support for devices behind a bridge
> >     vhost-user migration support
> >
> > Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> >
> > ----------------------------------------------------------------
> 
> Test failure on 64-bit ARM and 32-bit ARM:
> 
> TEST: tests/vhost-user-test... (pid=28701)
> Warning: path not on HugeTLBFS: /tmp/vhost-test-pLQQzA
> qemu-system-i386: -netdev
> vhost-user,id=net0,chardev=chr-test,vhostforce: vhost-net support is
> not compiled in
> qemu-system-i386: -netdev
> vhost-user,id=net0,chardev=chr-test,vhostforce: failed to init
> vhost_net for queue 0
> 
> Broken pipe
> FAIL: tests/vhost-user-test

Sorry about that.

I rebased and dropped the offending patch.

tag moved to 3c23402d4032f69af44a87fdb8019ad3229a4f31

Not resending full pull request since that is the only change.


> My clang build gives this:
> 
> Warning: path not on HugeTLBFS: /tmp/vhost-test-EFF6ul
> /home/petmay01/linaro/qemu-for-merges/target-i386/translate.c:2421:26:
> runtime error: left shift of negative value -8
> Warning: path not on HugeTLBFS: /tmp/vhost-test-EFF6ul
> /home/petmay01/linaro/qemu-for-merges/target-i386/translate.c:2421:26:
> runtime error: left shift of negative value -8
> Warning: path not on HugeTLBFS: /tmp/vhost-test-EFF6ul
> /home/petmay01/linaro/qemu-for-merges/target-i386/translate.c:2421:26:
> runtime error: left shift of negative value -8
> 
> The tests pass, but I'd prefer it if our tests
> didn't print out random warnings in the non-verbose
> case if possible; it makes it hard to sift out
> "this is a problem" from "this test has always
> been grumpy". (Alternatively, if "path not on HugeTLBFS"
> is a problem then the test should fail.)
> 
> The negative-shift stuff is clang's undefined
> sanitizer; the code in question has been doing a
> "-8 << s->dflag" since at least 2013, so this is just
> your test code exercising something it hadn't before.
> Sanitizer issues aren't currently something I'm
> requiring pull requests to deal with, so we can fix
> this one later.
> 
> thanks
> -- PMM
Peter Maydell Oct. 22, 2015, 12:33 p.m. UTC | #3
On 22 October 2015 at 12:40, Michael S. Tsirkin <mst@redhat.com> wrote:
> On Wed, Oct 21, 2015 at 03:06:57PM +0100, Peter Maydell wrote:
>> On 21 October 2015 at 11:26, Michael S. Tsirkin <mst@redhat.com> wrote:
>> > The following changes since commit 6d57410a79d51d92673c54f26624b44f27fa6214:
>> >
>> >   Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20151016' into staging (2015-10-17 12:31:33 +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 4f53cd7788185f437a4275df6456eb60b90d4837:
>> >
>> >   hw/isa/lpc_ich9: inject the SMI on the VCPU that is writing to APM_CNT (2015-10-21 13:24:49 +0300)
>> >
>> > ----------------------------------------------------------------
>> > vhost, pc, virtio features, fixes, cleanups
>> >
>> > New features:
>> >     VT-d support for devices behind a bridge
>> >     vhost-user migration support
>> >
>> > Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
>> >
>> > ----------------------------------------------------------------
>>
>> Test failure on 64-bit ARM and 32-bit ARM:
>>
>> TEST: tests/vhost-user-test... (pid=28701)
>> Warning: path not on HugeTLBFS: /tmp/vhost-test-pLQQzA
>> qemu-system-i386: -netdev
>> vhost-user,id=net0,chardev=chr-test,vhostforce: vhost-net support is
>> not compiled in
>> qemu-system-i386: -netdev
>> vhost-user,id=net0,chardev=chr-test,vhostforce: failed to init
>> vhost_net for queue 0
>>
>> Broken pipe
>> FAIL: tests/vhost-user-test
>
> Sorry about that.
>
> I rebased and dropped the offending patch.
>
> tag moved to 3c23402d4032f69af44a87fdb8019ad3229a4f31
>
> Not resending full pull request since that is the only change.

Applied, thanks.

-- PMM