qemu-devel.nongnu.org archive mirror
 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).