All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/6] coroutine: new sleep/wake API
@ 2021-05-17 10:05 Paolo Bonzini
  2021-05-17 10:05 ` [PATCH v2 1/6] coroutine-sleep: use a stack-allocated timer Paolo Bonzini
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: Paolo Bonzini @ 2021-05-17 10:05 UTC (permalink / raw)
  To: qemu-devel; +Cc: eesposit, vsementsov, stefanha, qemu-block

This is a revamp of the qemu_co_sleep* API that makes it easier to
extend the API: the state that is needed to wake up a coroutine is now
part of the public API instead of hidden behind a pointer-to-pointer;
the API is made more extensible by pushing the rest of QemuCoSleepState
into local variables.

In the future, this will be extended to introduce a prepare/sleep/cancel
API similar to Linux's prepare_to_wait/schedule/finish_wait functions.
For now, this is just a nice refactoring.

Paolo

v1->v2: comment and commit message updates in patches 3, 5 and 6

Paolo Bonzini (6):
  coroutine-sleep: use a stack-allocated timer
  coroutine-sleep: disallow NULL QemuCoSleepState** argument
  coroutine-sleep: allow qemu_co_sleep_wake that wakes nothing
  coroutine-sleep: move timer out of QemuCoSleepState
  coroutine-sleep: replace QemuCoSleepState pointer with struct in the
    API
  coroutine-sleep: introduce qemu_co_sleep

 block/block-copy.c          | 10 ++---
 block/nbd.c                 | 14 +++----
 include/qemu/coroutine.h    | 27 ++++++++-----
 util/qemu-coroutine-sleep.c | 75 +++++++++++++++++++------------------
 4 files changed, 64 insertions(+), 62 deletions(-)

-- 
2.31.1



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

end of thread, other threads:[~2021-05-21 14:46 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-17 10:05 [PATCH v2 0/6] coroutine: new sleep/wake API Paolo Bonzini
2021-05-17 10:05 ` [PATCH v2 1/6] coroutine-sleep: use a stack-allocated timer Paolo Bonzini
2021-05-17 10:05 ` [PATCH v2 2/6] coroutine-sleep: disallow NULL QemuCoSleepState** argument Paolo Bonzini
2021-05-17 10:05 ` [PATCH v2 3/6] coroutine-sleep: allow qemu_co_sleep_wake that wakes nothing Paolo Bonzini
2021-05-17 10:05 ` [PATCH v2 4/6] coroutine-sleep: move timer out of QemuCoSleepState Paolo Bonzini
2021-05-17 10:05 ` [PATCH v2 5/6] coroutine-sleep: replace QemuCoSleepState pointer with struct in the API Paolo Bonzini
2021-05-17 10:05 ` [PATCH v2 6/6] coroutine-sleep: introduce qemu_co_sleep Paolo Bonzini
2021-05-21 14:44 ` [PATCH v2 0/6] coroutine: new sleep/wake API Stefan Hajnoczi

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.