diff options
| -rw-r--r-- | mm/slub.c | 6 |
1 files changed, 2 insertions, 4 deletions
| @@ -1600,7 +1600,6 @@ static void *get_partial_node(struct kmem_cache *s, | |||
| 1600 | { | 1600 | { |
| 1601 | struct page *page, *page2; | 1601 | struct page *page, *page2; |
| 1602 | void *object = NULL; | 1602 | void *object = NULL; |
| 1603 | int count = 0; | ||
| 1604 | 1603 | ||
| 1605 | /* | 1604 | /* |
| 1606 | * Racy check. If we mistakenly see no partial slabs then we | 1605 | * Racy check. If we mistakenly see no partial slabs then we |
| @@ -1613,17 +1612,16 @@ static void *get_partial_node(struct kmem_cache *s, | |||
| 1613 | 1612 | ||
| 1614 | spin_lock(&n->list_lock); | 1613 | spin_lock(&n->list_lock); |
| 1615 | list_for_each_entry_safe(page, page2, &n->partial, lru) { | 1614 | list_for_each_entry_safe(page, page2, &n->partial, lru) { |
| 1616 | void *t = acquire_slab(s, n, page, count == 0); | 1615 | void *t = acquire_slab(s, n, page, object == NULL); |
| 1617 | int available; | 1616 | int available; |
| 1618 | 1617 | ||
| 1619 | if (!t) | 1618 | if (!t) |
| 1620 | break; | 1619 | break; |
| 1621 | 1620 | ||
| 1622 | if (!count) { | 1621 | if (!object) { |
| 1623 | c->page = page; | 1622 | c->page = page; |
| 1624 | c->node = page_to_nid(page); | 1623 | c->node = page_to_nid(page); |
| 1625 | stat(s, ALLOC_FROM_PARTIAL); | 1624 | stat(s, ALLOC_FROM_PARTIAL); |
| 1626 | count++; | ||
| 1627 | object = t; | 1625 | object = t; |
| 1628 | available = page->objects - page->inuse; | 1626 | available = page->objects - page->inuse; |
| 1629 | } else { | 1627 | } else { |
