1. 28 3月, 2017 1 次提交
  2. 22 3月, 2017 17 次提交
  3. 21 3月, 2017 2 次提交
    • P
      thread-pool: add missing qemu_bh_cancel in completion function · a3aeb9f0
      Peter Lieven 提交于
      commit 3c80ca15 fixed a deadlock scenarion with nested aio_poll invocations.
      
      However, the rescheduling of the completion BH introcuded unnecessary spinning
      in the main-loop. On very fast file backends this can even lead to the
      "WARNING: I/O thread spun for 1000 iterations" message popping up.
      
      Callgrind reports about 3-4% less instructions with this patch running
      qemu-img bench on a ramdisk based VMDK file.
      
      Fixes: 3c80ca15
      Cc: qemu-stable@nongnu.org
      Signed-off-by: NPeter Lieven <pl@kamp.de>
      Signed-off-by: NKevin Wolf <kwolf@redhat.com>
      (cherry picked from commit b7a745dc)
      * drop context dep on b9e413ddSigned-off-by: NMichael Roth <mdroth@linux.vnet.ibm.com>
      a3aeb9f0
    • D
      s390x/css: reassign subchannel if schid is changed after migration · 34e9c09d
      Dong Jia Shi 提交于
      The subchannel is a means to access a device. While the device number is
      assigned by the administrator, the subchannel number is assigned by
      the channel subsystem in an ascending order on cold and hot plug.
      When doing unplug and replug operations, the same device may end up on
      a different subchannel; for example
      
      - We start with a device fe.1.2222, which ends up at subchannel
        fe.1.0000.
      - Now we detach the device, attach a device fe.1.3333 (which would get
        the now-free subchannel fe.1.0000), re-attach fe.1.2222 (which ends
        up at subchannel fe.1.0001) and detach fe.1.3333.
      - We now have the same device (fe.1.2222) available to the guest; it
        just shows up on a different subchannel.
      
      In such a case, the subchannel numbers are different from what a
      QEMU would create during cold plug when parsing the command line.
      
      As this would cause a guest visible change on migration, we do restore
      the source system's value of the subchannel number on load.
      
      So we are now fine from the guest perspective. From the host
      perspective this will cause an inconsistent state in our internal data
      structures, though.
      
      For example, the subchannel 0 might not be at array position 0. This will
      lead to problems when we continue doing hot (un/re) plug operations.
      
      Let's fix this by cleaning up our internal data structures.
      Reported-by: NCornelia Huck <cornelia.huck@de.ibm.com>
      Signed-off-by: NDong Jia Shi <bjsdjshi@linux.vnet.ibm.com>
      Cc: qemu-stable@nongnu.org
      Signed-off-by: NCornelia Huck <cornelia.huck@de.ibm.com>
      (cherry picked from commit 3c788ebc)
      Signed-off-by: NMichael Roth <mdroth@linux.vnet.ibm.com>
      34e9c09d
  4. 17 3月, 2017 20 次提交