diff mbox

[01/10] coroutine: use qemu_coroutine_switch() directly

Message ID 1333442297-18932-1-git-send-email-laijs@cn.fujitsu.com
State New
Headers show

Commit Message

Lai Jiangshan April 3, 2012, 8:38 a.m. UTC
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().

Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com>
---
 qemu-coroutine.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

Comments

Paolo Bonzini April 3, 2012, 11:30 a.m. UTC | #1
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 <laijs@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);
>  }
diff mbox

Patch

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);
 }