diff -rup hwloc-1.11.2.bk/src/topology-linux.c hwloc-1.11.2/src/topology-linux.c
--- hwloc-1.11.2.bk/src/topology-linux.c 2017-03-24 13:34:08.369114722 -0400
+++ hwloc-1.11.2/src/topology-linux.c 2017-03-24 13:34:34.530388408 -0400
@@ -4122,7 +4122,8 @@ hwloc_look_linuxfs(struct hwloc_backend
}
if (cpuvendor && !strcmp(cpuvendor, "GenuineIntel")
&& cpufamilynumber && !strcmp(cpufamilynumber, "6")
- && cpumodelnumber && !strcmp(cpumodelnumber, "87"))
+ && cpumodelnumber && (!strcmp(cpumodelnumber, "87")
+ || !strcmp(cpumodelnumber, "133")))
data->is_knl = 1;
}
}
Only in hwloc-1.11.2/src: topology-linux.c.orig
diff -rup hwloc-1.11.2.bk/src/topology-x86.c hwloc-1.11.2/src/topology-x86.c
--- hwloc-1.11.2.bk/src/topology-x86.c 2017-03-24 13:34:08.363114659 -0400
+++ hwloc-1.11.2/src/topology-x86.c 2017-03-24 13:34:34.530388408 -0400
@@ -174,8 +174,9 @@ static void look_proc(struct hwloc_backe
}
infos->cpustepping = eax & 0xf;
- if (cpuid_type == intel && infos->cpufamilynumber == 0x6 && infos->cpumodelnumber == 0x57)
- data->is_knl = 1;
+ if (cpuid_type == intel && infos->cpufamilynumber == 0x6 &&
+ (infos->cpumodelnumber == 0x57 || infos->cpumodelnumber == 0x85))
+ data->is_knl = 1; /* KNM is the same as KNL */
/* Get cpu vendor string from cpuid 0x00 */
memset(regs, 0, sizeof(regs));
Only in hwloc-1.11.2/src: topology-x86.c.orig