SNMP stats are not protected by preemption but by bh handling. Since protection is provided outside of preemption raw_cpu_ops need to be used to avoid false positives.
Cc: Eric Dumazet <[email protected]> CC: [email protected] Signed-off-by: Christoph Lameter <[email protected]> Index: linux/include/net/snmp.h =================================================================== --- linux.orig/include/net/snmp.h 2013-10-07 09:16:07.595206864 -0500 +++ linux/include/net/snmp.h 2013-10-07 09:16:07.591206909 -0500 @@ -126,7 +126,7 @@ struct linux_xfrm_mib { extern __typeof__(type) __percpu *name[SNMP_ARRAY_SZ] #define SNMP_INC_STATS_BH(mib, field) \ - __this_cpu_inc(mib[0]->mibs[field]) + raw_cpu_inc(mib[0]->mibs[field]) #define SNMP_INC_STATS_USER(mib, field) \ this_cpu_inc(mib[0]->mibs[field]) @@ -141,7 +141,7 @@ struct linux_xfrm_mib { this_cpu_dec(mib[0]->mibs[field]) #define SNMP_ADD_STATS_BH(mib, field, addend) \ - __this_cpu_add(mib[0]->mibs[field], addend) + raw_cpu_add(mib[0]->mibs[field], addend) #define SNMP_ADD_STATS_USER(mib, field, addend) \ this_cpu_add(mib[0]->mibs[field], addend) -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

