[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 0/6] coroutine: new sleep/wake API
From: |
Paolo Bonzini |
Subject: |
[PATCH v2 0/6] coroutine: new sleep/wake API |
Date: |
Mon, 17 May 2021 12:05:42 +0200 |
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
- [PATCH v2 0/6] coroutine: new sleep/wake API,
Paolo Bonzini <=
- [PATCH v2 4/6] coroutine-sleep: move timer out of QemuCoSleepState, Paolo Bonzini, 2021/05/17
- [PATCH v2 5/6] coroutine-sleep: replace QemuCoSleepState pointer with struct in the API, Paolo Bonzini, 2021/05/17
- [PATCH v2 1/6] coroutine-sleep: use a stack-allocated timer, Paolo Bonzini, 2021/05/17
- [PATCH v2 6/6] coroutine-sleep: introduce qemu_co_sleep, Paolo Bonzini, 2021/05/17
- [PATCH v2 2/6] coroutine-sleep: disallow NULL QemuCoSleepState** argument, Paolo Bonzini, 2021/05/17
- [PATCH v2 3/6] coroutine-sleep: allow qemu_co_sleep_wake that wakes nothing, Paolo Bonzini, 2021/05/17
- Re: [PATCH v2 0/6] coroutine: new sleep/wake API, Stefan Hajnoczi, 2021/05/21