[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3] monitor: let cur_mon be per-thread
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH v3] monitor: let cur_mon be per-thread |
Date: |
Wed, 23 May 2018 10:23:22 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) |
Peter Xu <address@hidden> writes:
> In the future the monitor iothread may be accessing the cur_mon as
> well (via monitor_qmp_dispatch_one()). Before we introduce a real
> Out-Of-Band command,
Uh, inhowfar are the commands marked allow-oob: true now not real?
These are migrate-recover, migrate-pause, x-oob-test.
Aside: having x-oob-test in QEMU proper is awful. Is there really no
way around it?
> let's convert the cur_mon variable to be a
> per-thread variable to make sure there won't be a race between threads.
>
> Note that thread variables are not initialized to a valid value when new
> thread is created. However for our case we don't need to set it up,
> since the cur_mon variable is only used in such a pattern:
>
> old_mon = cur_mon;
> cur_mon = xxx;
> (do something, read cur_mon if necessary in the stack)
> cur_mon = old_mon;
>
> It plays a role as stack variable, so no need to be initialized at all.
> We only need to make sure the variable won't be changed unexpectedly by
> other threads.
Do we plan to keep switching cur_mon forever? Or do we intend to work
towards a 1:1 association between Monitor struct and monitor thread?
Even if we want the latter, I'm okay with this patch as an intermediate
step.
> Signed-off-by: Peter Xu <address@hidden>
- Re: [Qemu-devel] [PATCH v3] monitor: let cur_mon be per-thread, Peter Xu, 2018/05/21
- Re: [Qemu-devel] [PATCH v3] monitor: let cur_mon be per-thread,
Markus Armbruster <=
- Re: [Qemu-devel] [PATCH v3] monitor: let cur_mon be per-thread, Peter Xu, 2018/05/23
- Re: [Qemu-devel] [PATCH v3] monitor: let cur_mon be per-thread, Markus Armbruster, 2018/05/23
- Re: [Qemu-devel] [PATCH v3] monitor: let cur_mon be per-thread, Peter Xu, 2018/05/24
- Re: [Qemu-devel] [PATCH v3] monitor: let cur_mon be per-thread, Markus Armbruster, 2018/05/24
- Re: [Qemu-devel] [PATCH v3] monitor: let cur_mon be per-thread, Peter Xu, 2018/05/24
- Re: [Qemu-devel] [PATCH v3] monitor: let cur_mon be per-thread, Markus Armbruster, 2018/05/24