[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 0/5] coroutine rwlock downgrade fix, minor VDI changes
From: |
Paolo Bonzini |
Subject: |
[PATCH v3 0/5] coroutine rwlock downgrade fix, minor VDI changes |
Date: |
Tue, 16 Mar 2021 17:00:02 +0100 |
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.
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/mutex: Store the coroutine in the CoWaitRecord only once
test-coroutine: Add rwlock downgrade test
Paolo Bonzini (1):
coroutine-lock: reimplement CoRwLock to fix downgrade bug
block/vdi.c | 11 ++-
include/qemu/coroutine.h | 10 ++-
tests/unit/test-coroutine.c | 112 ++++++++++++++++++++++++++
util/qemu-coroutine-lock.c | 151 +++++++++++++++++++++++-------------
4 files changed, 225 insertions(+), 59 deletions(-)
--
2.29.2
- [PATCH v3 0/5] coroutine rwlock downgrade fix, minor VDI changes,
Paolo Bonzini <=
- [PATCH 5/5] test-coroutine: Add rwlock downgrade test, Paolo Bonzini, 2021/03/16
- [PATCH 1/5] block/vdi: When writing new bmap entry fails, don't leak the buffer, Paolo Bonzini, 2021/03/16
- [PATCH 4/5] coroutine-lock: reimplement CoRwLock to fix downgrade bug, Paolo Bonzini, 2021/03/16
- [PATCH 3/5] coroutine/mutex: Store the coroutine in the CoWaitRecord only once, Paolo Bonzini, 2021/03/16
- [PATCH 2/5] block/vdi: Don't assume that blocks are larger than VdiHeader, Paolo Bonzini, 2021/03/16