qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] da5e1d: Revert "iothread: release iothread ar


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] da5e1d: Revert "iothread: release iothread around aio_poll...
Date: Mon, 15 Jun 2015 03:00:07 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: da5e1de95bb235330d7724316e7a29239d1359d5
      
https://github.com/qemu/qemu/commit/da5e1de95bb235330d7724316e7a29239d1359d5
  Author: Stefan Hajnoczi <address@hidden>
  Date:   2015-06-12 (Fri, 12 Jun 2015)

  Changed paths:
    M async.c
    M iothread.c
    M tests/test-aio.c

  Log Message:
  -----------
  Revert "iothread: release iothread around aio_poll"

This reverts commit a0710f7995f914e3044e5899bd8ff6c43c62f916.

In qemu-devel email message <address@hidden>, Christian
Borntraeger writes:

  Having many guests all with a kernel/ramdisk (via -kernel) and
  several null block devices will result in hangs. All hanging
  guests are in partition detection code waiting for an I/O to return
  so very early maybe even the first I/O.

  Reverting that commit "fixes" the hangs.

Reverting this commit for the 2.4 release.  More time is needed to
investigate and correct this patch.

Reported-by: Christian Borntraeger <address@hidden>
Suggested-by: Paolo Bonzini <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: f4a769abaa51badea666093077c50c568c35de17
      
https://github.com/qemu/qemu/commit/f4a769abaa51badea666093077c50c568c35de17
  Author: Kevin Wolf <address@hidden>
  Date:   2015-06-12 (Fri, 12 Jun 2015)

  Changed paths:
    M block/raw-posix.c

  Log Message:
  -----------
  raw-posix: Fix .bdrv_co_get_block_status() for unaligned image size

Image files with an unaligned image size have a final hole that starts
at EOF, i.e. in the middle of a sector. Currently, *pnum == 0 is
returned when checking the status of this sector. In qemu-img, this
triggers an assertion failure.

In order to fix this, one type for the sector that contains EOF must be
found. Treating a hole as data is safe, so this patch rounds the
calculated number of data sectors up, so that a partial sector at EOF is
treated as a full data sector.

This fixes https://bugzilla.redhat.com/show_bug.cgi?id=1229394

Signed-off-by: Kevin Wolf <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 0e5b0a2d54f4dca2f6d1a676da8ec089dc143001
      
https://github.com/qemu/qemu/commit/0e5b0a2d54f4dca2f6d1a676da8ec089dc143001
  Author: BenoƮt Canet <address@hidden>
  Date:   2015-06-12 (Fri, 12 Jun 2015)

  Changed paths:
    M block.c
    M block/io.c
    M include/block/block_int.h
    M include/qemu/throttle.h
    M tests/test-throttle.c
    M util/throttle.c

  Log Message:
  -----------
  throttle: Extract timers from ThrottleState into a separate structure

Group throttling will share ThrottleState between multiple bs.
As a consequence the ThrottleState will be accessed by multiple aio
context.

Timers are tied to their aio context so they must go out of the
ThrottleState structure.

This commit paves the way for each bs of a common ThrottleState to
have its own timer.

Signed-off-by: Benoit Canet <address@hidden>
Signed-off-by: Alberto Garcia <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 2ff1f2e3a39daf4a401a8904d00b29ea8c450463
      
https://github.com/qemu/qemu/commit/2ff1f2e3a39daf4a401a8904d00b29ea8c450463
  Author: Alberto Garcia <address@hidden>
  Date:   2015-06-12 (Fri, 12 Jun 2015)

  Changed paths:
    M block/Makefile.objs
    A block/throttle-groups.c
    M include/block/block_int.h
    A include/block/throttle-groups.h

  Log Message:
  -----------
  throttle: Add throttle group infrastructure

Signed-off-by: Alberto Garcia <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 1fee955f9cc5903b3c7f79bbd90929aefad583a6
      
https://github.com/qemu/qemu/commit/1fee955f9cc5903b3c7f79bbd90929aefad583a6
  Author: Alberto Garcia <address@hidden>
  Date:   2015-06-12 (Fri, 12 Jun 2015)

  Changed paths:
    M tests/test-throttle.c

  Log Message:
  -----------
  throttle: Add throttle group infrastructure tests

Signed-off-by: Alberto Garcia <address@hidden>
Message-id: address@hidden
Cc: Stefan Hajnoczi <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 76f4afb40fa076ed23fe0ab42c7a768ddb71123f
      
https://github.com/qemu/qemu/commit/76f4afb40fa076ed23fe0ab42c7a768ddb71123f
  Author: Alberto Garcia <address@hidden>
  Date:   2015-06-12 (Fri, 12 Jun 2015)

  Changed paths:
    M block.c
    M block/io.c
    M block/qapi.c
    M block/throttle-groups.c
    M blockdev.c
    M hmp.c
    M include/block/block.h
    M include/block/block_int.h
    M include/block/throttle-groups.h
    M qapi/block-core.json
    M qemu-options.hx
    M qmp-commands.hx

  Log Message:
  -----------
  throttle: Add throttle group support

The throttle group support use a cooperative round robin scheduling
algorithm.

The principles of the algorithm are simple:
- Each BDS of the group is used as a token in a circular way.
- The active BDS computes if a wait must be done and arms the right
  timer.
- If a wait must be done the token timer will be armed so the token
  will become the next active BDS.

Signed-off-by: Alberto Garcia <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: db6283385cb708b9d589e5b57e96eab4afd0269e
      
https://github.com/qemu/qemu/commit/db6283385cb708b9d589e5b57e96eab4afd0269e
  Author: Alberto Garcia <address@hidden>
  Date:   2015-06-12 (Fri, 12 Jun 2015)

  Changed paths:
    M block.c
    M block/throttle-groups.c
    M include/block/throttle-groups.h

  Log Message:
  -----------
  throttle: acquire the ThrottleGroup lock in bdrv_swap()

bdrv_swap() touches the fields of a BlockDriverState that are
protected by the ThrottleGroup lock. Although those fields end up in
their original place, they are temporarily swapped in the process,
so there's a chance that an operation on a member of the same group
happening on a different thread can try to use them.

Signed-off-by: Alberto Garcia <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: b8fe1694e506362706cde65d1bf55b23e62b150e
      
https://github.com/qemu/qemu/commit/b8fe1694e506362706cde65d1bf55b23e62b150e
  Author: Alberto Garcia <address@hidden>
  Date:   2015-06-12 (Fri, 12 Jun 2015)

  Changed paths:
    M block/qapi.c
    M hmp.c
    M qapi/block-core.json

  Log Message:
  -----------
  throttle: add the name of the ThrottleGroup to BlockDeviceInfo

Signed-off-by: Alberto Garcia <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: a291d5d9b9940e1b07319041afc2c4b9285b9c48
      
https://github.com/qemu/qemu/commit/a291d5d9b9940e1b07319041afc2c4b9285b9c48
  Author: Alberto Garcia <address@hidden>
  Date:   2015-06-12 (Fri, 12 Jun 2015)

  Changed paths:
    M include/qemu/throttle.h
    M util/throttle.c

  Log Message:
  -----------
  throttle: Update throttle infrastructure copyright

Signed-off-by: Alberto Garcia <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 2db33f88d2b340c049c576ad75d442e4b6ffe768
      
https://github.com/qemu/qemu/commit/2db33f88d2b340c049c576ad75d442e4b6ffe768
  Author: Alberto Garcia <address@hidden>
  Date:   2015-06-12 (Fri, 12 Jun 2015)

  Changed paths:
    M tests/qemu-iotests/093

  Log Message:
  -----------
  qemu-iotests: expand test 093 to support group throttling

This patch improves the test by attaching a different number of drives
to the VM and putting them in the same throttling group. The test
verifies that the I/O is evenly distributed among all members of the
group, and that the limits are enforced.

By default the test is repeated 3 times with 1, 2 and 3 drives, but
the maximum number of simultaneous drives is configurable.

Signed-off-by: Alberto Garcia <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>


  Commit: 8aeaa055f5d3d4e87bf870892ba301eae57bdc1d
      
https://github.com/qemu/qemu/commit/8aeaa055f5d3d4e87bf870892ba301eae57bdc1d
  Author: Peter Maydell <address@hidden>
  Date:   2015-06-12 (Fri, 12 Jun 2015)

  Changed paths:
    M async.c
    M block.c
    M block/Makefile.objs
    M block/io.c
    M block/qapi.c
    M block/raw-posix.c
    A block/throttle-groups.c
    M blockdev.c
    M hmp.c
    M include/block/block.h
    M include/block/block_int.h
    A include/block/throttle-groups.h
    M include/qemu/throttle.h
    M iothread.c
    M qapi/block-core.json
    M qemu-options.hx
    M qmp-commands.hx
    M tests/qemu-iotests/093
    M tests/test-aio.c
    M tests/test-throttle.c
    M util/throttle.c

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

# gpg: Signature made Fri Jun 12 15:57:47 2015 BST using RSA key ID 81AB73C8
# gpg: Good signature from "Stefan Hajnoczi <address@hidden>"
# gpg:                 aka "Stefan Hajnoczi <address@hidden>"

* remotes/stefanha/tags/block-pull-request:
  qemu-iotests: expand test 093 to support group throttling
  throttle: Update throttle infrastructure copyright
  throttle: add the name of the ThrottleGroup to BlockDeviceInfo
  throttle: acquire the ThrottleGroup lock in bdrv_swap()
  throttle: Add throttle group support
  throttle: Add throttle group infrastructure tests
  throttle: Add throttle group infrastructure
  throttle: Extract timers from ThrottleState into a separate structure
  raw-posix: Fix .bdrv_co_get_block_status() for unaligned image size
  Revert "iothread: release iothread around aio_poll"

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


Compare: https://github.com/qemu/qemu/compare/0a2df857a703...8aeaa055f5d3

reply via email to

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