diff options
| -rw-r--r-- | mm/slub.c | 6 |
1 files changed, 3 insertions, 3 deletions
| @@ -1881,7 +1881,7 @@ redo: | |||
| 1881 | 1881 | ||
| 1882 | new.frozen = 0; | 1882 | new.frozen = 0; |
| 1883 | 1883 | ||
| 1884 | if (!new.inuse && n->nr_partial > s->min_partial) | 1884 | if (!new.inuse && n->nr_partial >= s->min_partial) |
| 1885 | m = M_FREE; | 1885 | m = M_FREE; |
| 1886 | else if (new.freelist) { | 1886 | else if (new.freelist) { |
| 1887 | m = M_PARTIAL; | 1887 | m = M_PARTIAL; |
| @@ -1992,7 +1992,7 @@ static void unfreeze_partials(struct kmem_cache *s, | |||
| 1992 | new.freelist, new.counters, | 1992 | new.freelist, new.counters, |
| 1993 | "unfreezing slab")); | 1993 | "unfreezing slab")); |
| 1994 | 1994 | ||
| 1995 | if (unlikely(!new.inuse && n->nr_partial > s->min_partial)) { | 1995 | if (unlikely(!new.inuse && n->nr_partial >= s->min_partial)) { |
| 1996 | page->next = discard_page; | 1996 | page->next = discard_page; |
| 1997 | discard_page = page; | 1997 | discard_page = page; |
| 1998 | } else { | 1998 | } else { |
| @@ -2620,7 +2620,7 @@ static void __slab_free(struct kmem_cache *s, struct page *page, | |||
| 2620 | return; | 2620 | return; |
| 2621 | } | 2621 | } |
| 2622 | 2622 | ||
| 2623 | if (unlikely(!new.inuse && n->nr_partial > s->min_partial)) | 2623 | if (unlikely(!new.inuse && n->nr_partial >= s->min_partial)) |
| 2624 | goto slab_empty; | 2624 | goto slab_empty; |
| 2625 | 2625 | ||
| 2626 | /* | 2626 | /* |
