1. 06 8月, 2015 1 次提交
  2. 05 8月, 2015 3 次提交
  3. 04 8月, 2015 9 次提交
  4. 03 8月, 2015 12 次提交
  5. 01 8月, 2015 6 次提交
  6. 30 7月, 2015 3 次提交
  7. 29 7月, 2015 5 次提交
    • S
      AioContext: force event loop iteration using BH · ca96ac44
      Stefan Hajnoczi 提交于
      The notify_me optimization introduced in commit eabc9779
      ("AioContext: fix broken ctx->dispatching optimization") skips
      event_notifier_set() calls when the event loop thread is not blocked in
      ppoll(2).
      
      This optimization causes a deadlock if two aio_context_acquire() calls
      race.  notify_me = 0 during the race so the winning thread can enter
      ppoll(2) unaware that the other thread is waiting its turn to acquire
      the AioContext.
      
      This patch forces ppoll(2) to return by scheduling a BH instead of
      calling aio_notify().
      
      The following deadlock with virtio-blk dataplane is fixed:
      
        qemu ... -object iothread,id=iothread0 \
                 -drive if=none,id=drive0,file=test.img,... \
                 -device virtio-blk-pci,iothread=iothread0,drive=drive0
      
      This command-line results in a hang early on without this patch.
      
      Thanks to Paolo Bonzini <pbonzini@redhat.com> for investigating this bug
      with me.
      
      Cc: Christian Borntraeger <borntraeger@de.ibm.com>
      Cc: Cornelia Huck <cornelia.huck@de.ibm.com>
      Cc: Paolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      Message-id: 1438101249-25166-4-git-send-email-pbonzini@redhat.com
      Message-Id: <1438014819-18125-3-git-send-email-stefanha@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      ca96ac44
    • S
      AioContext: avoid leaking BHs on cleanup · a076972a
      Stefan Hajnoczi 提交于
      BHs are freed during aio_bh_poll().  This leads to memory leaks if there
      is no aio_bh_poll() between qemu_bh_delete() and aio_ctx_finalize().
      Suggested-by: NPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      Message-id: 1438101249-25166-3-git-send-email-pbonzini@redhat.com
      Message-Id: <1438014819-18125-2-git-send-email-stefanha@redhat.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      a076972a
    • P
      virtio-blk-dataplane: delete bottom half before the AioContext is freed · fed105e2
      Paolo Bonzini 提交于
      Other uses of aio_bh_new are safe as long as all scheduled bottom
      halves are run before an iothread is destroyed, which bdrv_drain will
      ensure:
      
      - archipelago_finish_aiocb: BH deletes itself
      
      - inject_error: BH deletes itself
      
      - blkverify_aio_bh: BH deletes itself
      
      - abort_aio_request: BH deletes itself
      
      - curl_aio_readv: BH deletes itself
      
      - gluster_finish_aiocb: BH deletes itself
      
      - bdrv_aio_rw_vector: BH deletes itself
      
      - bdrv_co_maybe_schedule_bh: BH deletes itself
      
      - iscsi_schedule_bh, iscsi_co_generic_cb: BH deletes itself
      
      - laio_attach_aio_context: deleted in laio_detach_aio_context,
      called through bdrv_detach_aio_context before deleting the iothread
      
      - nfs_co_generic_cb: BH deletes itself
      
      - null_aio_common: BH deletes itself
      
      - qed_aio_complete: BH deletes itself
      
      - rbd_finish_aiocb: BH deletes itself
      
      - dma_blk_cb: BH deletes itself
      
      - virtio_blk_dma_restart_cb: BH deletes itself
      
      - qemu_bh_new: main loop AioContext is never destroyed
      
      - test-aio.c: bh_delete_cb deletes itself, otherwise deleted in
      the same function that calls aio_bh_new
      Reported-by: NCornelia Huck <cornelia.huck@de.ibm.com>
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      Message-id: 1438101249-25166-2-git-send-email-pbonzini@redhat.com
      Message-Id: <1438086628-13000-1-git-send-email-pbonzini@redhat.com>
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      fed105e2
    • P
      Merge remote-tracking branch 'remotes/stefanha/tags/net-pull-request' into staging · b83d017d
      Peter Maydell 提交于
      Pull request
      
      These two .can_receive() are now reviewed.  The net subsystem queue for 2.4 is now empty.
      
      # gpg: Signature made Tue Jul 28 13:26:03 2015 BST using RSA key ID 81AB73C8
      # gpg: Good signature from "Stefan Hajnoczi <stefanha@redhat.com>"
      # gpg:                 aka "Stefan Hajnoczi <stefanha@gmail.com>"
      
      * remotes/stefanha/tags/net-pull-request:
        xen: Drop net_rx_ok
        hw/net: handle flow control in mcf_fec driver receiver
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      b83d017d
    • P
      Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging · 170f209d
      Peter Maydell 提交于
      virtio fixes for 2.4
      
      Mostly virtio 1 spec compliance fixes.
      We are unlikely to make it perfectly compliant in
      the first release, but it seems worth it to try.
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      
      # gpg: Signature made Mon Jul 27 21:55:48 2015 BST using RSA key ID D28D5469
      # gpg: Good signature from "Michael S. Tsirkin <mst@kernel.org>"
      # gpg:                 aka "Michael S. Tsirkin <mst@redhat.com>"
      
      * remotes/mst/tags/for_upstream:
        virtio: minor cleanup
        acpi: fix pvpanic device is not shown in ui
        virtio-blk: only clear VIRTIO_F_ANY_LAYOUT for legacy device
        virtio-blk: fail get_features when both scsi and 1.0 were set
        virtio: get_features() can fail
        virtio-pci: fix memory MR cleanup for modern
        virtio: set any_layout in virtio core
        virtio-9p: fix any_layout
        virtio-serial: fix ANY_LAYOUT
        virtio: hide legacy features from modern guests
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      170f209d
  8. 28 7月, 2015 1 次提交
    • P
      Merge remote-tracking branch 'remotes/lalrae/tags/mips-20150728' into staging · 8b89b3a8
      Peter Maydell 提交于
      MIPS patches 2015-07-28
      
      Changes:
      * net/dp8393x fixes
      * Vectored Interrupts bug fix
      * fix for a bug in machine.c which was provoking a warning on FreeBSD
      
      # gpg: Signature made Tue Jul 28 10:47:19 2015 BST using RSA key ID 0B29DA6B
      # gpg: Good signature from "Leon Alrae <leon.alrae@imgtec.com>"
      # gpg: WARNING: This key is not certified with a trusted signature!
      # gpg:          There is no indication that the signature belongs to the owner.
      # Primary key fingerprint: 8DD3 2F98 5495 9D66 35D4  4FC0 5211 8E3C 0B29 DA6B
      
      * remotes/lalrae/tags/mips-20150728:
        net/dp8393x: do not use memory_region_init_rom_device with NULL
        net/dp8393x: remove check of runt packets
        net/dp8393x: disable user creation
        target-mips: fix offset calculation for Interrupts
        target-mips: fix passing incompatible pointer type in machine.c
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      8b89b3a8