Re: [PATCH v2 0/7] Python: Drop support for Python 3.6

2023-02-10 Thread Markus Armbruster
First, a plea. Supporting 3.6 has made a few of us prisoners dragging ball and chain. So, please, *please* let us cut of these leg irons! The series does not include follow-up cleanups. Fine with me.

Re: [PATCH 6/7] CI: Stop building docs on centos8

2023-02-10 Thread Paolo Bonzini
On 2/10/23 00:32, John Snow wrote: It's possible to teach lcitool to use pip instead to install docutils, sphinx and sphinx-rtd-theme I will say that once upon a time, Peter Maydell expressed a preference to use the version(s) of sphinx managed by the distro instead of swallowing it into the py

Re: [PATCH 5/7] testing: Add Python >= 3.7 to Centos, OpenSuSE

2023-02-10 Thread Daniel P . Berrangé
On Thu, Feb 09, 2023 at 10:40:32AM -0500, John Snow wrote: > This is just a proof-of-concept patch, as these files are lcitool > generated. The real fix will involve updating the lcitool configuration > and updating these files that way. Paolo has been working on this https://lists.gnu.org/arch

Re: [PATCH v2 6/7] CI: Stop building docs on centos8

2023-02-10 Thread Peter Maydell
On Fri, 10 Feb 2023 at 00:31, John Snow wrote: > > CentOS 8 does not ship with a sphinx new enough for our purposes (It > necessarily uses Python 3.6), so drop this from this build. We can > resume building docs on CentOS 9 if we wish, but we also currently test > and build docs on Fedora, Ubuntu,

Re: [PATCH v2 3/7] configure: Look for auxiliary Python installations

2023-02-10 Thread Paolo Bonzini
On 2/10/23 01:31, John Snow wrote: At the moment, we look for just "python3" and "python", which is good enough almost all of the time. But ... if you are on a platform that uses an older Python by default and only offers a newer Python as an option, you'll have to specify --python=/usr/bin/foo e

Re: [PULL 0/6] Block patches

2023-02-10 Thread Peter Maydell
On Thu, 9 Feb 2023 at 15:25, Stefan Hajnoczi wrote: > > The following changes since commit 417296c8d8588f782018d01a317f88957e9786d6: > > tests/qtest/netdev-socket: Raise connection timeout to 60 seconds > (2023-02-09 11:23:53 +) > > are available in the Git repository at: > > https://gitl

[PATCH v2 0/3] virtio-scsi: fix SCSIDevice hot unplug with IOThread

2023-02-10 Thread Stefan Hajnoczi
Unplugging SCSIDevices when virtio-scsi is using an IOThread suffers from race conditions: - scsi_device_purge_requests() is called from the IOThread in TMF emulation. This is unsafe, it should only be called from the BQL. - SCSIRequest->aiocb is not protected by a lock, so there are races betwee

[PATCH v2 1/3] scsi: protect req->aiocb with AioContext lock

2023-02-10 Thread Stefan Hajnoczi
If requests are being processed in the IOThread when a SCSIDevice is unplugged, scsi_device_purge_requests() -> scsi_req_cancel_async() races with I/O completion callbacks. Both threads load and store req->aiocb. This can lead to assert(r->req.aiocb == NULL) failures and undefined behavior. Protec

[PATCH v2 2/3] dma-helpers: prevent dma_blk_cb() vs dma_aio_cancel() race

2023-02-10 Thread Stefan Hajnoczi
dma_blk_cb() only takes the AioContext lock around ->io_func(). That means the rest of dma_blk_cb() is not protected. In particular, the DMAAIOCB field accesses happen outside the lock. There is a race when the main loop thread holds the AioContext lock and invokes scsi_device_purge_requests() ->

[PATCH v2 3/3] virtio-scsi: reset SCSI devices from main loop thread

2023-02-10 Thread Stefan Hajnoczi
When an IOThread is configured, the ctrl virtqueue is processed in the IOThread. TMFs that reset SCSI devices are currently called directly from the IOThread and trigger an assertion failure in blk_drain(): ../block/block-backend.c:1780: void blk_drain(BlockBackend *): Assertion `qemu_in_main_t

Re: [PATCH v2 3/7] configure: Look for auxiliary Python installations

2023-02-10 Thread John Snow
On Fri, Feb 10, 2023, 5:46 AM Paolo Bonzini wrote: > On 2/10/23 01:31, John Snow wrote: > > At the moment, we look for just "python3" and "python", which is good > > enough almost all of the time. But ... if you are on a platform that > > uses an older Python by default and only offers a newer Py

Re: [PATCH v2 3/7] configure: Look for auxiliary Python installations

2023-02-10 Thread Peter Maydell
On Fri, 10 Feb 2023 at 15:28, John Snow wrote: > > > > On Fri, Feb 10, 2023, 5:46 AM Paolo Bonzini wrote: >> >> On 2/10/23 01:31, John Snow wrote: >> > +for binary in "${PYTHON-python3}" python python3.{11..6} >> >> This is not available in e.g. dash, so we need to use {11,10,9,8,7,6}. >> Just a

Re: [PATCH v2 6/7] CI: Stop building docs on centos8

2023-02-10 Thread John Snow
On Fri, Feb 10, 2023, 5:41 AM Peter Maydell wrote: > On Fri, 10 Feb 2023 at 00:31, John Snow wrote: > > > > CentOS 8 does not ship with a sphinx new enough for our purposes (It > > necessarily uses Python 3.6), so drop this from this build. We can > > resume building docs on CentOS 9 if we wish,

Re: [PATCH v2 3/7] configure: Look for auxiliary Python installations

2023-02-10 Thread Paolo Bonzini
On Fri, Feb 10, 2023 at 4:28 PM John Snow wrote: > PS, while you're here, how does this new loop interfere with your "custom > python specified" flag for meson? I think meson uses the version of python > *it* detects and not the configure script identified one, right? Does that > mean that e.g.

Re: [PATCH v2 3/7] configure: Look for auxiliary Python installations

2023-02-10 Thread John Snow
On Fri, Feb 10, 2023, 11:17 AM Paolo Bonzini wrote: > On Fri, Feb 10, 2023 at 4:28 PM John Snow wrote: > > PS, while you're here, how does this new loop interfere with your > "custom python specified" flag for meson? I think meson uses the version of > python *it* detects and not the configure s

Re: [PATCH v2 3/7] configure: Look for auxiliary Python installations

2023-02-10 Thread Paolo Bonzini
On Fri, Feb 10, 2023 at 5:22 PM John Snow wrote: >> Though part of me thinks that your new loop is slightly overengineered >> and we should just require /usr/bin/env python3 and call it a day. > > Well, but that'd be a problem for CentOS 8, wouldn't it? python3 is gonna > resolve to python3.6. T

Re: [PATCH v6 00/33] Consolidate PIIX south bridges

2023-02-10 Thread Bernhard Beschow
Am 23. Januar 2023 15:51:49 UTC schrieb Bernhard Beschow : > > >Am 23. Januar 2023 09:25:51 UTC schrieb "Philippe Mathieu-Daudé" >: >>On 20/1/23 13:22, Bernhard Beschow wrote: >>> Am 13. Januar 2023 17:39:45 UTC schrieb Bernhard Beschow >>> : Am 13. Januar 2023 08:46:53 UTC schrieb "Phili

Re: [PATCH v2 6/7] CI: Stop building docs on centos8

2023-02-10 Thread Peter Maydell
On Fri, 10 Feb 2023 at 16:01, John Snow wrote: > On Fri, Feb 10, 2023, 5:41 AM Peter Maydell wrote: >> On Fri, 10 Feb 2023 at 00:31, John Snow wrote: >> This confuses me. We work fine with Python 3.6 today. > > > That won't last - Many tools such as mypy, pylint and flake8 which I use to > mana

Re: [PATCH 5/7] hw/ide/piix: Use generic ide_init_ioport()

2023-02-10 Thread Bernhard Beschow
Am 9. Februar 2023 09:04:49 UTC schrieb Bernhard Beschow : >On Wed, Feb 8, 2023 at 1:08 AM Philippe Mathieu-Daudé >wrote: > >> TYPE_PIIX3_IDE is a PCI function inheriting from QOM >> TYPE_PCI_DEVICE. To be able to call the ISA specific >> ide_init_ioport_isa(), we call this function passing >>

Re: [PATCH v2 6/7] CI: Stop building docs on centos8

2023-02-10 Thread Daniel P . Berrangé
On Fri, Feb 10, 2023 at 04:32:19PM +, Peter Maydell wrote: > On Fri, 10 Feb 2023 at 16:01, John Snow wrote: > > On Fri, Feb 10, 2023, 5:41 AM Peter Maydell > > wrote: > >> On Fri, 10 Feb 2023 at 00:31, John Snow wrote: > >> This confuses me. We work fine with Python 3.6 today. > > > > > > T

Re: [PATCH v6 00/33] Consolidate PIIX south bridges

2023-02-10 Thread Philippe Mathieu-Daudé
On 10/2/23 17:27, Bernhard Beschow wrote: Am 23. Januar 2023 15:51:49 UTC schrieb Bernhard Beschow : Am 23. Januar 2023 09:25:51 UTC schrieb "Philippe Mathieu-Daudé" : On 20/1/23 13:22, Bernhard Beschow wrote: Am 13. Januar 2023 17:39:45 UTC schrieb Bernhard Beschow : Am 13. Januar 2023

Re: [PATCH v2 6/7] CI: Stop building docs on centos8

2023-02-10 Thread Peter Maydell
On Fri, 10 Feb 2023 at 16:52, Daniel P. Berrangé wrote: > > On Fri, Feb 10, 2023 at 04:32:19PM +, Peter Maydell wrote: > > On Fri, 10 Feb 2023 at 16:01, John Snow wrote: > > > On Fri, Feb 10, 2023, 5:41 AM Peter Maydell > > > wrote: > > >> On Fri, 10 Feb 2023 at 00:31, John Snow wrote: > >

Re: [PATCH v2 6/7] CI: Stop building docs on centos8

2023-02-10 Thread John Snow
On Fri, Feb 10, 2023, 11:32 AM Peter Maydell wrote: > On Fri, 10 Feb 2023 at 16:01, John Snow wrote: > > On Fri, Feb 10, 2023, 5:41 AM Peter Maydell > wrote: > >> On Fri, 10 Feb 2023 at 00:31, John Snow wrote: > >> This confuses me. We work fine with Python 3.6 today. > > > > > > That won't la

Re: [PATCH v2 6/7] CI: Stop building docs on centos8

2023-02-10 Thread Peter Maydell
On Fri, 10 Feb 2023 at 17:55, John Snow wrote: > (The problem with just allowing sphinx to be a black box and > continuing to happily use the 3.6-based versions is that we are > using QAPIDoc extensions from our own codebase, which would lock > those to 3.6. A big motivator for Markus is dropping

Re: [PATCH v2 6/7] CI: Stop building docs on centos8

2023-02-10 Thread Paolo Bonzini
On 2/10/23 18:15, Peter Maydell wrote: Right. All of these things together seem to say: * Python is not an unreasonable thing for the project to depend on * CentOS 8 is not an unreasonable distro for us to want to continue to support * Therefore we should continue to work with the P

Re: [PATCH v2 4/7] configure: Add nice hint to Python failure message

2023-02-10 Thread John Snow
On Fri, Feb 10, 2023, 2:45 AM Thomas Huth wrote: > On 10/02/2023 01.31, John Snow wrote: > > If we begin requiring Python 3.7+, a few platforms are going to need to > > install an additional package. > > > > This is at least mildly annoying to the user (and I hate negative > > attention), so solv

Re: [PATCH 3/7] configure: Look for auxiliary Python installations

2023-02-10 Thread Eric Blake
On Thu, Feb 09, 2023 at 10:40:30AM -0500, John Snow wrote: > At the moment, we look for just "python3" and "python", which is good > enough almost all of the time. But ... if you are on a platform that > uses an older Python by default and only offers a newer Python as an > option, you'll have to s

Re: [PATCH v2 3/7] configure: Look for auxiliary Python installations

2023-02-10 Thread Eric Blake
On Fri, Feb 10, 2023 at 10:28:42AM -0500, John Snow wrote: > > > python= > > > +first_python= > > > explicit_python=no > > > -for binary in "${PYTHON-python3}" python > > > +# A bare 'python' is traditionally python 2.x, but some distros > > > +# have it as python 3.x, so check in both places.

Re: [PATCH v2 6/7] CI: Stop building docs on centos8

2023-02-10 Thread Paolo Bonzini
Il ven 10 feb 2023, 19:09 Peter Maydell ha scritto: > On Fri, 10 Feb 2023 at 17:55, John Snow wrote: > > (The problem with just allowing sphinx to be a black box and > > continuing to happily use the 3.6-based versions is that we are > > using QAPIDoc extensions from our own codebase, which woul