Bug 1324959

Summary: [seabios] boot warning when 12 virtio-blk-pci data disks are used
Product: Red Hat Enterprise Linux 7 Reporter: Marcel Apfelbaum <marcel>
Component: seabiosAssignee: Gerd Hoffmann <kraxel>
Status: CLOSED NOTABUG QA Contact: Virtualization Bugs <virt-bugs>
Severity: low Docs Contact:
Priority: medium    
Version: 7.3CC: ailan, hhuang, huding, jinzhao, juli, juzhang, knoel, kraxel, marcel, michen, mst, rbalakri, vgoyal, virt-bugs, virt-maint, xfu
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 1314588 Environment:
Last Closed: 2016-06-14 06:51:45 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1055427, 1314588    
Bug Blocks: 1227278    

Comment 1 Marcel Apfelbaum 2016-04-07 17:00:05 UTC
The original problem was not a bug, but working on it I noticed the SeaBIOS warning:

Searching bootorder for: /pci@i0cf8/*@1f,2/drive@0/disk@0
AHCI/0: registering: "AHCI/0: QEMU HARDDISK ATA-7 Hard-Disk (100 GiBytes)"
found virtio-blk at 3:0
Searching bootorder for: /pci@i0cf8/pci-bridge@3/pci-bridge@0/pci-bridge@0/*@0
found virtio-blk at 4:0
Searching bootorder for: /pci@i0cf8/pci-bridge@3/pci-bridge@0/pci-bridge@1/*@0
found virtio-blk at 5:0
Searching bootorder for: /pci@i0cf8/pci-bridge@3/pci-bridge@0/pci-bridge@2/*@0
found virtio-blk at 6:0
Searching bootorder for: /pci@i0cf8/pci-bridge@3/pci-bridge@0/pci-bridge@3/*@0
found virtio-blk at 7:0
Searching bootorder for: /pci@i0cf8/pci-bridge@3/pci-bridge@0/pci-bridge@4/*@0
found virtio-blk at 8:0
Searching bootorder for: /pci@i0cf8/pci-bridge@3/pci-bridge@0/pci-bridge@5/*@0
found virtio-blk at 9:0
Searching bootorder for: /pci@i0cf8/pci-bridge@3/pci-bridge@0/pci-bridge@6/*@0
found virtio-blk at a:0
WARNING - Unable to allocate resource at vp_find_vq:35!
fail to find vq for virtio-blk a:0
found virtio-blk at b:0
WARNING - Unable to allocate resource at vp_find_vq:35!
fail to find vq for virtio-blk b:0
found virtio-blk at c:0
WARNING - Unable to allocate resource at vp_find_vq:35!
fail to find vq for virtio-blk c:0
found virtio-blk at d:0
WARNING - Unable to allocate resource at vp_find_vq:35!
fail to find vq for virtio-blk d:0
found virtio-blk at e:0
WARNING - Unable to allocate resource at vp_find_vq:35!
fail to find vq for virtio-blk e:0

The issue is not related to Q35 or switches, it reproduces also on pc machines, the only thing that matters is using ~ 12 virtio-blk-pci.

Comment 3 Fam Zheng 2016-05-10 09:05:57 UTC
Marcel, with which versions do you see this warning?

Comment 4 Marcel Apfelbaum 2016-05-10 10:07:33 UTC
(In reply to Fam Zheng from comment #3)
> Marcel, with which versions do you see this warning?

Latest SeaBIOS should also show this warnings, just attach enough virtio blk devices.

Comment 5 Fam Zheng 2016-05-24 05:53:47 UTC
I couldn't reproduce this so far with latest qemu-kvm-rhev-2.6.0-3.el7 and seabios-1.9.1-4.el7. I'm using the script in bug description to generate the command line, with 15 virtio-blk devices:

SeaBIOS (version 1.9.1-4.el7)
All threads complete.
Found 0 lpt ports
Found 1 serial ports
AHCI controller at 1f.2, iobase fea51000, irq 10
Searching bootorder for: /pci@i0cf8/*@1f,2/drive@2/disk@0
AHCI/2: registering: "DVD/CD [AHCI/2: QEMU DVD-ROM ATAPI-4 DVD/CD]"
PS2 keyboard initialized
found virtio-blk at 3:0
pci dev 3:0 using legacy (0.9.5) virtio mode
Searching bootorder for: /pci@i0cf8/pci-bridge@3/pci-bridge@0/pci-bridge@0/*@0
found virtio-blk at 4:0
pci dev 4:0 using legacy (0.9.5) virtio mode
Searching bootorder for: /pci@i0cf8/pci-bridge@3/pci-bridge@0/pci-bridge@1/*@0
found virtio-blk at 5:0
pci dev 5:0 using legacy (0.9.5) virtio mode
Searching bootorder for: /pci@i0cf8/pci-bridge@3/pci-bridge@0/pci-bridge@2/*@0
found virtio-blk at 6:0
pci dev 6:0 using legacy (0.9.5) virtio mode
Searching bootorder for: /pci@i0cf8/pci-bridge@3/pci-bridge@0/pci-bridge@3/*@0
found virtio-blk at 7:0
pci dev 7:0 using legacy (0.9.5) virtio mode
Searching bootorder for: /pci@i0cf8/pci-bridge@3/pci-bridge@0/pci-bridge@4/*@0
found virtio-blk at 8:0
pci dev 8:0 using legacy (0.9.5) virtio mode
Searching bootorder for: /pci@i0cf8/pci-bridge@3/pci-bridge@0/pci-bridge@5/*@0
found virtio-blk at 9:0
pci dev 9:0 using legacy (0.9.5) virtio mode
Searching bootorder for: /pci@i0cf8/pci-bridge@3/pci-bridge@0/pci-bridge@6/*@0
found virtio-blk at a:0
pci dev a:0 using legacy (0.9.5) virtio mode
Searching bootorder for: /pci@i0cf8/pci-bridge@3/pci-bridge@0/pci-bridge@7/*@0
found virtio-blk at b:0
pci dev b:0 using legacy (0.9.5) virtio mode
Searching bootorder for: /pci@i0cf8/pci-bridge@3/pci-bridge@0/pci-bridge@8/*@0
found virtio-blk at c:0
pci dev c:0 using legacy (0.9.5) virtio mode
Searching bootorder for: /pci@i0cf8/pci-bridge@3/pci-bridge@0/pci-bridge@9/*@0
found virtio-blk at d:0
pci dev d:0 using legacy (0.9.5) virtio mode
Searching bootorder for: /pci@i0cf8/pci-bridge@3/pci-bridge@0/pci-bridge@a/*@0
found virtio-blk at e:0
pci dev e:0 using legacy (0.9.5) virtio mode
Searching bootorder for: /pci@i0cf8/pci-bridge@3/pci-bridge@0/pci-bridge@b/*@0
found virtio-blk at f:0
pci dev f:0 using legacy (0.9.5) virtio mode
Searching bootorder for: /pci@i0cf8/pci-bridge@3/pci-bridge@0/pci-bridge@c/*@0
All threads complete.

Comment 6 Gerd Hoffmann 2016-06-14 06:51:45 UTC
(In reply to Marcel Apfelbaum from comment #1)
> The original problem was not a bug, but working on it I noticed the SeaBIOS
> warning:

> WARNING - Unable to allocate resource at vp_find_vq:35!
> fail to find vq for virtio-blk a:0
> found virtio-blk at b:0

> The issue is not related to Q35 or switches, it reproduces also on pc
> machines, the only thing that matters is using ~ 12 virtio-blk-pci.

Yes, it's seabios running out of memory, and given the real mode constrains there is no easy way out.

Up to 8 virtio-blk devices are documented as supported.
If you get 12 everything is fine.

If you need more disks use OVMF or virtio-scsi.
If you just need some virtio pcie device for bridge testing pick something else.

Comment 7 Fam Zheng 2016-06-27 05:16:18 UTC
*** Bug 1326258 has been marked as a duplicate of this bug. ***