All of lore.kernel.org
 help / color / mirror / Atom feed
* Guests wont start with 15 pcie-root-port devices
@ 2021-11-12 17:35 Brian Rak
  2021-11-12 17:53 ` Daniel P. Berrangé
  0 siblings, 1 reply; 5+ messages in thread
From: Brian Rak @ 2021-11-12 17:35 UTC (permalink / raw)
  To: qemu-devel, marcel.apfelbaum

In 6.1, a guest with 15 empty pcie-root-port devices will not boot 
properly - it just hangs on "Guest has not initialized the display 
(yet).".  As soon as I remove the last pcie-root-port, the guest begins 
starting up normally.  My qemu command line:

/usr/libexec/qemu-kvm -name guest=xxx,debug-threads=on -S -object 
{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain-29-xxx/master-key.aes"} 
-machine 
pc-q35-6.1,accel=kvm,usb=off,dump-guest-core=off,memory-backend=pc.ram 
-cpu Haswell-noTSX-IBRS -m 4096 -object 
{"qom-type":"memory-backend-ram","id":"pc.ram","size":4294967296} 
-overcommit mem-lock=off -smp 2,sockets=2,cores=1,threads=1 -uuid 
daf2c139-4991-4079-9b8a-b4c98fc675e0 -no-user-config -nodefaults 
-chardev socket,id=charmonitor,fd=31,server=on,wait=off -mon 
chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown 
-boot strict=on -device 
pcie-root-port,port=0x10,chassis=1,id=pci.1,bus=pcie.0,multifunction=on,addr=0x2 
-device 
pcie-root-port,port=0x11,chassis=2,id=pci.2,bus=pcie.0,addr=0x2.0x1 
-device 
pcie-root-port,port=0x12,chassis=3,id=pci.3,bus=pcie.0,addr=0x2.0x2 
-device 
pcie-root-port,port=0x13,chassis=4,id=pci.4,bus=pcie.0,addr=0x2.0x3 
-device 
pcie-root-port,port=0x14,chassis=5,id=pci.5,bus=pcie.0,addr=0x2.0x4 
-device 
pcie-root-port,port=0x15,chassis=6,id=pci.6,bus=pcie.0,addr=0x2.0x5 
-device 
pcie-root-port,port=0x16,chassis=7,id=pci.7,bus=pcie.0,addr=0x2.0x6 
-device 
pcie-root-port,port=0x17,chassis=8,id=pci.8,bus=pcie.0,addr=0x2.0x7 
-device 
pcie-root-port,port=0x18,chassis=9,id=pci.9,bus=pcie.0,multifunction=on,addr=0x3 
-device 
pcie-root-port,port=0x19,chassis=10,id=pci.10,bus=pcie.0,addr=0x3.0x1 
-device 
pcie-root-port,port=0x1a,chassis=11,id=pci.11,bus=pcie.0,addr=0x3.0x2 
-device 
pcie-root-port,port=0x1b,chassis=12,id=pci.12,bus=pcie.0,addr=0x3.0x3 
-device 
pcie-root-port,port=0x1c,chassis=13,id=pci.13,bus=pcie.0,addr=0x3.0x4 
-device 
pcie-root-port,port=0x1d,chassis=14,id=pci.14,bus=pcie.0,addr=0x3.0x5 
-device 
pcie-root-port,port=0x1e,chassis=15,id=pci.15,bus=pcie.0,addr=0x3.0x6 
-device qemu-xhci,id=usb,bus=pci.1,addr=0x0 -audiodev 
id=audio1,driver=none -vnc 
127.0.0.1:5410,websocket=41310,password=on,audiodev=audio1 -device 
cirrus-vga,id=video0,bus=pcie.0,addr=0x1 -device 
virtio-balloon-pci,id=balloon0,bus=pci.2,addr=0x0 -sandbox 
on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny 
-msg timestamp=on

The same guest XML that produced this worked fine in 5.2  I was able to 
bisect this down to this commit:


commit e2a6290aab578b2170c1f5909fa556385dc0d820
Author: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Date:   Mon Aug 2 12:00:57 2021 +0300

     hw/pcie-root-port: Fix hotplug for PCI devices requiring IO

Although I can't say I really understand why that commit triggered it.



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Guests wont start with 15 pcie-root-port devices
  2021-11-12 17:35 Guests wont start with 15 pcie-root-port devices Brian Rak
@ 2021-11-12 17:53 ` Daniel P. Berrangé
  2021-11-12 20:51   ` Igor Mammedov
  0 siblings, 1 reply; 5+ messages in thread
From: Daniel P. Berrangé @ 2021-11-12 17:53 UTC (permalink / raw)
  To: brak; +Cc: qemu-devel

On Fri, Nov 12, 2021 at 12:35:07PM -0500, Brian Rak wrote:
> In 6.1, a guest with 15 empty pcie-root-port devices will not boot properly
> - it just hangs on "Guest has not initialized the display (yet).".  As soon
> as I remove the last pcie-root-port, the guest begins starting up normally. 

Yes, QEMU 6.1 has a regression

  https://gitlab.com/qemu-project/qemu/-/issues/641 


> commit e2a6290aab578b2170c1f5909fa556385dc0d820
> Author: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
> Date:   Mon Aug 2 12:00:57 2021 +0300
> 
>     hw/pcie-root-port: Fix hotplug for PCI devices requiring IO
> 
> Although I can't say I really understand why that commit triggered it.

It caused the firmware to always allocate I/O space for every port
and there's limited total I/O space, so it runs out at 15 devices.

Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Guests wont start with 15 pcie-root-port devices
  2021-11-12 17:53 ` Daniel P. Berrangé
@ 2021-11-12 20:51   ` Igor Mammedov
  2021-11-15 16:57     ` Brian Rak
  0 siblings, 1 reply; 5+ messages in thread
From: Igor Mammedov @ 2021-11-12 20:51 UTC (permalink / raw)
  To: Daniel P. Berrangé; +Cc: brak, qemu-devel

On Fri, 12 Nov 2021 17:53:42 +0000
Daniel P. Berrangé <berrange@redhat.com> wrote:

> On Fri, Nov 12, 2021 at 12:35:07PM -0500, Brian Rak wrote:
> > In 6.1, a guest with 15 empty pcie-root-port devices will not boot properly
> > - it just hangs on "Guest has not initialized the display (yet).".  As soon
> > as I remove the last pcie-root-port, the guest begins starting up normally.   
> 
> Yes, QEMU 6.1 has a regression
> 
>   https://gitlab.com/qemu-project/qemu/-/issues/641 
> 
> 
> > commit e2a6290aab578b2170c1f5909fa556385dc0d820
> > Author: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
> > Date:   Mon Aug 2 12:00:57 2021 +0300
> > 
> >     hw/pcie-root-port: Fix hotplug for PCI devices requiring IO
> > 
> > Although I can't say I really understand why that commit triggered it.  
> 
> It caused the firmware to always allocate I/O space for every port
> and there's limited total I/O space, so it runs out at 15 devices.

alternatively instead of reverting to native PCIe hotplug as in the issue
Daniel's mentioned, you can apply following fix
 https://patchew.org/QEMU/20211112110857.3116853-1-imammedo@redhat.com/

> 
> Regards,
> Daniel



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Guests wont start with 15 pcie-root-port devices
  2021-11-12 20:51   ` Igor Mammedov
@ 2021-11-15 16:57     ` Brian Rak
  2021-11-16 19:41       ` Igor Mammedov
  0 siblings, 1 reply; 5+ messages in thread
From: Brian Rak @ 2021-11-15 16:57 UTC (permalink / raw)
  To: Igor Mammedov, Daniel P. Berrangé; +Cc: qemu-devel

Will this fix make it into 6.2?

On 11/12/2021 3:51 PM, Igor Mammedov wrote:
> On Fri, 12 Nov 2021 17:53:42 +0000
> Daniel P. Berrangé <berrange@redhat.com> wrote:
>
>> On Fri, Nov 12, 2021 at 12:35:07PM -0500, Brian Rak wrote:
>>> In 6.1, a guest with 15 empty pcie-root-port devices will not boot properly
>>> - it just hangs on "Guest has not initialized the display (yet).".  As soon
>>> as I remove the last pcie-root-port, the guest begins starting up normally.
>> Yes, QEMU 6.1 has a regression
>>
>>    https://gitlab.com/qemu-project/qemu/-/issues/641
>>
>>
>>> commit e2a6290aab578b2170c1f5909fa556385dc0d820
>>> Author: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
>>> Date:   Mon Aug 2 12:00:57 2021 +0300
>>>
>>>      hw/pcie-root-port: Fix hotplug for PCI devices requiring IO
>>>
>>> Although I can't say I really understand why that commit triggered it.
>> It caused the firmware to always allocate I/O space for every port
>> and there's limited total I/O space, so it runs out at 15 devices.
> alternatively instead of reverting to native PCIe hotplug as in the issue
> Daniel's mentioned, you can apply following fix
>   https://patchew.org/QEMU/20211112110857.3116853-1-imammedo@redhat.com/
>
>> Regards,
>> Daniel


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Guests wont start with 15 pcie-root-port devices
  2021-11-15 16:57     ` Brian Rak
@ 2021-11-16 19:41       ` Igor Mammedov
  0 siblings, 0 replies; 5+ messages in thread
From: Igor Mammedov @ 2021-11-16 19:41 UTC (permalink / raw)
  To: Brian Rak; +Cc: brak, Daniel P. Berrangé, qemu-devel

On Mon, 15 Nov 2021 11:57:43 -0500
Brian Rak <brak@vultr.com> wrote:

> Will this fix make it into 6.2?

yes,
it was just merged 2aa1842d6d79..7e6055c99f2f1f

PS:
Native PCIe hotplug fixes from Gerd were merged as well,
so if you'd like to use native hotplug, use 
  --global ICH9-LPC.acpi-pci-hotplug-with-bridge-support=off
to turn off ACPI hotplug.

> On 11/12/2021 3:51 PM, Igor Mammedov wrote:
> > On Fri, 12 Nov 2021 17:53:42 +0000
> > Daniel P. Berrangé <berrange@redhat.com> wrote:
> >  
> >> On Fri, Nov 12, 2021 at 12:35:07PM -0500, Brian Rak wrote:  
> >>> In 6.1, a guest with 15 empty pcie-root-port devices will not boot properly
> >>> - it just hangs on "Guest has not initialized the display (yet).".  As soon
> >>> as I remove the last pcie-root-port, the guest begins starting up normally.  
> >> Yes, QEMU 6.1 has a regression
> >>
> >>    https://gitlab.com/qemu-project/qemu/-/issues/641
> >>
> >>  
> >>> commit e2a6290aab578b2170c1f5909fa556385dc0d820
> >>> Author: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
> >>> Date:   Mon Aug 2 12:00:57 2021 +0300
> >>>
> >>>      hw/pcie-root-port: Fix hotplug for PCI devices requiring IO
> >>>
> >>> Although I can't say I really understand why that commit triggered it.  
> >> It caused the firmware to always allocate I/O space for every port
> >> and there's limited total I/O space, so it runs out at 15 devices.  
> > alternatively instead of reverting to native PCIe hotplug as in the issue
> > Daniel's mentioned, you can apply following fix
> >   https://patchew.org/QEMU/20211112110857.3116853-1-imammedo@redhat.com/
> >  
> >> Regards,
> >> Daniel  
> 



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-11-16 19:45 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-12 17:35 Guests wont start with 15 pcie-root-port devices Brian Rak
2021-11-12 17:53 ` Daniel P. Berrangé
2021-11-12 20:51   ` Igor Mammedov
2021-11-15 16:57     ` Brian Rak
2021-11-16 19:41       ` Igor Mammedov

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.