[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC v6 22/27] qmp: isolate responses into io thread
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] [RFC v6 22/27] qmp: isolate responses into io thread |
Date: |
Tue, 9 Jan 2018 14:24:35 +0000 |
User-agent: |
Mutt/1.9.1 (2017-09-22) |
On Tue, Dec 19, 2017 at 04:45:52PM +0800, Peter Xu wrote:
> +static void monitor_qmp_bh_responder(void *opaque)
> +{
> + QMPResponse response;
> +
> + while (true) {
> + response = monitor_qmp_response_pop_one();
> + if (!response.data) {
> + break;
> + }
> + monitor_json_emitter_raw(response.mon, response.data);
Have you audited all mon->out_lock users to ensure that guest memory is
never touched while the lock is held?
If guest memory is touched then the main loop could be blocked due to
postcopy and when the IOThread executes monitor_qmp_bh_responder() ->
monitor_json_emitter_raw() -> monitor_puts() it will also hang!
Please add a comment above the out_lock declaration letting users know
that they must not touch guest memory while holding the lock.
signature.asc
Description: PGP signature
- Re: [Qemu-devel] [RFC v6 22/27] qmp: isolate responses into io thread,
Stefan Hajnoczi <=