All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v5 0/6] coroutine rwlock downgrade fix, minor VDI changes
@ 2021-03-17 18:00 Paolo Bonzini
  2021-03-17 18:00 ` [PATCH 1/6] block/vdi: When writing new bmap entry fails, don't leak the buffer Paolo Bonzini
                   ` (7 more replies)
  0 siblings, 8 replies; 16+ messages in thread
From: Paolo Bonzini @ 2021-03-17 18: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.

v2->v3: new CoRwlock implementation

v3->v4: fix upgrade and add a test for that, too

v4->v5: typo

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 (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



^ permalink raw reply	[flat|nested] 16+ messages in thread
* [PATCH v4 0/6] coroutine rwlock downgrade fix, minor VDI changes
@ 2021-03-17 12:16 Paolo Bonzini
  2021-03-17 12:16 ` [PATCH 2/6] block/vdi: Don't assume that blocks are larger than VdiHeader Paolo Bonzini
  0 siblings, 1 reply; 16+ messages in thread
From: Paolo Bonzini @ 2021-03-17 12:16 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.

v3->v4: fix upgrade and add a test for that, too

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 (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



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

end of thread, other threads:[~2021-03-24 16:46 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-17 18:00 [PATCH v5 0/6] coroutine rwlock downgrade fix, minor VDI changes Paolo Bonzini
2021-03-17 18:00 ` [PATCH 1/6] block/vdi: When writing new bmap entry fails, don't leak the buffer Paolo Bonzini
2021-03-24 14:25   ` Max Reitz
2021-03-17 18:00 ` [PATCH 2/6] block/vdi: Don't assume that blocks are larger than VdiHeader Paolo Bonzini
2021-03-24 14:25   ` Max Reitz
2021-03-17 18:00 ` [PATCH 3/6] coroutine/mutex: Store the coroutine in the CoWaitRecord only once Paolo Bonzini
2021-03-17 18:00 ` [PATCH 4/6] coroutine-lock: reimplement CoRwlock to fix downgrade bug Paolo Bonzini
2021-03-24 16:15   ` Stefan Hajnoczi
2021-03-24 16:40     ` Paolo Bonzini
2021-03-17 18:00 ` [PATCH 5/6] test-coroutine: add rwlock upgrade test Paolo Bonzini
2021-03-17 18:19   ` David Edmondson
2021-03-17 18:00 ` [PATCH 6/6] test-coroutine: Add rwlock downgrade test Paolo Bonzini
2021-03-24 14:26 ` [PATCH v5 0/6] coroutine rwlock downgrade fix, minor VDI changes Max Reitz
2021-03-24 16:23 ` Stefan Hajnoczi
2021-03-24 16:43   ` Paolo Bonzini
  -- strict thread matches above, loose matches on Subject: below --
2021-03-17 12:16 [PATCH v4 " Paolo Bonzini
2021-03-17 12:16 ` [PATCH 2/6] block/vdi: Don't assume that blocks are larger than VdiHeader 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.