Message ID | 20110130092619.7e414259@kryten (mailing list archive) |
---|---|
State | Accepted, archived |
Commit | d69043e8069f493ebee9472bcc78b3f54c5c27d9 |
Delegated to: | Benjamin Herrenschmidt |
Headers | show |
Index: linux-2.6/arch/powerpc/mm/numa.c =================================================================== --- linux-2.6.orig/arch/powerpc/mm/numa.c 2011-01-29 11:16:56.741843175 +1100 +++ linux-2.6/arch/powerpc/mm/numa.c 2011-01-29 12:44:42.059356526 +1100 @@ -1342,7 +1342,7 @@ static int update_cpu_associativity_chan volatile u8 *hypervisor_counts = lppaca[cpu].vphn_assoc_counts; for (i = 0; i < distance_ref_points_depth; i++) { - if (hypervisor_counts[i] > counts[i]) { + if (hypervisor_counts[i] != counts[i]) { counts[i] = hypervisor_counts[i]; changed = 1; }
The hypervisor uses unsigned 1 byte counters to signal topology changes to the OS. Since they can wrap we need to check for any difference, not just if the hypervisor count is greater than the previous count. Signed-off-by: Anton Blanchard <anton@samba.org> ---