Anton Blanchard <an...@samba.org> writes:
>
> Thoughts? It seems like we could hit a similar situation if a machine
> is balanced but we run out of memory on a single node.

Yes I agree, but your patch doesn't seem to attempt to handle this?

-Andi
>
> Index: b/mm/slub.c
> ===================================================================
> --- a/mm/slub.c
> +++ b/mm/slub.c
> @@ -2278,10 +2278,17 @@ redo:
>  
>       if (unlikely(!node_match(page, node))) {
>               stat(s, ALLOC_NODE_MISMATCH);
> -             deactivate_slab(s, page, c->freelist);
> -             c->page = NULL;
> -             c->freelist = NULL;
> -             goto new_slab;
> +
> +             /*
> +              * If the node contains no memory there is no point in trying
> +              * to allocate a new node local slab
> +              */
> +             if (node_spanned_pages(node)) {
> +                     deactivate_slab(s, page, c->freelist);
> +                     c->page = NULL;
> +                     c->freelist = NULL;
> +                     goto new_slab;
> +             }
>       }
>  
>       /*
-- 
a...@linux.intel.com -- Speaking for myself only
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to