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