1. 18 2月, 2017 1 次提交
  2. 10 10月, 2016 1 次提交
  3. 12 7月, 2016 1 次提交
  4. 28 6月, 2016 3 次提交
  5. 08 4月, 2016 2 次提交
  6. 25 2月, 2016 2 次提交
  7. 07 2月, 2016 1 次提交
    • P
      virtio: move allocation to virtqueue_pop/vring_pop · 51b19ebe
      Paolo Bonzini 提交于
      The return code of virtqueue_pop/vring_pop is unused except to check for
      errors or 0.  We can thus easily move allocation inside the functions
      and just return a pointer to the VirtQueueElement.
      
      The advantage is that we will be able to allocate only the space that
      is needed for the actual size of the s/g list instead of the full
      VIRTQUEUE_MAX_SIZE items.  Currently VirtQueueElement takes about 48K
      of memory, and this kind of allocation puts a lot of stress on malloc.
      By cutting the size by two or three orders of magnitude, malloc can
      use much more efficient algorithms.
      
      The patch is pretty large, but changes to each device are testable
      more or less independently.  Splitting it would mostly add churn.
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      Reviewed-by: NMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: NMichael S. Tsirkin <mst@redhat.com>
      Reviewed-by: NCornelia Huck <cornelia.huck@de.ibm.com>
      51b19ebe
  8. 05 2月, 2016 1 次提交
  9. 08 12月, 2015 1 次提交
    • F
      virtio-blk: Drop x-data-plane option · a616fb75
      Fam Zheng 提交于
      The official way of enabling dataplane is through the "iothread"
      property that references an iothread object created by "-object
      iothread".  Since the old "x-data-plane=on" way now even crashes, it's
      probably easier to just drop it:
      
      $ qemu-system-x86_64 -drive file=null-co://,id=d0,if=none \
          -device virtio-blk-pci,drive=d0,x-data-plane=on
      
      ERROR:/home/fam/work/qemu/qom/object.c:1515:
      object_get_canonical_path_component: assertion failed: (obj->parent != NULL)
      Aborted
      Signed-off-by: NFam Zheng <famz@redhat.com>
      Message-id: 1449485967-19240-1-git-send-email-famz@redhat.com
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      a616fb75
  10. 08 4月, 2015 1 次提交
  11. 26 2月, 2015 1 次提交
  12. 07 2月, 2015 3 次提交
  13. 24 1月, 2015 1 次提交
  14. 20 10月, 2014 3 次提交
  15. 22 9月, 2014 1 次提交
  16. 10 9月, 2014 1 次提交
    • B
      block: Extract the block accounting code · 5e5a94b6
      Benoît Canet 提交于
      The plan is to add new accounting metrics (latency, invalid requests, failed
      requests, queue depth) and block.c is overpopulated so it will be better to work
      in a separate module.
      
      Moreover the long term plan is to have statistics in each of the BDS of the graph
      for metrology purpose; this means that the device model statistics must move from
      the topmost BDS to the device model.
      
      So we need to decouple the statistic code from BlockDriverState.
      
      This is another argument for the extraction of the code in a separate module.
      
      CC: Kevin Wolf <kwolf@redhat.com>
      CC: Stefan Hajnoczi <stefanha@redhat.com>
      CC: Max Reitz <mreitz@redhat.com>
      CC: Eric Blake <eblake@redhat.com>
      CC: Benoit Canet <benoit@irqsave.net>
      CC: Fam Zheng <famz@redhat.com>
      CC: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
      CC: Paolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: NBenoît Canet <benoit.canet@nodalink.com>
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      5e5a94b6
  17. 14 7月, 2014 1 次提交
  18. 06 7月, 2014 1 次提交
  19. 01 7月, 2014 4 次提交
  20. 28 6月, 2014 7 次提交
  21. 04 6月, 2014 1 次提交
  22. 13 3月, 2014 1 次提交
    • S
      dataplane: replace internal thread with IOThread · 48ff2692
      Stefan Hajnoczi 提交于
      Today virtio-blk dataplane uses a 1:1 device-per-thread model.  Now that
      IOThreads have been introduced we can generalize this to N:M devices per
      threads.
      
      This patch drops thread code from dataplane in favor of running inside
      an IOThread AioContext.
      
      As a bonus we solve the case where a guest keeps submitting I/O requests
      while dataplane is trying to stop.  Previously the dataplane thread
      would continue to process requests until the request gave it a break.
      Now we can shut down in bounded time thanks to
      aio_context_acquire/release.
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      48ff2692
  23. 21 9月, 2013 1 次提交
    • P
      virtio-blk: do not relay a previous driver's WCE configuration to the current · ef5bc962
      Paolo Bonzini 提交于
      The following sequence happens:
      - the SeaBIOS virtio-blk driver does not support the WCE feature, which
      causes QEMU to disable writeback caching
      
      - the Linux virtio-blk driver resets the device, finds WCE is available
      but writeback caching is disabled; tells block layer to not send cache
      flush commands
      
      - the Linux virtio-blk driver sets the DRIVER_OK bit, which causes
      writeback caching to be re-enabled, but the Linux virtio-blk driver does
      not know of this side effect and cache flushes remain disabled
      
      The bug is at the third step.  If the guest does know about CONFIG_WCE,
      QEMU should ignore the WCE feature's state.  The guest will control the
      cache mode solely using configuration space.  This change makes Linux
      do flushes correctly, but Linux will keep SeaBIOS's writethrough mode.
      
      Hence, whenever the guest is reset, the cache mode of the disk should
      be reset to whatever was specified in the "-drive" option.  With this
      change, the Linux virtio-blk driver finds that writeback caching is
      enabled, and tells the block layer to send cache flush commands
      appropriately.
      
      Reported-by: Rusty Russell <rusty@au1.ibm.com
      Cc: qemu-stable@nongnu.org
      Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: NStefan Hajnoczi <stefanha@redhat.com>
      ef5bc962