After the compxchg, the new.inuse are fixed in __slab_free as a local variable, so we don't need a extra variable for it. This patch is also base on 'slub/partial' head of penberg's tree. Signed-off-by: Alex Shi <alex.shi@xxxxxxxxx> --- mm/slub.c | 4 +--- 1 files changed, 1 insertions(+), 3 deletions(-) diff --git a/mm/slub.c b/mm/slub.c index bca8eee..c1f803f 100644 --- a/mm/slub.c +++ b/mm/slub.c @@ -2452,7 +2452,6 @@ static void __slab_free(struct kmem_cache *s, struct page *page, void *prior; void **object = (void *)x; int was_frozen; - int inuse; struct page new; unsigned long counters; struct kmem_cache_node *n = NULL; @@ -2495,7 +2494,6 @@ static void __slab_free(struct kmem_cache *s, struct page *page, } } - inuse = new.inuse; } while (!cmpxchg_double_slab(s, page, prior, counters, @@ -2526,7 +2524,7 @@ static void __slab_free(struct kmem_cache *s, struct page *page, */ if (was_frozen) stat(s, FREE_FROZEN); - else if (unlikely(!inuse && n->nr_partial > s->min_partial)) + else if (unlikely(!new.inuse && n->nr_partial > s->min_partial)) goto slab_empty; spin_unlock_irqrestore(&n->list_lock, flags); -- 1.7.0 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>