diff options
Diffstat (limited to 'mm/slub.c')
-rw-r--r-- | mm/slub.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -224,7 +224,11 @@ static inline void memcg_propagate_slab_attrs(struct kmem_cache *s) { } | |||
224 | static inline void stat(const struct kmem_cache *s, enum stat_item si) | 224 | static inline void stat(const struct kmem_cache *s, enum stat_item si) |
225 | { | 225 | { |
226 | #ifdef CONFIG_SLUB_STATS | 226 | #ifdef CONFIG_SLUB_STATS |
227 | __this_cpu_inc(s->cpu_slab->stat[si]); | 227 | /* |
228 | * The rmw is racy on a preemptible kernel but this is acceptable, so | ||
229 | * avoid this_cpu_add()'s irq-disable overhead. | ||
230 | */ | ||
231 | raw_cpu_inc(s->cpu_slab->stat[si]); | ||
228 | #endif | 232 | #endif |
229 | } | 233 | } |
230 | 234 | ||