diff options
| -rw-r--r-- | mm/slub.c | 6 |
1 files changed, 4 insertions, 2 deletions
| @@ -2387,11 +2387,13 @@ static void __slab_free(struct kmem_cache *s, struct page *page, | |||
| 2387 | slab_empty: | 2387 | slab_empty: |
| 2388 | if (prior) { | 2388 | if (prior) { |
| 2389 | /* | 2389 | /* |
| 2390 | * Slab still on the partial list. | 2390 | * Slab on the partial list. |
| 2391 | */ | 2391 | */ |
| 2392 | remove_partial(n, page); | 2392 | remove_partial(n, page); |
| 2393 | stat(s, FREE_REMOVE_PARTIAL); | 2393 | stat(s, FREE_REMOVE_PARTIAL); |
| 2394 | } | 2394 | } else |
| 2395 | /* Slab must be on the full list */ | ||
| 2396 | remove_full(s, page); | ||
| 2395 | 2397 | ||
| 2396 | spin_unlock_irqrestore(&n->list_lock, flags); | 2398 | spin_unlock_irqrestore(&n->list_lock, flags); |
| 2397 | stat(s, FREE_SLAB); | 2399 | stat(s, FREE_SLAB); |
