All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/5] coroutine rwlock downgrade fix, minor VDI changes
@ 2021-03-16 16:00 Paolo Bonzini
  2021-03-16 16:00 ` [PATCH 1/5] block/vdi: When writing new bmap entry fails, don't leak the buffer Paolo Bonzini
                   ` (4 more replies)
  0 siblings, 5 replies; 8+ messages in thread
From: Paolo Bonzini @ 2021-03-16 16:00 UTC (permalink / raw)
  To: qemu-devel; +Cc: david.edmondson, kwolf, qemu-block

This is a resubmit of David Edmondson's series at
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



^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2021-03-17 12:02 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-03-16 16:00 [PATCH v3 0/5] coroutine rwlock downgrade fix, minor VDI changes Paolo Bonzini
2021-03-16 16:00 ` [PATCH 1/5] block/vdi: When writing new bmap entry fails, don't leak the buffer Paolo Bonzini
2021-03-16 16:00 ` [PATCH 2/5] block/vdi: Don't assume that blocks are larger than VdiHeader Paolo Bonzini
2021-03-16 16:00 ` [PATCH 3/5] coroutine/mutex: Store the coroutine in the CoWaitRecord only once Paolo Bonzini
2021-03-16 16:00 ` [PATCH 4/5] coroutine-lock: reimplement CoRwLock to fix downgrade bug Paolo Bonzini
2021-03-17 10:40   ` David Edmondson
2021-03-17 12:00     ` Paolo Bonzini
2021-03-16 16:00 ` [PATCH 5/5] test-coroutine: Add rwlock downgrade test Paolo Bonzini

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.