[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v6 0/6] coroutine rwlock downgrade fix, minor VDI changes
From: |
Stefan Hajnoczi |
Subject: |
Re: [PATCH v6 0/6] coroutine rwlock downgrade fix, minor VDI changes |
Date: |
Tue, 30 Mar 2021 18:50:12 +0100 |
On Thu, Mar 25, 2021 at 12:29:35PM +0100, Paolo Bonzini wrote:
> This is a resubmit of David Edmondson's series at
> 20210309144015.557477-1-david.edmondson@oracle.com/">https://patchew.org/QEMU/20210309144015.557477-1-david.edmondson@oracle.com/.
> After closer analysis on IRC, the CoRwlock's attempt to ensure
> fairness turned out to be flawed. Therefore, this series
> reimplements CoRwlock without using a CoQueue. Tracking whether
> each queued coroutine is a reader/writer makes it possible to
> never wake a writer when only readers should be allowed and
> vice versa.
>
> v2->v3: new CoRwlock implementation
>
> v3->v4: fix upgrade and add a test for that, too
>
> v4->v5: typo
>
> v5->v6: improve documentation, do not read lock->owners where
> neither wrlock nor lock->mutex exclude concurrent writes
>
> David Edmondson (4):
> block/vdi: When writing new bmap entry fails, don't leak the buffer
> block/vdi: Don't assume that blocks are larger than VdiHeader
> coroutine-lock: Store the coroutine in the CoWaitRecord only once
> test-coroutine: Add rwlock downgrade test
>
> Paolo Bonzini (2):
> coroutine-lock: Reimplement CoRwlock to fix downgrade bug
> test-coroutine: Add rwlock upgrade test
>
> block/vdi.c | 11 ++-
> include/qemu/coroutine.h | 17 ++--
> tests/unit/test-coroutine.c | 161 ++++++++++++++++++++++++++++++++++++
> util/qemu-coroutine-lock.c | 149 +++++++++++++++++++++------------
> 4 files changed, 274 insertions(+), 64 deletions(-)
>
> --
> 2.29.2
>
Thanks, applied to my block tree:
https://gitlab.com/stefanha/qemu/commits/block
Stefan
signature.asc
Description: PGP signature
- [PATCH v6 1/6] block/vdi: When writing new bmap entry fails, don't leak the buffer, (continued)
- [PATCH v6 1/6] block/vdi: When writing new bmap entry fails, don't leak the buffer, Paolo Bonzini, 2021/03/25
- [PATCH v6 2/6] block/vdi: Don't assume that blocks are larger than VdiHeader, Paolo Bonzini, 2021/03/25
- [PATCH v6 3/6] coroutine-lock: Store the coroutine in the CoWaitRecord only once, Paolo Bonzini, 2021/03/25
- [PATCH v6 4/6] coroutine-lock: Reimplement CoRwlock to fix downgrade bug, Paolo Bonzini, 2021/03/25
- [PATCH v6 6/6] test-coroutine: Add rwlock downgrade test, Paolo Bonzini, 2021/03/25
- [PATCH v6 5/6] test-coroutine: Add rwlock upgrade test, Paolo Bonzini, 2021/03/25
- Re: [PATCH v6 0/6] coroutine rwlock downgrade fix, minor VDI changes,
Stefan Hajnoczi <=