qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 17c42b: Revert "virtio: sync the dataplane vr


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 17c42b: Revert "virtio: sync the dataplane vring state to ...
Date: Tue, 28 Jun 2016 07:30:06 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 17c42b1f6bc22c64e36b7172990ac65f00be173b
      
https://github.com/qemu/qemu/commit/17c42b1f6bc22c64e36b7172990ac65f00be173b
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2016-06-28 (Tue, 28 Jun 2016)

  Changed paths:
    M hw/block/virtio-blk.c
    M hw/scsi/virtio-scsi.c

  Log Message:
  -----------
  Revert "virtio: sync the dataplane vring state to the virtqueue before 
virtio_save"

This reverts commit 10a06fd65f667a972848ebbbcac11bdba931b544.

Dataplane has used the same virtqueue code as non-dataplane since
commits e24a47c5b73e04f94030e2daa356c7582aebfca2 ("virtio-scsi: do not
use vring in dataplane") and 03de2f527499ae0c6d16a379665d072345254f2c
("virtio-blk: do not use vring in dataplane").  It is no longer
necessary to stop dataplane in order to sync state since there is no
duplicated virtqueue state.

Signed-off-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Cornelia Huck <address@hidden>
Reviewed-by: Pavel Butsykin <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 5fa78b2a1ca228255cb4a492ebf16cbb8d80c111
      
https://github.com/qemu/qemu/commit/5fa78b2a1ca228255cb4a492ebf16cbb8d80c111
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2016-06-28 (Tue, 28 Jun 2016)

  Changed paths:
    M dma-helpers.c

  Log Message:
  -----------
  dma-helpers: dma_blk_io() cancel support

Attempting to cancel a dma_blk_io() request causes an abort(3):

  void bdrv_aio_cancel(BlockAIOCB *acb)
  {
      ...
      while (acb->refcnt > 1) {
    if (acb->aiocb_info->get_aio_context) {
        aio_poll(acb->aiocb_info->get_aio_context(acb), true);
    } else if (acb->bs) {
        aio_poll(bdrv_get_aio_context(acb->bs), true);
    } else {
        abort();
    }
      }
      ...
  }

This happens because DMAAIOCB->bs is NULL and
dma_aiocb_info.get_aio_context() is also NULL.

This patch trivially implements dma_aiocb_info.get_aio_context() by
fetching the DMAAIOCB->ctx field.

Signed-off-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 84419863f72f6b9ae1b4513fa73e28690f2d5458
      
https://github.com/qemu/qemu/commit/84419863f72f6b9ae1b4513fa73e28690f2d5458
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2016-06-28 (Tue, 28 Jun 2016)

  Changed paths:
    M hw/block/virtio-blk.c
    M include/hw/virtio/virtio-blk.h

  Log Message:
  -----------
  virtio-blk: add VirtIOBlockConf->num_queues

The num_queues field is always 1 for the time being.  A later patch will
make it a configurable device property so that multiqueue can be
enabled.

Signed-off-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: e21737ab150c2742dd94089017db96c472dd4b87
      
https://github.com/qemu/qemu/commit/e21737ab150c2742dd94089017db96c472dd4b87
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2016-06-28 (Tue, 28 Jun 2016)

  Changed paths:
    M hw/block/dataplane/virtio-blk.c

  Log Message:
  -----------
  virtio-blk: multiqueue batch notify

The batch notification BH needs to know which virtqueues to notify when
multiqueue is enabled.  Use a bitmap to track the virtqueues with
pending notifications.

At this point there is only one virtqueue so hard-code virtqueue index
0.  A later patch will switch to real virtqueue indices.

Signed-off-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: b234cdda958b329dbbec840702c65432f4907623
      
https://github.com/qemu/qemu/commit/b234cdda958b329dbbec840702c65432f4907623
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2016-06-28 (Tue, 28 Jun 2016)

  Changed paths:
    M hw/block/dataplane/virtio-blk.c
    M hw/block/dataplane/virtio-blk.h
    M hw/block/virtio-blk.c

  Log Message:
  -----------
  virtio-blk: tell dataplane which vq to notify

Let the virtio_blk_data_plane_notify() caller decide which virtqueue to
notify.  This will allow the function to be used with multiqueue.

Signed-off-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: edaffd9f0baa32c9524ac8bc80370a7257aa322e
      
https://github.com/qemu/qemu/commit/edaffd9f0baa32c9524ac8bc80370a7257aa322e
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2016-06-28 (Tue, 28 Jun 2016)

  Changed paths:
    M hw/block/virtio-blk.c
    M include/hw/virtio/virtio-blk.h

  Log Message:
  -----------
  virtio-blk: associate request with a virtqueue

Multiqueue requires that each request knows to which virtqueue it
belongs.

Signed-off-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 30d8bf6d171b02e90ac8c0b5cda868282c11d1d7
      
https://github.com/qemu/qemu/commit/30d8bf6d171b02e90ac8c0b5cda868282c11d1d7
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2016-06-28 (Tue, 28 Jun 2016)

  Changed paths:
    M hw/block/virtio-blk.c

  Log Message:
  -----------
  virtio-blk: live migrate s->rq with multiqueue

Add a field for the virtqueue index when migrating the s->rq request
list.  The new field is only needed when num_queues > 1.  Existing QEMUs
are unaffected by this change and therefore virtio-blk migration stays
compatible.

Suggested-by: Paolo Bonzini <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 51b04ac5c6a63cc8cd477c15a7e0998e0af24bcc
      
https://github.com/qemu/qemu/commit/51b04ac5c6a63cc8cd477c15a7e0998e0af24bcc
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2016-06-28 (Tue, 28 Jun 2016)

  Changed paths:
    M hw/block/dataplane/virtio-blk.c

  Log Message:
  -----------
  virtio-blk: dataplane multiqueue support

Monitor ioeventfds for all virtqueues in the device's AioContext.  This
is not true multiqueue because requests from all virtqueues are
processed in a single IOThread.  In the future it will be possible to
use multiple IOThreads when the QEMU block layer supports multiqueue.

Signed-off-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 2f2705908fc4b7be868d45b7b02159fb243a8457
      
https://github.com/qemu/qemu/commit/2f2705908fc4b7be868d45b7b02159fb243a8457
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2016-06-28 (Tue, 28 Jun 2016)

  Changed paths:
    M hw/block/virtio-blk.c
    M include/hw/virtio/virtio-blk.h

  Log Message:
  -----------
  virtio-blk: add num-queues device property

Multiqueue virtio-blk can be enabled as follows:

  qemu -device virtio-blk-pci,num-queues=8

Signed-off-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 12c8720d8ff3ad1a04a1202ed15958cab03b6c1e
      
https://github.com/qemu/qemu/commit/12c8720d8ff3ad1a04a1202ed15958cab03b6c1e
  Author: Peter Maydell <address@hidden>
  Date:   2016-06-28 (Tue, 28 Jun 2016)

  Changed paths:
    M dma-helpers.c
    M hw/block/dataplane/virtio-blk.c
    M hw/block/dataplane/virtio-blk.h
    M hw/block/virtio-blk.c
    M hw/scsi/virtio-scsi.c
    M include/hw/virtio/virtio-blk.h

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request' into 
staging

# gpg: Signature made Tue 28 Jun 2016 14:23:24 BST
# gpg:                using RSA key 0x9CA4ABB381AB73C8
# gpg: Good signature from "Stefan Hajnoczi <address@hidden>"
# gpg:                 aka "Stefan Hajnoczi <address@hidden>"
# Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35  775A 9CA4 ABB3 81AB 73C8

* remotes/stefanha/tags/block-pull-request:
  virtio-blk: add num-queues device property
  virtio-blk: dataplane multiqueue support
  virtio-blk: live migrate s->rq with multiqueue
  virtio-blk: associate request with a virtqueue
  virtio-blk: tell dataplane which vq to notify
  virtio-blk: multiqueue batch notify
  virtio-blk: add VirtIOBlockConf->num_queues
  dma-helpers: dma_blk_io() cancel support
  Revert "virtio: sync the dataplane vring state to the virtqueue before 
virtio_save"

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


Compare: https://github.com/qemu/qemu/compare/40428feaeb97...12c8720d8ff3

reply via email to

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