Il 03/04/2012 10:38, Lai Jiangshan ha scritto: > When qemu_coroutine_switch() in the qemu_coroutine_yield() returns, > It must be someone calls qemu_coroutine_enter() for it, so the @to > is active, the tests in coroutine_swap() are unneeded, so we use > qemu_coroutine_switch() directly in qemu_coroutine_yield().
The patches are very different. Some of them are just cleanups which I like (patches 2 to 7, more or less). The others seem to be a (micro?) optimization whose usecase and result you didn't document because there was no cover letter. This patch is an example, is one or two "if"s so expensive that it matters? Paolo > Signed-off-by: Lai Jiangshan <la...@cn.fujitsu.com> > --- > qemu-coroutine.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/qemu-coroutine.c b/qemu-coroutine.c > index 600be26..c01252e 100644 > --- a/qemu-coroutine.c > +++ b/qemu-coroutine.c > @@ -71,5 +71,5 @@ void coroutine_fn qemu_coroutine_yield(void) > } > > self->caller = NULL; > - coroutine_swap(self, to); > + qemu_coroutine_switch(self, to, COROUTINE_YIELD); > }