diff options
Diffstat (limited to 'mm/slub.c')
-rw-r--r-- | mm/slub.c | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -2595,6 +2595,8 @@ static inline int kmem_cache_close(struct kmem_cache *s) | |||
2595 | */ | 2595 | */ |
2596 | void kmem_cache_destroy(struct kmem_cache *s) | 2596 | void kmem_cache_destroy(struct kmem_cache *s) |
2597 | { | 2597 | { |
2598 | if (s->flags & SLAB_DESTROY_BY_RCU) | ||
2599 | rcu_barrier(); | ||
2598 | down_write(&slub_lock); | 2600 | down_write(&slub_lock); |
2599 | s->refcount--; | 2601 | s->refcount--; |
2600 | if (!s->refcount) { | 2602 | if (!s->refcount) { |