From: John Snow <jsnow@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Cédric Le Goater" <clg@kaod.org>,
"Hanna Reitz" <hreitz@redhat.com>,
"Ani Sinha" <anisinha@redhat.com>,
"Cleber Rosa" <crosa@redhat.com>,
"Wainer dos Santos Moschetta" <wainersm@redhat.com>,
qemu-arm@nongnu.org, qemu-block@nongnu.org,
"Andrew Jeffery" <andrew@aj.id.au>,
"Joel Stanley" <joel@jms.id.au>, "Kevin Wolf" <kwolf@redhat.com>,
"Philippe Mathieu-Daudé" <philmd@linaro.org>,
"Beraldo Leal" <bleal@redhat.com>,
"Daniel Berrange" <berrange@redhat.com>,
"Peter Maydell" <peter.maydell@linaro.org>,
"Michael S. Tsirkin" <mst@redhat.com>,
"John Snow" <jsnow@redhat.com>
Subject: [PATCH v2 0/6] python/machine: use socketpair() for console socket
Date: Tue, 25 Jul 2023 14:03:31 -0400 [thread overview]
Message-ID: <20230725180337.2937292-1-jsnow@redhat.com> (raw)
Like we did for the QMP socket, use socketpair() for the console socket
so that hopefully there isn't a race condition during early boot where
data might get dropped on the floor.
May or may not help with various race conditions where early console
output is not showing up in the logs and/or potentially being missed by
wait_for_console_pattern.
V2:
- Fixed some Socket ownership/garbage collection problems
- Fixed callers of now-dropped VM arguments/properties
- added a dedicated sock_fd arg to ConsoleSocket()
- now using socketpair() for qtest console, too.
- dropped sock_dir arg from *all* machine.py classes
- Tested quite a bit more thoroughly ...
CI: https://gitlab.com/jsnow/qemu/-/pipelines/945067498
John Snow (6):
python/machine: move socket setup out of _base_args property
python/machine: close sock_pair in cleanup path
python/console_socket: accept existing FD in initializer
python/machine: use socketpair() for console connections
python/machine: use socketpair() for qtest connection
python/machine: remove unused sock_dir argument
python/qemu/machine/console_socket.py | 29 ++++++++---
python/qemu/machine/machine.py | 58 +++++++++++++---------
python/qemu/machine/qtest.py | 54 +++++++++++++++-----
tests/avocado/acpi-bits.py | 5 +-
tests/avocado/avocado_qemu/__init__.py | 2 +-
tests/avocado/machine_aspeed.py | 5 +-
tests/qemu-iotests/iotests.py | 2 +-
tests/qemu-iotests/tests/copy-before-write | 3 +-
8 files changed, 104 insertions(+), 54 deletions(-)
--
2.41.0
next reply other threads:[~2023-07-25 18:05 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-25 18:03 John Snow [this message]
2023-07-25 18:03 ` [PATCH v2 1/6] python/machine: move socket setup out of _base_args property John Snow
2023-07-25 18:16 ` Daniel P. Berrangé
2023-07-26 7:10 ` Ani Sinha
2023-07-25 18:03 ` [PATCH v2 2/6] python/machine: close sock_pair in cleanup path John Snow
2023-07-25 18:18 ` Daniel P. Berrangé
2023-07-26 7:23 ` Ani Sinha
2023-07-25 18:03 ` [PATCH v2 3/6] python/console_socket: accept existing FD in initializer John Snow
2023-07-25 18:19 ` Daniel P. Berrangé
2023-07-27 5:41 ` Ani Sinha
2023-07-25 18:03 ` [PATCH v2 4/6] python/machine: use socketpair() for console connections John Snow
2023-07-25 18:21 ` Daniel P. Berrangé
2023-07-26 10:50 ` Ani Sinha
2023-07-26 17:21 ` John Snow
2023-07-27 5:52 ` Ani Sinha
2023-07-27 6:49 ` Ani Sinha
2023-07-27 10:41 ` Daniel P. Berrangé
2023-07-25 18:03 ` [PATCH v2 5/6] python/machine: use socketpair() for qtest connection John Snow
2023-07-25 18:24 ` Daniel P. Berrangé
2023-07-25 18:03 ` [PATCH v2 6/6] python/machine: remove unused sock_dir argument John Snow
2023-07-25 18:26 ` Daniel P. Berrangé
2023-07-25 18:33 ` John Snow
2023-07-25 18:36 ` Daniel P. Berrangé
2023-07-27 13:05 ` [PATCH v2 0/6] python/machine: use socketpair() for console socket Peter Maydell
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=20230725180337.2937292-1-jsnow@redhat.com \
--to=jsnow@redhat.com \
--cc=andrew@aj.id.au \
--cc=anisinha@redhat.com \
--cc=berrange@redhat.com \
--cc=bleal@redhat.com \
--cc=clg@kaod.org \
--cc=crosa@redhat.com \
--cc=hreitz@redhat.com \
--cc=joel@jms.id.au \
--cc=kwolf@redhat.com \
--cc=mst@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=philmd@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=wainersm@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).