dmapool: rearrange page alloc failure handling
[platform/kernel/linux-starfive.git] / mm / slab.c
index edbe722..bb57f7f 100644 (file)
--- a/mm/slab.c
+++ b/mm/slab.c
@@ -465,7 +465,7 @@ static int __init slab_max_order_setup(char *str)
 {
        get_option(&str, &slab_max_order);
        slab_max_order = slab_max_order < 0 ? 0 :
-                               min(slab_max_order, MAX_ORDER - 1);
+                               min(slab_max_order, MAX_ORDER);
        slab_max_order_set = true;
 
        return 1;
@@ -1392,8 +1392,7 @@ static void kmem_freepages(struct kmem_cache *cachep, struct slab *slab)
        smp_wmb();
        __folio_clear_slab(folio);
 
-       if (current->reclaim_state)
-               current->reclaim_state->reclaimed_slab += 1 << order;
+       mm_account_reclaimed_pages(1 << order);
        unaccount_slab(slab, order, cachep);
        __free_pages(&folio->page, order);
 }