[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 4/9] monitor: move need_resume flag into monitor
From: |
Marc-André Lureau |
Subject: |
Re: [Qemu-devel] [PATCH 4/9] monitor: move need_resume flag into monitor struct |
Date: |
Thu, 5 Jul 2018 13:32:46 +0200 |
Hi
On Thu, Jul 5, 2018 at 1:09 PM, Markus Armbruster <address@hidden> wrote:
> Peter Xu <address@hidden> writes:
>
>> On Thu, Jul 05, 2018 at 10:51:33AM +0200, Markus Armbruster wrote:
>>> Peter Xu <address@hidden> writes:
>>>
>>> > It was put into the request object to show whether we'll need to resume
>>> > the monitor after dispatching the command. Now we move that into the
>>> > monitor struct so that it might be even used in other places in the
>>> > future, e.g., out-of-band message flow controls.
>>> >
>>> > One thing to mention is that there is no lock needed before when
>>> > accessing the flag since the request object will always be owned by a
>>> > single thread. After we move it into monitor struct we need to protect
>>> > that flag since it might be accessed by multiple threads now. Renaming
>>> > the qmp_queue_lock into qmp_lock to protect the flag as well.
>>> >
>>> > No functional change.
>>> >
>>> > Signed-off-by: Peter Xu <address@hidden>
>>>
>>> Marc-André's "[PATCH v3 04/38] monitor: no need to save need_resume" and
>>> "[PATCH v3 05/38] monitor: further simplify previous patch" also mess
>>> with need_resume. Marc-André, could you have a look at this patch and
>>> the next one?
>>
>> Sorry I should have looked at those before hand. I think I must be
>> waiting for another post to split the patches into two (after
>> Marc-Andre poked me with that thread) but then I forgot about that.
>>
>> So now I suspect we'd better keep that flag since in the next patch
>> the suspend operation can happen conditionally now.
>
> Could you two together figure out how to combine your work? Would take
> me off this critical path...
>
With Peter patches, the monitor is also suspended when the queue of
command is too long (when oob-enabled). Thus the variable now covers
one of two different cases.
My patches only covered the first case simplification (legacy /
!oob-enabled suspend).
The second case could probably use a similar simplification, looking
at the queue length, but at this point I think I'd prefer to keep the
variable for clarity and sanity state checking.
--
Marc-André Lureau
- [Qemu-devel] [PATCH 2/9] qapi: allow build_params to return "void", (continued)
[Qemu-devel] [PATCH 5/9] monitor: suspend monitor instead of send CMD_DROP, Peter Xu, 2018/07/04
Re: [Qemu-devel] [PATCH 5/9] monitor: suspend monitor instead of send CMD_DROP, Markus Armbruster, 2018/07/06