[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 00/15] qio: general non-default GMainContext
From: |
Peter Xu |
Subject: |
Re: [Qemu-devel] [PATCH v2 00/15] qio: general non-default GMainContext support |
Date: |
Fri, 2 Mar 2018 14:48:04 +0800 |
User-agent: |
Mutt/1.9.1 (2017-09-22) |
On Thu, Mar 01, 2018 at 04:07:06PM +0000, Daniel P. Berrangé wrote:
> On Thu, Mar 01, 2018 at 04:44:23PM +0800, Peter Xu wrote:
> > This is another preparation work for monitor OOB seires.
> >
> > V1: http://lists.nongnu.org/archive/html/qemu-devel/2018-02/msg06972.html
> >
> > V2 rewrote the bottom half of the code. The first 8 patches are
> > mostly the same, but I rewrote the last patches to solve both TLS and
> > reconnect use cases by introducing a machine_done hook for chardevs in
> > general. So if I copy the problems:
> >
> > - migration
> > - incoming side: still always running on main context, while we need
> > to be able to run some command in OOB thread [1]
> > - tcp chardev (non-tcp chardevs should all support non-NULL context now)
> > - server listening mode: QIO net listener used [2]
> > - TELNET session: an isolated GSource used (tcp_chr_telnet_init) [3]
> > - when "reconnect=N" is used, QIO threaded task is used [4]
> > - TLS session: QIO tls handshake is used (tcp_chr_tls_init) [5]
> >
> > Problem [1-3] are still fixed in the old way, but [4-5] now are fixed
> > by using the new machine_done notifier.
>
> The QIO code changes all look good to me know, aside from minor
> comments. I really dislike all of the chardev stuff though. I
> think it makes the chardev code even harder to follow & rationalize
> behaviour of.
>
> If you post a v3 series contaning just the qio/ directory changes,
> I'd queue those patches, while we discuss chardev stuff more.
>
> I struggle to suggest better approach, because its any missing
> context of how the changes are going to be used, presumably by
> patch series yet to be posted.
Yeah I think I'll split the series into two.
Thank you and Paolo for the quick review comments!
--
Peter Xu
- [Qemu-devel] [PATCH v2 14/15] chardev: tcp: postpone async connection setup, (continued)