[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] 8f90b5: block: get rid of bdrv_io_unplugged_b
From: |
GitHub |
Subject: |
[Qemu-commits] [qemu/qemu] 8f90b5: block: get rid of bdrv_io_unplugged_begin/end |
Date: |
Tue, 17 Jan 2017 06:00:03 -0800 |
Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: 8f90b5e91df59fde0dfecc6738ff39f3edf14be5
https://github.com/qemu/qemu/commit/8f90b5e91df59fde0dfecc6738ff39f3edf14be5
Author: Paolo Bonzini <address@hidden>
Date: 2017-01-16 (Mon, 16 Jan 2017)
Changed paths:
M block/io.c
M include/block/block.h
M include/block/block_int.h
Log Message:
-----------
block: get rid of bdrv_io_unplugged_begin/end
bdrv_io_plug and bdrv_io_unplug are only called (via their
BlockBackend equivalents) after starting asynchronous I/O.
bdrv_drain is not going to be called while they are running,
because---even if a coroutine runs for some reason---it will
only drain in the next iteration of the event loop through
bdrv_co_yield_to_drain.
So this mechanism is unnecessary, get rid of it.
Signed-off-by: Paolo Bonzini <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Commit: cf2c02c8ea0f2d7888f3b45b20e7eb24b47a93f1
https://github.com/qemu/qemu/commit/cf2c02c8ea0f2d7888f3b45b20e7eb24b47a93f1
Author: Paolo Bonzini <address@hidden>
Date: 2017-01-16 (Mon, 16 Jan 2017)
Changed paths:
M async.c
M include/block/aio.h
Log Message:
-----------
aio: rename bh_lock to list_lock
This will be used for AioHandlers too. There is going to be little
or no contention, so it is better to reuse the same lock.
Reviewed-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Commit: 51dee5e465e1b3454a886792ca3e14b851e8e67d
https://github.com/qemu/qemu/commit/51dee5e465e1b3454a886792ca3e14b851e8e67d
Author: Paolo Bonzini <address@hidden>
Date: 2017-01-16 (Mon, 16 Jan 2017)
Changed paths:
A docs/lockcnt.txt
M include/qemu/thread.h
M util/Makefile.objs
A util/lockcnt.c
Log Message:
-----------
qemu-thread: introduce QemuLockCnt
A QemuLockCnt comprises a counter and a mutex, with primitives
to increment and decrement the counter, and to take and release the
mutex. It can be used to do lock-free visits to a data structure
whenever mutexes would be too heavy-weight and the critical section
is too long for RCU.
This could be implemented simply by protecting the counter with the
mutex, but QemuLockCnt is harder to misuse and more efficient.
Signed-off-by: Paolo Bonzini <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Commit: d7c99a1282ca2de1c344b8aa91be5364e9c6aa8f
https://github.com/qemu/qemu/commit/d7c99a1282ca2de1c344b8aa91be5364e9c6aa8f
Author: Paolo Bonzini <address@hidden>
Date: 2017-01-16 (Mon, 16 Jan 2017)
Changed paths:
M async.c
M include/block/aio.h
Log Message:
-----------
aio: make ctx->list_lock a QemuLockCnt, subsuming ctx->walking_bh
This will make it possible to walk the list of bottom halves without
holding the AioContext lock---and in turn to call bottom half
handlers without holding the lock.
Reviewed-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Commit: fbcc3e5004f01653b2885965c59cade25e286c18
https://github.com/qemu/qemu/commit/fbcc3e5004f01653b2885965c59cade25e286c18
Author: Paolo Bonzini <address@hidden>
Date: 2017-01-16 (Mon, 16 Jan 2017)
Changed paths:
M docs/lockcnt.txt
A include/qemu/futex.h
M include/qemu/thread.h
M util/lockcnt.c
M util/qemu-thread-posix.c
M util/qemu-thread-win32.c
M util/trace-events
Log Message:
-----------
qemu-thread: optimize QemuLockCnt with futexes on Linux
This is complex, but I think it is reasonably documented in the source.
Signed-off-by: Paolo Bonzini <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Commit: 56d2c3c60d92dc24690b2e93b5f6ec4716ea06fa
https://github.com/qemu/qemu/commit/56d2c3c60d92dc24690b2e93b5f6ec4716ea06fa
Author: Paolo Bonzini <address@hidden>
Date: 2017-01-16 (Mon, 16 Jan 2017)
Changed paths:
M aio-posix.c
Log Message:
-----------
aio-posix: split aio_dispatch_handlers out of aio_dispatch
This simplifies the handling of dispatch_fds.
Signed-off-by: Paolo Bonzini <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Commit: abf90d39213cca30e92f6d72452a05cbf29969b8
https://github.com/qemu/qemu/commit/abf90d39213cca30e92f6d72452a05cbf29969b8
Author: Paolo Bonzini <address@hidden>
Date: 2017-01-16 (Mon, 16 Jan 2017)
Changed paths:
M aio-posix.c
M aio-win32.c
Log Message:
-----------
aio: tweak walking in dispatch phase
Preparing for the following patch, use QLIST_FOREACH_SAFE and
modify the placement of walking_handlers increment/decrement.
Reviewed-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Commit: 2bbf11d753761ca537333c2bd7ddadb06758f62c
https://github.com/qemu/qemu/commit/2bbf11d753761ca537333c2bd7ddadb06758f62c
Author: Paolo Bonzini <address@hidden>
Date: 2017-01-16 (Mon, 16 Jan 2017)
Changed paths:
M aio-posix.c
Log Message:
-----------
aio-posix: remove walking_handlers, protecting AioHandler list with list_lock
Signed-off-by: Paolo Bonzini <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Commit: b92d9a91abae1569ac499f72fbb90ee7b0ae5398
https://github.com/qemu/qemu/commit/b92d9a91abae1569ac499f72fbb90ee7b0ae5398
Author: Paolo Bonzini <address@hidden>
Date: 2017-01-16 (Mon, 16 Jan 2017)
Changed paths:
M aio-win32.c
Log Message:
-----------
aio-win32: remove walking_handlers, protecting AioHandler list with list_lock
Reviewed-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Commit: 7c690fd1931f0908b18f7034b5d71d7b27ca59ef
https://github.com/qemu/qemu/commit/7c690fd1931f0908b18f7034b5d71d7b27ca59ef
Author: Paolo Bonzini <address@hidden>
Date: 2017-01-16 (Mon, 16 Jan 2017)
Changed paths:
M docs/multiple-iothreads.txt
M include/block/aio.h
Log Message:
-----------
aio: document locking
Reviewed-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Commit: 7d506c90afa47facdb993bc19c15863eef584f1d
https://github.com/qemu/qemu/commit/7d506c90afa47facdb993bc19c15863eef584f1d
Author: Paolo Bonzini <address@hidden>
Date: 2017-01-16 (Mon, 16 Jan 2017)
Changed paths:
M async.c
Log Message:
-----------
async: optimize aio_bh_poll
Avoid entering the slow path of qemu_lockcnt_dec_and_lock if
no bottom half has to be deleted.
Reviewed-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Message-id: address@hidden
Signed-off-by: Stefan Hajnoczi <address@hidden>
Commit: 02b351d8466a26c93bf35ff8fd5c316e6aee8c0f
https://github.com/qemu/qemu/commit/02b351d8466a26c93bf35ff8fd5c316e6aee8c0f
Author: Peter Maydell <address@hidden>
Date: 2017-01-17 (Tue, 17 Jan 2017)
Changed paths:
M aio-posix.c
M aio-win32.c
M async.c
M block/io.c
A docs/lockcnt.txt
M docs/multiple-iothreads.txt
M include/block/aio.h
M include/block/block.h
M include/block/block_int.h
A include/qemu/futex.h
M include/qemu/thread.h
M util/Makefile.objs
A util/lockcnt.c
M util/qemu-thread-posix.c
M util/qemu-thread-win32.c
M util/trace-events
Log Message:
-----------
Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request' into
staging
# gpg: Signature made Mon 16 Jan 2017 13:38:52 GMT
# 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:
async: optimize aio_bh_poll
aio: document locking
aio-win32: remove walking_handlers, protecting AioHandler list with list_lock
aio-posix: remove walking_handlers, protecting AioHandler list with list_lock
aio: tweak walking in dispatch phase
aio-posix: split aio_dispatch_handlers out of aio_dispatch
qemu-thread: optimize QemuLockCnt with futexes on Linux
aio: make ctx->list_lock a QemuLockCnt, subsuming ctx->walking_bh
qemu-thread: introduce QemuLockCnt
aio: rename bh_lock to list_lock
block: get rid of bdrv_io_unplugged_begin/end
Signed-off-by: Peter Maydell <address@hidden>
Compare: https://github.com/qemu/qemu/compare/a8c611e1133f...02b351d8466a
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-commits] [qemu/qemu] 8f90b5: block: get rid of bdrv_io_unplugged_begin/end,
GitHub <=