Ejemplo n.º 1
0
 def test_mem_speed_equal_conf_speed(self):
     util.testcase_append_suggestions(
         self._testMethodName,
         "Configure speed should be equal to memory speed")
     for i in self.mem.dimms:
         if i.memory_speed != "Unknown":
             self.assertEqual(i.memory_speed, i.memory_config_speed)
Ejemplo n.º 2
0
 def test_hugepage_valid_on_CPU_NUMA(self):
     util.testcase_append_suggestions(self._testMethodName, "Create hugepage in this NUMA node")
     cpu_ids = self.sw.get_cpu_list_by_mask(self.cpu.cpu_core_total_num)
     cpu = self.cpu.get_single_CPU_conf_by_id(cpu_ids[0])
     node = cpu.numa_node
     path = "/sys/devices/system/node/node" + str(node) + "/hugepages/hugepages-1048576kB/nr_hugepages"
     nr = int(util.get_cat_command_output(path))
     self.assertGreater(nr, 0)
Ejemplo n.º 3
0
 def test_mem_dimm_larger_4GB(self):
     util.testcase_append_suggestions(
         self._testMethodName,
         "It's recommaned to have more than 4GB each dimm slot")
     for i in self.mem.dimms:
         if i.memory_size != "No Module Installed":
             dimm_size = int(i.memory_size[:-2])
             self.assertGreaterEqual(dimm_size, 4096)
Ejemplo n.º 4
0
 def test_worker_not_CPU0(self):
     util.testcase_append_suggestions(
         self._testMethodName, "Do not assign CPU0 to DPDK worker thread")
     cpu_ids = self.sw.get_cpu_list_by_mask(self.cpu.cpu_core_total_num)
     worker_cpu0 = False
     if 0 in cpu_ids:
         worker_cpu0 = True
     self.assertEqual(worker_cpu0, False)
Ejemplo n.º 5
0
 def test_THP_disabled(self):
     #Actually this feature is not always good to be disabled
     #It depends on the total memory the system has and other environment parameters
     #This testcase will be updated after DPDKick has more dynamic detection features
     util.testcase_append_suggestions(
         self._testMethodName,
         "echo never > /sys/kernel/mm/transparent_hugepage/enabled")
     self.assertEqual(self.hugepage_mem.transparent_hp_enabled, False)
Ejemplo n.º 6
0
 def test_mem_dimm_identical_size(self):
     util.testcase_append_suggestions(
         self._testMethodName,
         "Memory size of each DIMM should be identical")
     for i in self.mem.dimms:
         dimm_size = int(self.mem.dimms[0].memory_size[:-2])
         if i.memory_size != "No Module Installed":
             dimm_size_t = int(i.memory_size[:-2])
             self.assertGreaterEqual(dimm_size, dimm_size_t)
Ejemplo n.º 7
0
    def test_maskedcpu_excluded_irqaffinity(self):
        util.testcase_append_suggestions(self._testMethodName,
        "Add \'irqaffinity\' parameter corresponding to CPU mask to grub")
        masked_cpus = self.sw.get_cpu_list_by_mask(self.cpu.cpu_core_total_num)
        excluded = True
        for i in masked_cpus:
            if i in self.kernel.irqaffinity :
                excluded = False
                break

        self.assertEqual(excluded, True)
Ejemplo n.º 8
0
 def test_masked_cpu_numa_node(self):
     util.testcase_append_suggestions(
         self._testMethodName, "Masked CPU(s) should on the same NUMA node")
     cpu_ids = self.sw.get_cpu_list_by_mask(self.cpu.cpu_core_total_num)
     prev_cpu_node = 0
     cnt = 0
     for cpu_id in cpu_ids:
         cpu = self.cpu.get_single_CPU_conf_by_id(cpu_id)
         if cnt == 0:
             prev_cpu_node = cpu.numa_node
         cnt = cnt + 1
         self.assertEqual(prev_cpu_node, cpu.numa_node)
Ejemplo n.º 9
0
 def test_NIC_LnkCap_speed_8GT(self):
     util.testcase_append_suggestions(
         self._testMethodName, "Install NIC in a Width x8 Gen3 PCIe slot")
     detected = []
     result = True
     for i in range(self.nics.nic_total_num):
         nic = self.nics.nics_conf[i]
         if nic.LnkCap != "8GT/s":
             detected.append(nic.pci_address)
             result = False
     if result == False:
         util.format_print_detected_dev_list(detected)
     self.assertEqual(result, True)
Ejemplo n.º 10
0
 def test_NIC_devcap_devctl_maxpayload(self):
     util.testcase_append_suggestions(
         self._testMethodName, "Set the maxpayload to identical number")
     detected = []
     result = True
     for i in range(self.nics.nic_total_num):
         nic = self.nics.nics_conf[i]
         if nic.pcie_devcap_maxpayloadsize != nic.pcie_devctl_maxpayloadsize:
             detected.append(nic.pci_address)
             result = False
     if result == False:
         util.format_print_detected_dev_list(detected)
     self.assertEqual(result, True)
Ejemplo n.º 11
0
    def test_maskedcpu_included_rcu_nocbs(self):
        util.testcase_append_suggestions(self._testMethodName,
        "Add \'rcu_nocbs\' parameter corresponding to CPU mask to grub")
        masked_cpus = self.sw.get_cpu_list_by_mask(self.cpu.cpu_core_total_num)
        included = True
        for i in masked_cpus:
            if i in self.kernel.rcu_nocbs:
                continue
            else:
                included = False
                break

        self.assertEqual(included, True)
Ejemplo n.º 12
0
 def test_CPU_sg_is_perf(self):
     util.testcase_append_suggestions(
         self._testMethodName,
         "Set \'performance\' to /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor or use cpupower tool"
     )
     ret = True
     if self.cpu.scaling_governor == None:
         #Fail this testcase
         self.assertEqual(True, False)
     for l in self.cpu.scaling_governor:
         if l != 'performance':
             ret = False
             break
     self.assertEqual(ret, True)
Ejemplo n.º 13
0
 def test_mem_channel_identical_size(self):
     util.testcase_append_suggestions(
         self._testMethodName,
         "Memory size of each channel should be identical")
     for i in range(self.mem.memory_channels_num):
         channel_size = 0
         for j in range(self.mem.memory_DIMM_per_channel):
             if self.mem.dimms[i * self.mem.memory_DIMM_per_channel +
                               j].memory_size != "No Module Installed":
                 channel_size += int(self.mem.dimms[j].memory_size[:-2])
         if i == 0:
             first_channel_size = channel_size
         else:
             self.assertEqual(first_channel_size, channel_size)
Ejemplo n.º 14
0
 def test_NIC_PCIe_target_link_speed(self):
     util.testcase_append_suggestions(
         self._testMethodName,
         "Configure target link speed equal to PCIe speed")
     detected = []
     result = True
     for i in range(self.nics.nic_total_num):
         nic = self.nics.nics_conf[i]
         if nic.pcie_targetlinkspeed == None:
             continue
         if nic.pcie_targetlinkspeed != nic.LnkCap:
             detected.append(nic.pci_address)
             result = False
     if result == False:
         util.format_print_detected_dev_list(detected)
     self.assertEqual(result, True)
Ejemplo n.º 15
0
 def test_mem_channel_identical_locations(self):
     util.testcase_append_suggestions(
         self._testMethodName,
         "Install memory at identical slot location(s) each channel")
     for i in range(self.mem.memory_channels_num):
         locations = []
         for j in range(self.mem.memory_DIMM_per_channel):
             if self.mem.dimms[i * self.mem.memory_DIMM_per_channel +
                               j].memory_size != "No Module Installed":
                 locations.append(1)
             else:
                 locations.append(0)
         if i == 0:
             first_channel_locations = locations
         else:
             self.assertEqual(first_channel_locations, locations)
Ejemplo n.º 16
0
    def test_CPU_NIC_same_NUMA(self):
        util.testcase_append_suggestions(
            self._testMethodName,
            "Set CPU mask or PCI whitelist to use CPU cores and NICs which are on the same NUMA node"
        )
        cpu_ids = self.sw.get_cpu_list_by_mask(self.cpu.cpu_core_total_num)
        numa_node_list = []
        for cpu_id in cpu_ids:
            cpu = self.cpu.get_single_CPU_conf_by_id(cpu_id)
            numa_node = cpu.numa_node
            numa_node_list.append(numa_node)
        for nic in self.nics.nics_conf:
            numa_node = nic.NUMA_node
            numa_node_list.append(numa_node)

        prev_numa_node = numa_node_list[0]
        for node in numa_node_list:
            self.assertEqual(prev_numa_node, node)
            prev_numa_node = node
Ejemplo n.º 17
0
 def test_CPU_DCU_enabled(self):
     util.testcase_append_suggestions(self._testMethodName,
                                      "ENABLE this feature in BIOS")
     output = util.str_cmd_output('rdmsr 0x1A4')
     v = int(output, 16)
     self.assertEqual((v & (1 << 2)), 0)
Ejemplo n.º 18
0
 def test_mem_speed_ddr4(self):
     util.testcase_append_suggestions(self._testMethodName,
                                      "Recommanded to use DDR4 memory")
     for i in self.mem.dimms:
         if i.memory_speed != "Unknown":
             self.assertGreaterEqual(i.memory_speed, 2133)
Ejemplo n.º 19
0
 def test_DCA_enabled(self):
     util.testcase_append_suggestions(self._testMethodName,
                                      "ENABLE this feature in BIOS")
     self.assertEqual(self.cpu.b_direct_cache_access_enabled, True)
Ejemplo n.º 20
0
 def test_hugepage_size_1G(self):
     util.testcase_append_suggestions(self._testMethodName, "Set Hugepage Size to 1G")
     self.assertEqual(self.hugepage_mem.hugepage_mem_size , '1048576 kB')
Ejemplo n.º 21
0
 def test_hyper_thread_disabled(self):
     util.testcase_append_suggestions(self._testMethodName,
                                      "DISABLE this feature in BIOS")
     self.assertEqual(self.cpu.b_hyperthread_enabled, False)
Ejemplo n.º 22
0
 def test_CPU_C6state_disabled(self):
     util.testcase_append_suggestions(
         self._testMethodName, "Add \'intel_idle.max_cstate=0\' to grub")
     self.assertEqual(self.cpu.b_c6state_disabled, True)
Ejemplo n.º 23
0
 def test_intel_pstate_disabled(self):
     util.testcase_append_suggestions(self._testMethodName,
                                      "DISABLE this feature in BIOS")
     self.assertEqual(self.cpu.b_pstate_disabled, True)