|
From: | Marcin Gibuła |
Subject: | Re: [Qemu-devel] [PATCH] thread-pool: fix deadlock when callbacks depends on each other |
Date: | Mon, 02 Jun 2014 17:57:29 +0200 |
User-agent: | Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0 |
I'll test it tomorrow. I assume you want to avoid calling event_notifier_set() until function is reentered via aio_pool?Yes. But actually, I need to check if it's possible to fix bdrv_drain_all. If you're in coroutine context, you can defer the draining to a safe point using a bottom half. If you're not in coroutine context, perhaps bdrv_drain_all has to be made illegal. Which means a bunch of code auditing...
For what it's worth, your solution also works fine, I couldn't recreate hang with it. Updated patch proposal posted earlier today.
-- mg
[Prev in Thread] | Current Thread | [Next in Thread] |