Skip to content

Commit b6a2e31

Browse files
committed
linux: move some common code out of the /proc/cpuinfo parsing loop
Signed-off-by: Brice Goglin <[email protected]>
1 parent 02bc8a8 commit b6a2e31

File tree

1 file changed

+21
-21
lines changed

1 file changed

+21
-21
lines changed

hwloc/topology-linux.c

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -5543,6 +5543,27 @@ hwloc_linux_parse_cpuinfo(struct hwloc_linux_backend_data_s *data,
55435543
return -1;
55445544
}
55455545

5546+
/* architecture specific or default routine for parsing cpumodel */
5547+
switch (data->arch) {
5548+
case HWLOC_LINUX_ARCH_X86:
5549+
parse_cpuinfo_func = hwloc_linux_parse_cpuinfo_x86;
5550+
break;
5551+
case HWLOC_LINUX_ARCH_ARM:
5552+
parse_cpuinfo_func = hwloc_linux_parse_cpuinfo_arm;
5553+
break;
5554+
case HWLOC_LINUX_ARCH_POWER:
5555+
parse_cpuinfo_func = hwloc_linux_parse_cpuinfo_ppc;
5556+
break;
5557+
case HWLOC_LINUX_ARCH_IA64:
5558+
parse_cpuinfo_func = hwloc_linux_parse_cpuinfo_ia64;
5559+
break;
5560+
case HWLOC_LINUX_ARCH_LOONGARCH:
5561+
parse_cpuinfo_func = hwloc_linux_parse_cpuinfo_loongarch;
5562+
break;
5563+
default:
5564+
parse_cpuinfo_func = hwloc_linux_parse_cpuinfo_generic;
5565+
}
5566+
55465567
# define PROCESSOR "processor"
55475568
hwloc_debug("\n\n * Topology extraction from %s *\n\n", path);
55485569
while (fgets(str, sizeof(str), fd)!=NULL) {
@@ -5612,27 +5633,6 @@ hwloc_linux_parse_cpuinfo(struct hwloc_linux_backend_data_s *data,
56125633
Lprocs[curproc].infos.allocated = 0;
56135634
getprocnb_end() else {
56145635

5615-
/* architecture specific or default routine for parsing cpumodel */
5616-
switch (data->arch) {
5617-
case HWLOC_LINUX_ARCH_X86:
5618-
parse_cpuinfo_func = hwloc_linux_parse_cpuinfo_x86;
5619-
break;
5620-
case HWLOC_LINUX_ARCH_ARM:
5621-
parse_cpuinfo_func = hwloc_linux_parse_cpuinfo_arm;
5622-
break;
5623-
case HWLOC_LINUX_ARCH_POWER:
5624-
parse_cpuinfo_func = hwloc_linux_parse_cpuinfo_ppc;
5625-
break;
5626-
case HWLOC_LINUX_ARCH_IA64:
5627-
parse_cpuinfo_func = hwloc_linux_parse_cpuinfo_ia64;
5628-
break;
5629-
case HWLOC_LINUX_ARCH_LOONGARCH:
5630-
parse_cpuinfo_func = hwloc_linux_parse_cpuinfo_loongarch;
5631-
break;
5632-
default:
5633-
parse_cpuinfo_func = hwloc_linux_parse_cpuinfo_generic;
5634-
}
5635-
56365636
/* we can't assume that we already got a processor index line:
56375637
* alpha/frv/h8300/m68k/microblaze/sparc have no processor lines at all, only a global entry.
56385638
* tile has a global section with model name before the list of processor lines.

0 commit comments

Comments
 (0)