Hide Forgot
Created attachment 1147064 [details] Limited boot num for scsi Description of problem: Limited boot number supported for SCSI/SATA. seabios-1.7.5-11.el7 don't have this problem. Version-Release number of selected component (if applicable): kerner version:3.10.0-371.el7.x86_64 qemu version:qemu-kvm-rhev-2.5.0-4.el7 seabios version:seabios-1.9.1-2.el7 How reproducible: 100% Steps to Reproduce: 1.Start VM with 52 scsi disks img, commands as bellow: /usr/libexec/qemu-kvm \ -M pc \ -name rhel7.1-4 \ -machine pc,accel=kvm,usb=off,vmport=off \ -cpu SandyBridge \ -m 4096 \ -smp 8,sockets=8,cores=1,threads=1 \ -uuid 1534fa42-4818-4493-9f67-eee5ba758385 \ -nodefaults -nodefconfig -no-user-config \ -chardev socket,id=qmp_id_catch_monitor,path=/var/tmp/test1,server,nowait \ -mon chardev=qmp_id_catch_monitor,id=monitor,mode=control -no-hpet \ -boot menu=on,splash-time=10000 \ -device virtio-scsi-pci,id=scsi0,addr=0x5 \ -drive file=/tmp/test_kvm.img,if=none,id=drive-scsi-disk,format=qcow2,cache=none,aio=native \ -device scsi-hd,drive=drive-scsi-disk,bus=scsi0.0,scsi-id=0,id=scsi-disk \ -drive file=/tmp/test1.img,if=none,id=drive-scsi-disk1,format=qcow2,cache=none,aio=native \ -device scsi-hd,drive=drive-scsi-disk1,bus=scsi0.0,scsi-id=1,id=scsi-disk1 \ -drive file=/tmp/test2.img,if=none,id=drive-scsi-disk2,format=qcow2,cache=none,aio=native \ -device scsi-hd,drive=drive-scsi-disk2,bus=scsi0.0,scsi-id=2,id=scsi-disk2 \ -drive file=/tmp/test3.img,if=none,id=drive-scsi-disk3,format=qcow2,cache=none,aio=native \ -device scsi-hd,drive=drive-scsi-disk3,bus=scsi0.0,scsi-id=3,id=scsi-disk3 \ -drive file=/tmp/test4.img,if=none,id=drive-scsi-disk4,format=qcow2,cache=none,aio=native \ -device scsi-hd,drive=drive-scsi-disk4,bus=scsi0.0,scsi-id=4,id=scsi-disk4 \ -drive file=/tmp/test5.img,if=none,id=drive-scsi-disk5,format=qcow2,cache=none,aio=native \ -device scsi-hd,drive=drive-scsi-disk5,bus=scsi0.0,scsi-id=5,id=scsi-disk5 \ -drive file=/tmp/test6.img,if=none,id=drive-scsi-disk6,format=qcow2,cache=none,aio=native \ -device scsi-hd,drive=drive-scsi-disk6,bus=scsi0.0,scsi-id=6,id=scsi-disk6 \ -drive file=/tmp/test7.img,if=none,id=drive-scsi-disk7,format=qcow2,cache=none,aio=native \ -device scsi-hd,drive=drive-scsi-disk7,bus=scsi0.0,scsi-id=7,id=scsi-disk7 \ -drive file=/tmp/test8.img,if=none,id=drive-scsi-disk8,format=qcow2,cache=none,aio=native \ -device scsi-hd,drive=drive-scsi-disk8,bus=scsi0.0,scsi-id=8,id=scsi-disk8 \ -drive file=/tmp/test9.img,if=none,id=drive-scsi-disk9,format=qcow2,cache=none,aio=native \ -device scsi-hd,drive=drive-scsi-disk9,bus=scsi0.0,scsi-id=9,id=scsi-disk9 \ -drive file=/tmp/test10.img,if=none,id=drive-scsi-disk10,format=qcow2,cache=none,aio=native \ -device scsi-hd,drive=drive-scsi-disk10,bus=scsi0.0,scsi-id=10,id=scsi-disk10 \ -drive file=/tmp/test11.img,if=none,id=drive-scsi-disk11,format=qcow2,cache=none,aio=native \ -device scsi-hd,drive=drive-scsi-disk11,bus=scsi0.0,scsi-id=11,id=scsi-disk11 \ -drive file=/tmp/test12.img,if=none,id=drive-scsi-disk12,format=qcow2,cache=none,aio=native \ -device scsi-hd,drive=drive-scsi-disk12,bus=scsi0.0,scsi-id=12,id=scsi-disk12 \ -drive file=/tmp/test13.img,if=none,id=drive-scsi-disk13,format=qcow2,cache=none,aio=native \ -device scsi-hd,drive=drive-scsi-disk13,bus=scsi0.0,scsi-id=13,id=scsi-disk13 \ -drive file=/tmp/test14.img,if=none,id=drive-scsi-disk14,format=qcow2,cache=none,aio=native \ -device scsi-hd,drive=drive-scsi-disk14,bus=scsi0.0,scsi-id=14,id=scsi-disk14 \ -drive file=/tmp/test15.img,if=none,id=drive-scsi-disk15,format=qcow2,cache=none,aio=native \ -device scsi-hd,drive=drive-scsi-disk15,bus=scsi0.0,scsi-id=15,id=scsi-disk15 \ -drive file=/tmp/test16.img,if=none,id=drive-scsi-disk16,format=qcow2,cache=none,aio=native \ -device scsi-hd,drive=drive-scsi-disk16,bus=scsi0.0,scsi-id=16,id=scsi-disk16 \ -drive file=/tmp/test17.img,if=none,id=drive-scsi-disk17,format=qcow2,cache=none,aio=native \ -device scsi-hd,drive=drive-scsi-disk17,bus=scsi0.0,scsi-id=17,id=scsi-disk17 \ -drive file=/tmp/test18.img,if=none,id=drive-scsi-disk18,format=qcow2,cache=none,aio=native \ -device scsi-hd,drive=drive-scsi-disk18,bus=scsi0.0,scsi-id=18,id=scsi-disk18 \ -drive file=/tmp/test19.img,if=none,id=drive-scsi-disk19,format=qcow2,cache=none,aio=native \ -device scsi-hd,drive=drive-scsi-disk19,bus=scsi0.0,scsi-id=19,id=scsi-disk19 \ -drive file=/tmp/test20.img,if=none,id=drive-scsi-disk20,format=qcow2,cache=none,aio=native \ -device scsi-hd,drive=drive-scsi-disk20,bus=scsi0.0,scsi-id=20,id=scsi-disk20 \ -drive file=/tmp/test21.img,if=none,id=drive-scsi-disk21,format=qcow2,cache=none,aio=native \ -device scsi-hd,drive=drive-scsi-disk21,bus=scsi0.0,scsi-id=21,id=scsi-disk21 \ -drive file=/tmp/test22.img,if=none,id=drive-scsi-disk22,format=qcow2,cache=none,aio=native \ -device scsi-hd,drive=drive-scsi-disk22,bus=scsi0.0,scsi-id=22,id=scsi-disk22 \ -drive file=/tmp/test23.img,if=none,id=drive-scsi-disk23,format=qcow2,cache=none,aio=native \ -device scsi-hd,drive=drive-scsi-disk23,bus=scsi0.0,scsi-id=23,id=scsi-disk23 \ -drive file=/tmp/test24.img,if=none,id=drive-scsi-disk24,format=qcow2,cache=none,aio=native \ -device scsi-hd,drive=drive-scsi-disk24,bus=scsi0.0,scsi-id=24,id=scsi-disk24 \ -drive file=/tmp/test25.img,if=none,id=drive-scsi-disk25,format=qcow2,cache=none,aio=native \ -device scsi-hd,drive=drive-scsi-disk25,bus=scsi0.0,scsi-id=25,id=scsi-disk25 \ -drive file=/tmp/test26.img,if=none,id=drive-scsi-disk26,format=qcow2,cache=none,aio=native \ -device scsi-hd,drive=drive-scsi-disk26,bus=scsi0.0,scsi-id=26,id=scsi-disk26 \ -drive file=/tmp/test27.img,if=none,id=drive-scsi-disk27,format=qcow2,cache=none,aio=native \ -device scsi-hd,drive=drive-scsi-disk27,bus=scsi0.0,scsi-id=27,id=scsi-disk27 \ -drive file=/tmp/test28.img,if=none,id=drive-scsi-disk28,format=qcow2,cache=none,aio=native \ -device scsi-hd,drive=drive-scsi-disk28,bus=scsi0.0,scsi-id=28,id=scsi-disk28 \ -drive file=/tmp/test29.img,if=none,id=drive-scsi-disk29,format=qcow2,cache=none,aio=native \ -device scsi-hd,drive=drive-scsi-disk29,bus=scsi0.0,scsi-id=29,id=scsi-disk29 \ -drive file=/tmp/test30.img,if=none,id=drive-scsi-disk30,format=qcow2,cache=none,aio=native \ -device scsi-hd,drive=drive-scsi-disk30,bus=scsi0.0,scsi-id=30,id=scsi-disk30 \ -drive file=/tmp/test31.img,if=none,id=drive-scsi-disk31,format=qcow2,cache=none,aio=native \ -device scsi-hd,drive=drive-scsi-disk31,bus=scsi0.0,scsi-id=31,id=scsi-disk31 \ -drive file=/tmp/test32.img,if=none,id=drive-scsi-disk32,format=qcow2,cache=none,aio=native \ -device scsi-hd,drive=drive-scsi-disk32,bus=scsi0.0,scsi-id=32,id=scsi-disk32 \ -drive file=/tmp/test33.img,if=none,id=drive-scsi-disk33,format=qcow2,cache=none,aio=native \ -device scsi-hd,drive=drive-scsi-disk33,bus=scsi0.0,scsi-id=33,id=scsi-disk33 \ -drive file=/tmp/test34.img,if=none,id=drive-scsi-disk34,format=qcow2,cache=none,aio=native \ -device scsi-hd,drive=drive-scsi-disk34,bus=scsi0.0,scsi-id=34,id=scsi-disk34 \ -drive file=/tmp/test35.img,if=none,id=drive-scsi-disk35,format=qcow2,cache=none,aio=native \ -device scsi-hd,drive=drive-scsi-disk35,bus=scsi0.0,scsi-id=35,id=scsi-disk35 \ -drive file=/tmp/test36.img,if=none,id=drive-scsi-disk36,format=qcow2,cache=none,aio=native \ -device scsi-hd,drive=drive-scsi-disk36,bus=scsi0.0,scsi-id=36,id=scsi-disk36 \ -drive file=/tmp/test37.img,if=none,id=drive-scsi-disk37,format=qcow2,cache=none,aio=native \ -device scsi-hd,drive=drive-scsi-disk37,bus=scsi0.0,scsi-id=37,id=scsi-disk37 \ -drive file=/tmp/test38.img,if=none,id=drive-scsi-disk38,format=qcow2,cache=none,aio=native \ -device scsi-hd,drive=drive-scsi-disk38,bus=scsi0.0,scsi-id=38,id=scsi-disk38 \ -drive file=/tmp/test39.img,if=none,id=drive-scsi-disk39,format=qcow2,cache=none,aio=native \ -drive file=/tmp/test40.img,if=none,id=drive-scsi-disk40,format=qcow2,cache=none,aio=native \ -device scsi-hd,drive=drive-scsi-disk40,bus=scsi0.0,scsi-id=40,id=scsi-disk40 \ -drive file=/tmp/test41.img,if=none,id=drive-scsi-disk41,format=qcow2,cache=none,aio=native \ -device scsi-hd,drive=drive-scsi-disk41,bus=scsi0.0,scsi-id=41,id=scsi-disk41 \ -drive file=/tmp/test42.img,if=none,id=drive-scsi-disk42,format=qcow2,cache=none,aio=native \ -device scsi-hd,drive=drive-scsi-disk42,bus=scsi0.0,scsi-id=42,id=scsi-disk42 \ -drive file=/tmp/test43.img,if=none,id=drive-scsi-disk43,format=qcow2,cache=none,aio=native \ -device scsi-hd,drive=drive-scsi-disk43,bus=scsi0.0,scsi-id=43,id=scsi-disk43 \ -drive file=/tmp/test44.img,if=none,id=drive-scsi-disk44,format=qcow2,cache=none,aio=native \ -device scsi-hd,drive=drive-scsi-disk44,bus=scsi0.0,scsi-id=44,id=scsi-disk44 \ -drive file=/tmp/test45.img,if=none,id=drive-scsi-disk45,format=qcow2,cache=none,aio=native \ -device scsi-hd,drive=drive-scsi-disk45,bus=scsi0.0,scsi-id=45,id=scsi-disk45 \ -drive file=/tmp/test46.img,if=none,id=drive-scsi-disk46,format=qcow2,cache=none,aio=native \ -device scsi-hd,drive=drive-scsi-disk46,bus=scsi0.0,scsi-id=46,id=scsi-disk46 \ -drive file=/tmp/test47.img,if=none,id=drive-scsi-disk47,format=qcow2,cache=none,aio=native \ -drive file=/tmp/test48.img,if=none,id=drive-scsi-disk48,format=qcow2,cache=none,aio=native \ -device scsi-hd,drive=drive-scsi-disk48,bus=scsi0.0,scsi-id=48,id=scsi-disk48 \ -drive file=/tmp/test49.img,if=none,id=drive-scsi-disk49,format=qcow2,cache=none,aio=native \ -device scsi-hd,drive=drive-scsi-disk49,bus=scsi0.0,scsi-id=49,id=scsi-disk49 \ -drive file=/tmp/test50.img,if=none,id=drive-scsi-disk50,format=qcow2,cache=none,aio=native \ -device scsi-hd,drive=drive-scsi-disk50,bus=scsi0.0,scsi-id=50,id=scsi-disk50 \ -drive file=/tmp/test51.img,if=none,id=drive-scsi-disk51,format=qcow2,cache=none,aio=native \ -device scsi-hd,drive=drive-scsi-disk51,bus=scsi0.0,scsi-id=51,id=scsi-disk51 \ -vnc 0:2 \ -device qxl-vga,id=video0,ram_size=67108864,vram_size=67108864,vgamem_mb=16,addr=0xB \ -enable-kvm \ -monitor stdio 2.Check scsi disks number in VM boot menu. Actual results: Boot memu only contain 22 scsi disk boot items. Details, pls refer to attachment ---"Limited boot num for scsi" Expected results: Boot memu should support the specified maximum boot number for scsi disks and other devices. Additional info: seabios-1.9.1-2.el7 Boot menu only support 17 sata disk boot items.
(In reply to aihua liang from comment #0) > Created attachment 1147064 [details] > Limited boot num for scsi > > Description of problem: > Limited boot number supported for SCSI/SATA. > seabios-1.7.5-11.el7 don't have this problem. > > Version-Release number of selected component (if applicable): > kerner version:3.10.0-371.el7.x86_64 > qemu version:qemu-kvm-rhev-2.5.0-4.el7 > seabios version:seabios-1.9.1-2.el7 So this appears to be a regression in Seabios. Please confirm you have run a test with seabios-1.7.5 with the same kernel and QEMU versions as of this report.
(In reply to Ademar Reis from comment #2) > (In reply to aihua liang from comment #0) > > Created attachment 1147064 [details] > > Limited boot num for scsi > > > > Description of problem: > > Limited boot number supported for SCSI/SATA. > > seabios-1.7.5-11.el7 don't have this problem. > > > > Version-Release number of selected component (if applicable): > > kerner version:3.10.0-371.el7.x86_64 > > qemu version:qemu-kvm-rhev-2.5.0-4.el7 > > seabios version:seabios-1.9.1-2.el7 > > So this appears to be a regression in Seabios. > > Please confirm you have run a test with seabios-1.7.5 with the same kernel > and QEMU versions as of this report. Under the same test environment, i only downgrade the seabios version to seabios-1.7.5,the problem not exist.
seabios running oom in fseg, 1.7.5 has 8k, 1.9.1 has 2k
https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=10876022 Please test. Update: --- a/scripts/layoutrom.py +++ b/scripts/layoutrom.py @@ -62,7 +62,7 @@ BUILD_BIOS_SIZE = 0x10000 BUILD_ROM_START = 0xc0000 BUILD_LOWRAM_END = 0xa0000 # Space to reserve in f-segment for dynamic allocations -BUILD_MIN_BIOSTABLE = 2048 +BUILD_MIN_BIOSTABLE = 8192 # Layout the 16bit code. This ensures sections with fixed offset # requirements are placed in the correct location. It also places the
(In reply to Gerd Hoffmann from comment #6) > https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=10876022 > > Please test. > > Update: > > --- a/scripts/layoutrom.py > +++ b/scripts/layoutrom.py > @@ -62,7 +62,7 @@ BUILD_BIOS_SIZE = 0x10000 > BUILD_ROM_START = 0xc0000 > BUILD_LOWRAM_END = 0xa0000 > # Space to reserve in f-segment for dynamic allocations > -BUILD_MIN_BIOSTABLE = 2048 > +BUILD_MIN_BIOSTABLE = 8192 > > # Layout the 16bit code. This ensures sections with fixed offset > # requirements are placed in the correct location. It also places the Hi Aliang, Could you please it? Best Regards, Junyi
(In reply to juzhang from comment #7) > (In reply to Gerd Hoffmann from comment #6) > > https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=10876022 > > > > Please test. > > > > Update: > > > > --- a/scripts/layoutrom.py > > +++ b/scripts/layoutrom.py > > @@ -62,7 +62,7 @@ BUILD_BIOS_SIZE = 0x10000 > > BUILD_ROM_START = 0xc0000 > > BUILD_LOWRAM_END = 0xa0000 > > # Space to reserve in f-segment for dynamic allocations > > -BUILD_MIN_BIOSTABLE = 2048 > > +BUILD_MIN_BIOSTABLE = 8192 > > > > # Layout the 16bit code. This ensures sections with fixed offset > > # requirements are placed in the correct location. It also places the > > Hi Aliang, > > Could you please it? > > Best Regards, > Junyi Hi,Junyi I'm testing now, will give a reply later. BR, Aliang
(In reply to aihua liang from comment #8) > (In reply to juzhang from comment #7) > > (In reply to Gerd Hoffmann from comment #6) > > > https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=10876022 > > > > > > Please test. > > > > > > Update: > > > > > > --- a/scripts/layoutrom.py > > > +++ b/scripts/layoutrom.py > > > @@ -62,7 +62,7 @@ BUILD_BIOS_SIZE = 0x10000 > > > BUILD_ROM_START = 0xc0000 > > > BUILD_LOWRAM_END = 0xa0000 > > > # Space to reserve in f-segment for dynamic allocations > > > -BUILD_MIN_BIOSTABLE = 2048 > > > +BUILD_MIN_BIOSTABLE = 8192 > > > > > > # Layout the 16bit code. This ensures sections with fixed offset > > > # requirements are placed in the correct location. It also places the > > > > Hi Aliang, > > > > Could you please it? > > > > Best Regards, > > Junyi > > Hi,Junyi > > I'm testing now, will give a reply later. > > BR, > Aliang Hi, all Have tested on seabios-1.9.1-2.el7.bz1327060.2.x86_64.rpm, the result is as bellow: Boot number for scsi:118 --------> in seabios-1.7.5, the number is 126 Boot number for ahci:85 --------> in seabios-1.7.5, the number is 93 Boot number for virtioblk:18 ------> in seabios-1.7.5, the number is 8 Although seabios-1.9.1-2.el7.bz1327060.2.x86_64.rpm has made a great progress, you have to do more to make it accurate, thanks. BR, Aliang
please try (10k bios table now) https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=10885017
(In reply to Gerd Hoffmann from comment #10) > please try (10k bios table now) > > https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=10885017 Hi, I have tested on seabios-1.9.1-2.el7.bz1327060.3.x86_64.rpm, result is as bellow: Boot number for scsi:more than 130 --> in seabios-1.7.5, the number is 126 Boot number for ahci:85 --> in seabios-1.7.5, the number is 93 Boot number for virtioblk:17 --> in seabios-1.7.5, the number is 8 BR, Aliang
8k fseg mem: Boot number for scsi:118 --------> in seabios-1.7.5, the number is 126 Boot number for ahci:85 --------> in seabios-1.7.5, the number is 93 Boot number for virtioblk:18 ------> in seabios-1.7.5, the number is 8 10k fseg mem: Boot number for scsi:more than 130 --> in seabios-1.7.5, the number is 126 Boot number for ahci:85 --> in seabios-1.7.5, the number is 93 Boot number for virtioblk:17 --> in seabios-1.7.5, the number is 8 Hmm, I tend to stick to 8k fseg mem. Making it larger didn't help ahci and even decreased the number of virtio-blk disks. And the 8k numbers are still higher than the documented limits (96 scsi disks and 48 or 64 ahci disks IIRC). Beside that 7.3 will get OVMF which doesn't suffer from real mode address space constrains and should be able to handle large number of disks without problems.
patches sent.
Fix included in seabios-1.9.1-3.el7
(In reply to Miroslav Rezanina from comment #15) > Fix included in seabios-1.9.1-3.el7 Verified in seabios-1.9.1-3.el7, the problem has been resolved.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHEA-2016-2207.html