All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] Co-routine re-entered recursively
@ 2017-10-09 19:11 Gugnani, Shashank
  2017-10-11 12:07 ` Kevin Wolf
  0 siblings, 1 reply; 3+ messages in thread
From: Gugnani, Shashank @ 2017-10-09 19:11 UTC (permalink / raw)
  To: qemu-devel

Hi,


I'm trying to modify the NVMe emulator in QEMU to use multiple threads.

After making necessary changes, I see this error: 'Co-routine re-entered recursively'

Can anybody tell me the reason for this error? Is there anything I can do to fix this issue?


Thanks,

Shashank

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

* Re: [Qemu-devel] Co-routine re-entered recursively
  2017-10-09 19:11 [Qemu-devel] Co-routine re-entered recursively Gugnani, Shashank
@ 2017-10-11 12:07 ` Kevin Wolf
  2017-10-13 21:17   ` Gugnani, Shashank
  0 siblings, 1 reply; 3+ messages in thread
From: Kevin Wolf @ 2017-10-11 12:07 UTC (permalink / raw)
  To: Gugnani, Shashank; +Cc: qemu-devel, qemu-block

[ Cc: qemu-block ]

Am 09.10.2017 um 21:11 hat Gugnani, Shashank geschrieben:
> Hi,
> 
> I'm trying to modify the NVMe emulator in QEMU to use multiple threads.
> 
> After making necessary changes, I see this error: 'Co-routine re-entered recursively'
> 
> Can anybody tell me the reason for this error? Is there anything I can do to fix this issue?

I suspect that you need to fix your locking. Are you sure you're holding
the AioContext locks while you're making requests to the block layer?

Kevin

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

* Re: [Qemu-devel] Co-routine re-entered recursively
  2017-10-11 12:07 ` Kevin Wolf
@ 2017-10-13 21:17   ` Gugnani, Shashank
  0 siblings, 0 replies; 3+ messages in thread
From: Gugnani, Shashank @ 2017-10-13 21:17 UTC (permalink / raw)
  To: Kevin Wolf; +Cc: qemu-devel, qemu-block

Hi,


I'm using this to get the aio context:

n->aio_ctx = blk_get_aio_context(n->conf.blk);


And then I acquire the aio context before doing block i/o:

aio_context_acquire(n->aio_ctx);

// block i/o

aio_context_release(n->aio_ctx);


However, I still see the error:

Co-routine re-entered recursively


Thanks,

Shashank

________________________________
From: Kevin Wolf <kwolf@redhat.com>
Sent: Wednesday, October 11, 2017 8:07:06 AM
To: Gugnani, Shashank
Cc: qemu-devel@nongnu.org; qemu-block@nongnu.org
Subject: Re: [Qemu-devel] Co-routine re-entered recursively

[ Cc: qemu-block ]

Am 09.10.2017 um 21:11 hat Gugnani, Shashank geschrieben:
> Hi,
>
> I'm trying to modify the NVMe emulator in QEMU to use multiple threads.
>
> After making necessary changes, I see this error: 'Co-routine re-entered recursively'
>
> Can anybody tell me the reason for this error? Is there anything I can do to fix this issue?

I suspect that you need to fix your locking. Are you sure you're holding
the AioContext locks while you're making requests to the block layer?

Kevin

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

end of thread, other threads:[~2017-10-13 21:17 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-09 19:11 [Qemu-devel] Co-routine re-entered recursively Gugnani, Shashank
2017-10-11 12:07 ` Kevin Wolf
2017-10-13 21:17   ` Gugnani, Shashank

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.