qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/3] linux-aio: fix "Co-routine re-entered recursively" error
@ 2016-09-27 14:06 Stefan Hajnoczi
  2016-09-27 14:06 ` [Qemu-devel] [PATCH 1/3] coroutine: add qemu_coroutine_entered() function Stefan Hajnoczi
                   ` (2 more replies)
  0 siblings, 3 replies; 15+ messages in thread
From: Stefan Hajnoczi @ 2016-09-27 14:06 UTC (permalink / raw)
  To: qemu-devel; +Cc: Kevin Wolf, qemu-block, Roman Pen, Fam Zheng, Stefan Hajnoczi

It's possible to hit the "Co-routine re-entered recursively" error with -drive
format=qcow2,aio=native.  This is a regression introduced by a linux-aio.c
optimization.  See Patch 3 for details.

Patches 1 & 2 add a new coroutine API called qemu_coroutine_entered() for
checking whether a coroutine is currently "entered".  This makes it possible to
avoid re-entering coroutines recursively.

Stefan Hajnoczi (3):
  coroutine: add qemu_coroutine_entered() function
  test-coroutine: test qemu_coroutine_entered()
  linux-aio: fix re-entrant completion processing

 block/linux-aio.c        |  9 ++++++---
 include/qemu/coroutine.h | 13 +++++++++++++
 tests/test-coroutine.c   | 42 ++++++++++++++++++++++++++++++++++++++++++
 util/qemu-coroutine.c    |  5 +++++
 4 files changed, 66 insertions(+), 3 deletions(-)

-- 
2.7.4

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

end of thread, other threads:[~2016-09-28  9:50 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-09-27 14:06 [Qemu-devel] [PATCH 0/3] linux-aio: fix "Co-routine re-entered recursively" error Stefan Hajnoczi
2016-09-27 14:06 ` [Qemu-devel] [PATCH 1/3] coroutine: add qemu_coroutine_entered() function Stefan Hajnoczi
2016-09-27 16:20   ` Paolo Bonzini
2016-09-27 16:29     ` Stefan Hajnoczi
2016-09-27 16:55       ` Paolo Bonzini
2016-09-28  9:50         ` Kevin Wolf
2016-09-27 14:06 ` [Qemu-devel] [PATCH 2/3] test-coroutine: test qemu_coroutine_entered() Stefan Hajnoczi
2016-09-27 14:06 ` [Qemu-devel] [PATCH 3/3] linux-aio: fix re-entrant completion processing Stefan Hajnoczi
2016-09-27 14:29   ` Roman Penyaev
2016-09-27 15:25     ` Stefan Hajnoczi
2016-09-27 17:55       ` Roman Penyaev
2016-09-28  3:01         ` Fam Zheng
2016-09-28  9:14           ` Roman Penyaev
2016-09-28  9:34             ` Fam Zheng
2016-09-28  9:38               ` Roman Penyaev

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).