From: Peter Xu <peterx@redhat.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: "Stefan Hajnoczi" <stefanha@redhat.com>,
qemu-devel@nongnu.org, "Alex Bennée" <alex.bennee@linaro.org>,
"Fam Zheng" <famz@redhat.com>, "Eric Blake" <eblake@redhat.com>,
"Marc-André Lureau" <marcandre.lureau@redhat.com>,
"Markus Armbruster" <armbru@redhat.com>,
"Dr . David Alan Gilbert" <dgilbert@redhat.com>
Subject: Re: [Qemu-devel] [PATCH 2/2] qemu-thread: let cur_mon be per-thread
Date: Wed, 11 Apr 2018 17:35:26 +0800 [thread overview]
Message-ID: <20180411093526.GH13887@xz-mi> (raw)
In-Reply-To: <d2ab39a4-2ffc-ddee-299d-007e9850cebb@redhat.com>
On Wed, Apr 11, 2018 at 11:23:57AM +0200, Paolo Bonzini wrote:
> On 11/04/2018 05:49, Peter Xu wrote:
> > On Wed, Apr 11, 2018 at 09:45:32AM +0800, Stefan Hajnoczi wrote:
> >> On Tue, Apr 10, 2018 at 08:49:13PM +0800, Peter Xu wrote:
> >>> cur_mon was only used in main loop so we don't really need that to be
> >>> per-thread variable. Now it's possible that we have more than one
> >>> thread to operate on it. Let's start to let it be per-thread variable.
> >> Trying to understand the reason for this patch:
> >>
> >> Are there any users of per-thread cur_mon?
> >
> > Currently no. But if considering future OOB-capable commands, they
> > will modify cur_mon in monitor IOThread at least.
>
> That's fine, but it shouldn't need the inheritance part. The monitor
> IOThread can set cur_mon when it starts.
Yeah, the inheritance will only make sure cur_mon be initialized
always with correct value just like when we are without Out-Of-Band.
For example, it's still possible a thread is created within a QMP
handler. If without current change, the cur_mon in the new thread
would be NULL.
AFAIU even if cur_mon==NULL we should mostly be fine (e.g.,
error_vprintf will handle that case well). If any of you can help me
confirm this, then I agree that this patch is not really needed.
If so, maybe even we don't need to setup cur_mon at entry of monitor
iothread, since cur_mon is always used in the way like:
old_mon = cur_mon;
cur_mon = xxx;
... (do something)
cur_mon = old_mon;
And it'll be fine old_mon==NULL here. Then IMHO the only thing we
need to do is to mark cur_mon as per-thread and we're done.
Thanks,
--
Peter Xu
next prev parent reply other threads:[~2018-04-11 9:35 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-04-10 12:49 [Qemu-devel] [PATCH 0/2] qemu-thread: allow cur_mon be per thread Peter Xu
2018-04-10 12:49 ` [Qemu-devel] [PATCH 1/2] qemu-thread: always keep the posix wrapper layer Peter Xu
2018-04-10 13:35 ` Eric Blake
2018-04-11 3:18 ` Peter Xu
2018-04-10 12:49 ` [Qemu-devel] [PATCH 2/2] qemu-thread: let cur_mon be per-thread Peter Xu
2018-04-10 13:54 ` Eric Blake
2018-04-11 3:31 ` Peter Xu
2018-04-11 1:45 ` Stefan Hajnoczi
2018-04-11 3:49 ` Peter Xu
2018-04-11 9:23 ` Paolo Bonzini
2018-04-11 9:35 ` Peter Xu [this message]
2018-04-11 9:38 ` Paolo Bonzini
2018-04-11 9:48 ` Peter Xu
2018-04-11 13:06 ` Eric Blake
2018-04-12 5:24 ` Peter Xu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180411093526.GH13887@xz-mi \
--to=peterx@redhat.com \
--cc=alex.bennee@linaro.org \
--cc=armbru@redhat.com \
--cc=dgilbert@redhat.com \
--cc=eblake@redhat.com \
--cc=famz@redhat.com \
--cc=marcandre.lureau@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).