Blob Blame History Raw
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