Hot Fix: using all small core as Ecore (#16978)
* using all small core as Ecore * add test case
This commit is contained in:
parent
adc733f1e9
commit
3f9cc0112a
@ -144,7 +144,7 @@ void parse_processor_info_win(const char* base_ptr,
|
||||
MaskToList(info->Cache.GroupMask.Mask);
|
||||
|
||||
if (4 == list_len) {
|
||||
if (_processors < list[list_len - 1] + base_proc) {
|
||||
if (_processors <= list[list_len - 1] + base_proc) {
|
||||
group_start = list[0];
|
||||
group_end = list[list_len - 1];
|
||||
group_id = group;
|
||||
@ -157,6 +157,19 @@ void parse_processor_info_win(const char* base_ptr,
|
||||
}
|
||||
group++;
|
||||
|
||||
} else if ((2 == list_len) && (-1 == _cpu_mapping_table[list[0] + base_proc][CPU_MAP_CORE_TYPE])) {
|
||||
if (_processors <= list[list_len - 1] + base_proc) {
|
||||
group_start = list[0];
|
||||
group_end = list[list_len - 1];
|
||||
group_id = group;
|
||||
group_type = EFFICIENT_CORE_PROC;
|
||||
}
|
||||
for (int m = 0; m < _processors - list[0]; m++) {
|
||||
_cpu_mapping_table[list[m] + base_proc][CPU_MAP_CORE_TYPE] = EFFICIENT_CORE_PROC;
|
||||
_cpu_mapping_table[list[m] + base_proc][CPU_MAP_GROUP_ID] = group;
|
||||
_proc_type_table[0][EFFICIENT_CORE_PROC]++;
|
||||
}
|
||||
group++;
|
||||
} else if (1 == list_len) {
|
||||
_cpu_mapping_table[list[0] + base_proc][CPU_MAP_CORE_TYPE] = MAIN_CORE_PROC;
|
||||
_cpu_mapping_table[list[0] + base_proc][CPU_MAP_GROUP_ID] = group;
|
||||
|
@ -2223,6 +2223,92 @@ WinCpuMapTestCase _1sockets_24cores_hyperthreading_set2 = {
|
||||
"00ffffffff00000000"},
|
||||
};
|
||||
|
||||
WinCpuMapTestCase _1sockets_22cores_hyperthreading = {
|
||||
22,
|
||||
1,
|
||||
16,
|
||||
{{22, 6, 10, 6}},
|
||||
{
|
||||
{0, 0, 0, HYPER_THREADING_PROC, 0, -1}, {1, 0, 0, MAIN_CORE_PROC, 0, -1},
|
||||
{2, 0, 1, EFFICIENT_CORE_PROC, 1, -1}, {3, 0, 2, EFFICIENT_CORE_PROC, 1, -1},
|
||||
{4, 0, 3, EFFICIENT_CORE_PROC, 1, -1}, {5, 0, 4, EFFICIENT_CORE_PROC, 1, -1},
|
||||
{6, 0, 5, EFFICIENT_CORE_PROC, 2, -1}, {7, 0, 6, EFFICIENT_CORE_PROC, 2, -1},
|
||||
{8, 0, 7, EFFICIENT_CORE_PROC, 2, -1}, {9, 0, 8, EFFICIENT_CORE_PROC, 2, -1},
|
||||
{10, 0, 9, HYPER_THREADING_PROC, 3, -1}, {11, 0, 9, MAIN_CORE_PROC, 3, -1},
|
||||
{12, 0, 10, HYPER_THREADING_PROC, 4, -1}, {13, 0, 10, MAIN_CORE_PROC, 4, -1},
|
||||
{14, 0, 11, HYPER_THREADING_PROC, 5, -1}, {15, 0, 11, MAIN_CORE_PROC, 5, -1},
|
||||
{16, 0, 12, HYPER_THREADING_PROC, 6, -1}, {17, 0, 12, MAIN_CORE_PROC, 6, -1},
|
||||
{18, 0, 13, HYPER_THREADING_PROC, 7, -1}, {19, 0, 13, MAIN_CORE_PROC, 7, -1},
|
||||
{20, 0, 14, EFFICIENT_CORE_PROC, 8, -1}, {21, 0, 15, EFFICIENT_CORE_PROC, 8, -1},
|
||||
},
|
||||
{"0300000030000000000000000000000000000000000000000000000000000100ffff3f0000000000000000000000000000000000300000000"
|
||||
"10100000000000000000000000000000000000000000100030000000000000000000000000000000700000030000000000000000000000000"
|
||||
"000000000000000000000000000100030000000000000000000000000000000200000038000000010c400000c000000200000000000000000"
|
||||
"00000000000000000000000000100030000000000000000000000000000000200000038000000011040000000010001000000000000000000"
|
||||
"00000000000000000000000001000300000000000000000000000000000002000000380000000210400000002000000000000000000000000"
|
||||
"000000000000000000000000100030000000000000000000000000000000200000038000000030c4000000080010000000000000000000000"
|
||||
"00000000000000000000000100ffff0f000000000000000000000000000000000030000000000000000000000000000000000000000000000"
|
||||
"0000001000400000000000000000000000000000007000000300000000000000000000000000000000000000000000000000001003c000000"
|
||||
"00000000000000000000000002000000380000000108400000800000020000000000000000000000000000000000000000000100040000000"
|
||||
"00000000000000000000000020000003800000001084000000001000100000000000000000000000000000000000000000001000400000000"
|
||||
"0000000000000000000000020000003800000002104000000020000000000000000000000000000000000000000000000001003c000000000"
|
||||
"00000000000000000000000000000300000000000000000000000000000000000000000000000000001000800000000000000000000000000"
|
||||
"00000200000038000000010840000080000002000000000000000000000000000000000000000000010008000000000000000000000000000"
|
||||
"00002000000380000000108400000000100010000000000000000000000000000000000000000000100080000000000000000000000000000"
|
||||
"00000000003000000000000000000000000000000000000000000000000000010010000000000000000000000000000000020000003800000"
|
||||
"00108400000800000020000000000000000000000000000000000000000000100100000000000000000000000000000000200000038000000"
|
||||
"01084000000001000100000000000000000000000000000000000000000001001000000000000000000000000000000000000000300000000"
|
||||
"00000000000000000000000000000000000000000000100200000000000000000000000000000000200000038000000010840000080000002"
|
||||
"00000000000000000000000000000000000000000001002000000000000000000000000000000002000000380000000108400000000100010"
|
||||
"00000000000000000000000000000000000000000010020000000000000000000000000000000000000003000000000000000000000000000"
|
||||
"00000000000000000000000001004000000000000000000000000000000007000000300000000000000000000000000000000000000000000"
|
||||
"00000000100c00300000000000000000000000000000200000038000000010840000080000002000000000000000000000000000000000000"
|
||||
"00000001004000000000000000000000000000000002000000380000000108400000000100010000000000000000000000000000000000000"
|
||||
"00000010040000000000000000000000000000000020000003800000002104000000020000000000000000000000000000000000000000000"
|
||||
"00000100c00300000000000000000000000000000000000030000000000000000000000000000000000000000000000000000100800000000"
|
||||
"00000000000000000000000020000003800000001084000008000000200000000000000000000000000000000000000000001008000000000"
|
||||
"00000000000000000000000200000038000000010840000000010001000000000000000000000000000000000000000000010080000000000"
|
||||
"00000000000000000000000000000300000000000000000000000000000000000000000000000000001000001000000000000000000000000"
|
||||
"00000200000038000000010840000080000002000000000000000000000000000000000000000000010000010000000000000000000000000"
|
||||
"00002000000380000000108400000000100010000000000000000000000000000000000000000000100000100000000000000000000000000"
|
||||
"00000000003000000000000000000000000000000000000000000000000000010000020000000000000000000000000000020000003800000"
|
||||
"00108400000800000020000000000000000000000000000000000000000000100000200000000000000000000000000000200000038000000"
|
||||
"01084000000001000100000000000000000000000000000000000000000001000002000000000000000000000000000000000000300000000"
|
||||
"10100000000000000000000000000000000000000000100000c00000000000000000000000000000700000030000000000000000000000000"
|
||||
"000000000000000000000000000100000c00000000000000000000000000000200000038000000010c400000c000000200000000000000000"
|
||||
"00000000000000000000000000100000c00000000000000000000000000000200000038000000011040000000010001000000000000000000"
|
||||
"0000000000000000000000000100000c000000000000000000000000000002000000380000000210400000002000000000000000000000000"
|
||||
"000000000000000000000000100000c0000000000000000000000000000000000003000000001010000000000000000000000000000000000"
|
||||
"00000001000030000000000000000000000000000007000000300000000000000000000000000000000000000000000000000001000030000"
|
||||
"00000000000000000000000000200000038000000010c400000c0000002000000000000000000000000000000000000000000010000300000"
|
||||
"00000000000000000000000002000000380000000110400000000100010000000000000000000000000000000000000000000100003000000"
|
||||
"00000000000000000000000020000003800000002104000000020000000000000000000000000000000000000000000000001000030000000"
|
||||
"0000000000000000000000000000003000000001010000000000000000000000000000000000000000010000c000000000000000000000000"
|
||||
"00000070000003000000000000000000000000000000000000000000000000000010000c00000000000000000000000000000020000003800"
|
||||
"0000010c400000c0000002000000000000000000000000000000000000000000010000c000000000000000000000000000000200000038000"
|
||||
"000011040000000010001000000000000000000000000000000000000000000010000c0000000000000000000000000000002000000380000"
|
||||
"00021040000000200000000000000000000000000000000000000000000000010000c00000000000000000000000000000000000003000000"
|
||||
"00101000000000000000000000000000000000000000001000000030000000000000000000000000007000000300000000000000000000000"
|
||||
"00000000000000000000000000000100000003000000000000000000000000000200000038000000010c400000c0000002000000000000000"
|
||||
"00000000000000000000000000001000000030000000000000000000000000002000000380000000110400000000100010000000000000000"
|
||||
"00000000000000000000000000010000000300000000000000000000000000020000003800000002104000000020000000000000000000000"
|
||||
"00000000000000000000000000100000003000000000000000000000000000000000030000000010100000000000000000000000000000000"
|
||||
"00000000010000000c00000000000000000000000000070000003000000000000000000000000000000000000000000000000000010000000"
|
||||
"c000000000000000000000000000200000038000000010c400000c0000002000000000000000000000000000000000000000000010000000c"
|
||||
"000000000000000000000000000200000038000000011040000000010001000000000000000000000000000000000000000000010000000c0"
|
||||
"00000000000000000000000000200000038000000021040000000200000000000000000000000000000000000000000000000010000000c00"
|
||||
"00000000000000000000000000000000300000000000000000000000000000000000000000000000000001000000100000000000000000000"
|
||||
"00000000700000030000000000000000000000000000000000000000000000000000100000030000000000000000000000000000200000038"
|
||||
"00000001084000008000000200000000000000000000000000000000000000000001000000100000000000000000000000000002000000380"
|
||||
"00000010840000000010001000000000000000000000000000000000000000000010000001000000000000000000000000000020000003800"
|
||||
"00000210400000002000000000000000000000000000000000000000000000000100000030000000000000000000000000000000000030000"
|
||||
"00000000000000000000000000000000000000000000000010000002000000000000000000000000000020000003800000001084000008000"
|
||||
"00020000000000000000000000000000000000000000000100000020000000000000000000000000000200000038000000010840000000010"
|
||||
"00100000000000000000000000000000000000000000001000000200000000000000000000000000001000000300000000000000000000000"
|
||||
"00000000000000000000000000000100ffff3f000000000000000000000000000400000050000000010001000000000000000000000000000"
|
||||
"00000000000000016160000000000000000000000000000000000000000000000000000000000000000000000000000ffff3f0000000000"},
|
||||
};
|
||||
|
||||
WinCpuMapTestCase _1sockets_14cores_hyperthreading_set1 = {
|
||||
20,
|
||||
1,
|
||||
@ -2558,6 +2644,7 @@ INSTANTIATE_TEST_SUITE_P(CPUMap,
|
||||
_2sockets_48cores,
|
||||
_1sockets_24cores_hyperthreading_set1,
|
||||
_1sockets_24cores_hyperthreading_set2,
|
||||
_1sockets_22cores_hyperthreading,
|
||||
_1sockets_14cores_hyperthreading_set1,
|
||||
_1sockets_14cores_hyperthreading_set2,
|
||||
_1sockets_14cores_hyperthreading_set3,
|
||||
|
Loading…
Reference in New Issue
Block a user