[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v3 14/14] block: Don't check throttled reqs in bdrv_
From: |
Kevin Wolf |
Subject: |
[Qemu-devel] [PATCH v3 14/14] block: Don't check throttled reqs in bdrv_requests_pending() |
Date: |
Wed, 11 May 2016 15:24:25 +0200 |
Checking whether there are throttled requests requires going to the
associated BlockBackend, which we want to avoid.
All users of bdrv_requests_pending() in block/io.c already call
bdrv_parent_drained_begin() first, which restarts all throttled
requests, so no throttled requests can be left here and this is removal
of dead code.
The remaining users (assertions during graph manipulation in block.c)
don't care about requests that are still queued in the BlockBackend and
haven't been issued for a BlockDriverState yet.
Signed-off-by: Kevin Wolf <address@hidden>
---
block/io.c | 7 -------
1 file changed, 7 deletions(-)
diff --git a/block/io.c b/block/io.c
index 23abbc5..6e90805 100644
--- a/block/io.c
+++ b/block/io.c
@@ -147,17 +147,10 @@ void bdrv_disable_copy_on_read(BlockDriverState *bs)
bool bdrv_requests_pending(BlockDriverState *bs)
{
BdrvChild *child;
- BlockBackendPublic *blkp = bs->blk ? blk_get_public(bs->blk) : NULL;
if (!QLIST_EMPTY(&bs->tracked_requests)) {
return true;
}
- if (blkp && !qemu_co_queue_empty(&blkp->throttled_reqs[0])) {
- return true;
- }
- if (blkp && !qemu_co_queue_empty(&blkp->throttled_reqs[1])) {
- return true;
- }
QLIST_FOREACH(child, &bs->children, next) {
if (bdrv_requests_pending(child->bs)) {
--
1.8.3.1
- [Qemu-devel] [PATCH v3 07/14] block: Move I/O throttling configuration functions to BlockBackend, (continued)
- [Qemu-devel] [PATCH v3 07/14] block: Move I/O throttling configuration functions to BlockBackend, Kevin Wolf, 2016/05/11
- [Qemu-devel] [PATCH v3 02/14] block: Introduce BlockBackendPublic, Kevin Wolf, 2016/05/11
- [Qemu-devel] [PATCH v3 06/14] block: Move actual I/O throttling to BlockBackend, Kevin Wolf, 2016/05/11
- [Qemu-devel] [PATCH v3 03/14] block: throttle-groups: Use BlockBackend pointers internally, Kevin Wolf, 2016/05/11
- [Qemu-devel] [PATCH v3 05/14] block: Move throttling fields from BDS to BB, Kevin Wolf, 2016/05/11
- [Qemu-devel] [PATCH v3 10/14] block/io: Quiesce parents between drained_begin/end, Kevin Wolf, 2016/05/11
- [Qemu-devel] [PATCH v3 11/14] block: Decouple throttling from BlockDriverState, Kevin Wolf, 2016/05/11
- [Qemu-devel] [PATCH v3 12/14] block: Remove bdrv_move_feature_fields(), Kevin Wolf, 2016/05/11
- [Qemu-devel] [PATCH v3 13/14] Revert "block: Forbid I/O throttling on nodes with multiple parents for 2.6", Kevin Wolf, 2016/05/11
- [Qemu-devel] [PATCH v3 14/14] block: Don't check throttled reqs in bdrv_requests_pending(),
Kevin Wolf <=
- [Qemu-devel] [PATCH v3 09/14] block: Drain throttling queue with BdrvChild callback, Kevin Wolf, 2016/05/11
- [Qemu-devel] [PATCH v3 08/14] block: Introduce BdrvChild.opaque, Kevin Wolf, 2016/05/11
- Re: [Qemu-devel] [PATCH v3 00/14] block: Move I/O throttling to BlockBackend, Stefan Hajnoczi, 2016/05/16