Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-79410

Guest fails to boot up with 16G hugepage backed and disk none cache mode

    • No
    • Moderate
    • 1
    • rhel-sst-virtualization
    • ssg_virtualization
    • 3
    • False
    • Hide

      None

      Show
      None
    • None
    • Virt ARM 25-3
    • None
    • None
    • Unspecified
    • Unspecified
    • Unspecified
    • aarch64
    • None

      What were you trying to do that didn't work?

      Define a guest with 16G huge page backed and disk cache is 'none', after start it, the guest could not boot up.

      Please provide the package NVR for which the bug is seen:

       

      # rpm -q libvirt qemu-kvm kernel-64k
      libvirt-10.10.0-6.el9.aarch64
      qemu-kvm-9.1.0-14.el9.aarch64
      kernel-64k-5.14.0-567.el9.aarch64

       

      How reproducible is this bug?:100%

      Steps to reproduce

      1. Mount hugetlbfs and restart virtqemud

      # mkdir /dev/hugepages16G
      # mount -t hugetlbfs -o pagesize=16G hugetlbfs /dev/hugepages16G
      # systemctl restart virtqemud
      

      2. Allocate 16G hugepage

      # echo 2 > /sys/kernel/mm/hugepages/hugepages-16777216kB/nr_hugepages

      3. Define a guest with 16G huge page backed and disk cache is 'none' as below xml config:

      <memory unit='GiB'>16</memory>
        <currentMemory unit='GiB'>16</currentMemory>
        <vcpu placement='static'>4</vcpu>
        <memoryBacking>
          <hugepages>
            <page size="16" unit="G"/>
          </hugepages>
         </memoryBacking>

      ...

      <disk type='file' device='disk'>
                  <driver name='qemu' type='qcow2' cache='none' />
            <source file='/var/lib/libvirt/images/RHEL-9.6-aarch64-latest-kernel-64k.qcow2'/>
            <target dev='vda' bus='virtio'/>
            <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
          </disk>

      3. Start the guest 

      # virsh start vm1
      Domain 'vm1' started
      

      Expected results

      The guest could boot up successfully

      Actual results

      The guest fails to boot up and below msg is shown:

      BdsDxe: failed to load Boot0001 "UEFI Misc Device" from PciRoot(0x0)/Pci(0x1,0x3)

      UEFI Interactive Shell v2.2
      EDK II
      UEFI v2.70 (EDK II, 0x00010000)
      Mapping table
           BLK0: Alias(s):
                PciRoot(0x0)/Pci(0x1,0x3)/Pci(0x0,0x0)
           BLK1: Alias(s):
                PciRoot(0x0)/Pci(0x1,0x3)/Pci(0x0,0x0)/HD(1,GPT,6118D207-E42E-4689-80C6-8B8BB31FE8E5,0x800,0x12C000)
           BLK2: Alias(s):
                PciRoot(0x0)/Pci(0x1,0x3)/Pci(0x0,0x0)/HD(2,GPT,C9AC6F61-88BE-42DD-BB96-DC7B62583C15,0x12C800,0x200000)
           BLK3: Alias(s):
                PciRoot(0x0)/Pci(0x1,0x3)/Pci(0x0,0x0)/HD(3,GPT,EEE32533-C163-42CB-9E73-3D80070D3383,0x32C800,0x10D3000)

       

      Press ESC in 1 seconds to skip startup.nsh or any other key to continue.
      Shell>

      Additional info:

      1. Only 16G hugepage backed or only none cache mode couldn't reproduce this issue;

      2. Other huge page like 512M, 2M together with none cache mode disk could not reproduce this issue;

              virt-maint virt-maint
              lcong@redhat.com Liang Cong
              virt-maint virt-maint
              virt-bugs virt-bugs
              Votes:
              0 Vote for this issue
              Watchers:
              12 Start watching this issue

                Created:
                Updated: