[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [Qemu-devel] [PATCH 02/10] qemu-thread: introduce QemuL
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-block] [Qemu-devel] [PATCH 02/10] qemu-thread: introduce QemuLockCnt |
Date: |
Wed, 30 Nov 2016 13:05:08 +0000 |
User-agent: |
Mutt/1.7.1 (2016-10-04) |
On Tue, Nov 29, 2016 at 12:46:59PM +0100, Paolo Bonzini wrote:
> 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>
> ---
> docs/lockcnt.txt | 343
> ++++++++++++++++++++++++++++++++++++++++++++++++++
> include/qemu/thread.h | 17 +++
> util/Makefile.objs | 1 +
> util/lockcnt.c | 113 +++++++++++++++++
> 4 files changed, 474 insertions(+)
> create mode 100644 docs/lockcnt.txt
> create mode 100644 util/lockcnt.c
>
> diff --git a/docs/lockcnt.txt b/docs/lockcnt.txt
> new file mode 100644
> index 0000000..fc5d240
> --- /dev/null
> +++ b/docs/lockcnt.txt
> @@ -0,0 +1,343 @@
> +DOCUMENTATION FOR LOCKED COUNTERS (aka QemuLockCnt)
> +===================================================
This file contains all the documentation but the header file has no doc
comments. Could you move everything into the header file (like
include/qom/object.h)?
signature.asc
Description: PGP signature
- [Qemu-block] [PATCH for-2.9 00/10] aio_context_acquire/release pushdown, part 1, Paolo Bonzini, 2016/11/29
- [Qemu-block] [PATCH 01/10] aio: rename bh_lock to list_lock, Paolo Bonzini, 2016/11/29
- [Qemu-block] [PATCH 03/10] aio: make ctx->list_lock a QemuLockCnt, subsuming ctx->walking_bh, Paolo Bonzini, 2016/11/29
- [Qemu-block] [PATCH 02/10] qemu-thread: introduce QemuLockCnt, Paolo Bonzini, 2016/11/29
- [Qemu-block] [PATCH 08/10] aio: document locking, Paolo Bonzini, 2016/11/29
- [Qemu-block] [PATCH 09/10] aio: push aio_context_acquire/release down to dispatching, Paolo Bonzini, 2016/11/29
- [Qemu-block] [PATCH 05/10] aio: tweak walking in dispatch phase, Paolo Bonzini, 2016/11/29
- [Qemu-block] [PATCH 10/10] async: optimize aio_bh_poll, Paolo Bonzini, 2016/11/29
- [Qemu-block] [PATCH 06/10] aio-posix: remove walking_handlers, protecting AioHandler list with list_lock, Paolo Bonzini, 2016/11/29