1919VIRTIO_ENTROPY_SOURCE = "1af4:1044"
2020
2121# The VM we migrate has 2GiB of memory: 1024 * 2 MiB to cover RAM
22- nr_hugepages = 1024
22+ NR_HUGEPAGES = 1024
2323
2424
2525class SaveLogsOnErrorTestCase (unittest .TestCase ):
@@ -590,17 +590,17 @@ def test_live_migration_with_hugepages(self):
590590 Test that a VM that utilizes hugepages is still using hugepages after live migration.
591591 """
592592
593- controllerVM .succeed ("echo {} > /proc/sys/vm/nr_hugepages" .format (nr_hugepages ))
594- computeVM .succeed ("echo {} > /proc/sys/vm/nr_hugepages" .format (nr_hugepages ))
593+ controllerVM .succeed ("echo {} > /proc/sys/vm/nr_hugepages" .format (NR_HUGEPAGES ))
594+ computeVM .succeed ("echo {} > /proc/sys/vm/nr_hugepages" .format (NR_HUGEPAGES ))
595595 status , out = controllerVM .execute (
596596 "awk '/HugePages_Free/ { print $2; exit }' /proc/meminfo"
597597 )
598- assert int (out ) == nr_hugepages , "unable to allocate hugepages"
598+ assert int (out ) == NR_HUGEPAGES , "unable to allocate hugepages"
599599
600600 status , out = computeVM .execute (
601601 "awk '/HugePages_Free/ { print $2; exit }' /proc/meminfo"
602602 )
603- assert int (out ) == nr_hugepages , "unable to allocate hugepages"
603+ assert int (out ) == NR_HUGEPAGES , "unable to allocate hugepages"
604604
605605 controllerVM .succeed ("virsh define /etc/domain-chv-hugepages-prefault.xml" )
606606 controllerVM .succeed ("virsh start testvm" )
@@ -626,18 +626,18 @@ def test_live_migration_with_hugepages(self):
626626 status , out = controllerVM .execute (
627627 "awk '/HugePages_Free/ { print $2; exit }' /proc/meminfo"
628628 )
629- assert int (out ) == nr_hugepages , "not all huge pages have been freed"
629+ assert int (out ) == NR_HUGEPAGES , "not all huge pages have been freed"
630630
631631 def test_live_migration_with_hugepages_failure_case (self ):
632632 """
633633 Test that migrating a VM with hugepages to a destination without huge pages will fail gracefully.
634634 """
635635
636- controllerVM .succeed ("echo {} > /proc/sys/vm/nr_hugepages" .format (nr_hugepages ))
636+ controllerVM .succeed ("echo {} > /proc/sys/vm/nr_hugepages" .format (NR_HUGEPAGES ))
637637 status , out = controllerVM .execute (
638638 "awk '/HugePages_Free/ { print $2; exit }' /proc/meminfo"
639639 )
640- assert int (out ) == nr_hugepages , "unable to allocate hugepages"
640+ assert int (out ) == NR_HUGEPAGES , "unable to allocate hugepages"
641641
642642 controllerVM .succeed ("virsh define /etc/domain-chv-hugepages-prefault.xml" )
643643 controllerVM .succeed ("virsh start testvm" )
@@ -692,7 +692,7 @@ def test_hugepages(self):
692692 Test hugepage on-demand usage for a non-NUMA VM.
693693 """
694694
695- controllerVM .succeed ("echo {} > /proc/sys/vm/nr_hugepages" .format (nr_hugepages ))
695+ controllerVM .succeed ("echo {} > /proc/sys/vm/nr_hugepages" .format (NR_HUGEPAGES ))
696696 controllerVM .succeed ("virsh define /etc/domain-chv-hugepages.xml" )
697697 controllerVM .succeed ("virsh start testvm" )
698698
@@ -702,16 +702,14 @@ def test_hugepages(self):
702702 status , out = controllerVM .execute (
703703 "awk '/HugePages_Free/ { print $2; exit }' /proc/meminfo"
704704 )
705- assert int (out ) < nr_hugepages , "No huge pages have been used"
705+ assert int (out ) < NR_HUGEPAGES , "No huge pages have been used"
706706
707707 def test_hugepages_prefault (self ):
708708 """
709709 Test hugepage usage with pre-faulting for a non-NUMA VM.
710710 """
711711
712- nr_hugepages = 1024
713-
714- controllerVM .succeed ("echo {} > /proc/sys/vm/nr_hugepages" .format (nr_hugepages ))
712+ controllerVM .succeed ("echo {} > /proc/sys/vm/nr_hugepages" .format (NR_HUGEPAGES ))
715713 controllerVM .succeed ("virsh define /etc/domain-chv-hugepages-prefault.xml" )
716714 controllerVM .succeed ("virsh start testvm" )
717715
@@ -728,7 +726,7 @@ def test_numa_hugepages(self):
728726 Test hugepage on-demand usage for a NUMA VM.
729727 """
730728
731- controllerVM .succeed ("echo {} > /proc/sys/vm/nr_hugepages" .format (nr_hugepages ))
729+ controllerVM .succeed ("echo {} > /proc/sys/vm/nr_hugepages" .format (NR_HUGEPAGES ))
732730 controllerVM .succeed ("virsh define /etc/domain-chv-numa-hugepages.xml" )
733731 controllerVM .succeed ("virsh start testvm" )
734732
@@ -745,14 +743,14 @@ def test_numa_hugepages(self):
745743 status , out = controllerVM .execute (
746744 "awk '/HugePages_Free/ { print $2; exit }' /proc/meminfo"
747745 )
748- assert int (out ) < nr_hugepages , "No huge pages have been used"
746+ assert int (out ) < NR_HUGEPAGES , "No huge pages have been used"
749747
750748 def test_numa_hugepages_prefault (self ):
751749 """
752750 Test hugepage usage with pre-faulting for a NUMA VM.
753751 """
754752
755- controllerVM .succeed ("echo {} > /proc/sys/vm/nr_hugepages" .format (nr_hugepages ))
753+ controllerVM .succeed ("echo {} > /proc/sys/vm/nr_hugepages" .format (NR_HUGEPAGES ))
756754 controllerVM .succeed ("virsh define /etc/domain-chv-numa-hugepages-prefault.xml" )
757755 controllerVM .succeed ("virsh start testvm" )
758756
@@ -1882,6 +1880,15 @@ def test_bdf_valid_device_id_with_function_id(self):
18821880def suite ():
18831881 # Test cases in alphabetical order
18841882 testcases = [
1883+ # First everything with huge-pages to prevent memory-fragmentation
1884+ # preventing huge-page allocation
1885+ LibvirtTests .test_numa_hugepages ,
1886+ LibvirtTests .test_numa_hugepages_prefault ,
1887+ LibvirtTests .test_hugepages ,
1888+ LibvirtTests .test_hugepages_prefault ,
1889+ LibvirtTests .test_live_migration_with_hugepages ,
1890+ LibvirtTests .test_live_migration_with_hugepages_failure_case ,
1891+ # Next, all other test cases.
18851892 LibvirtTests .test_bdf_explicit_assignment ,
18861893 LibvirtTests .test_bdf_implicit_assignment ,
18871894 LibvirtTests .test_bdf_invalid_device_id ,
@@ -1892,8 +1899,6 @@ def suite():
18921899 LibvirtTests .test_disk_resize_qcow2 ,
18931900 LibvirtTests .test_disk_resize_raw ,
18941901 LibvirtTests .test_hotplug ,
1895- LibvirtTests .test_hugepages ,
1896- LibvirtTests .test_hugepages_prefault ,
18971902 LibvirtTests .test_libvirt_event_stop_failed ,
18981903 LibvirtTests .test_libvirt_restart ,
18991904 LibvirtTests .test_live_migration ,
@@ -1905,8 +1910,6 @@ def suite():
19051910 LibvirtTests .test_live_migration_virsh_non_blocking ,
19061911 LibvirtTests .test_live_migration_with_hotplug ,
19071912 LibvirtTests .test_live_migration_with_hotplug_and_virtchd_restart ,
1908- LibvirtTests .test_live_migration_with_hugepages ,
1909- LibvirtTests .test_live_migration_with_hugepages_failure_case ,
19101913 LibvirtTests .test_live_migration_with_serial_tcp ,
19111914 LibvirtTests .test_live_migration_with_vcpu_pinning ,
19121915 LibvirtTests .test_managedsave ,
@@ -1915,8 +1918,6 @@ def suite():
19151918 LibvirtTests .test_network_hotplug_persistent_transient_detach_vm_restart ,
19161919 LibvirtTests .test_network_hotplug_persistent_vm_restart ,
19171920 LibvirtTests .test_network_hotplug_transient_vm_restart ,
1918- LibvirtTests .test_numa_hugepages ,
1919- LibvirtTests .test_numa_hugepages_prefault ,
19201921 LibvirtTests .test_numa_topology ,
19211922 LibvirtTests .test_serial_file_output ,
19221923 LibvirtTests .test_serial_tcp ,
0 commit comments