Matthew Wilcox wrote: > __get_free_pages() calls alloc_pages, finds the page_address() and > throws away the struct page *. Slab then calls virt_to_page to get it > back again. Much more efficient for slab to call alloc_pages itself, > as well as making the NUMA and non-NUMA cases more similarr to each other. Here is a better patch: Remove the special case of nodeid == -1. Instead, use numa_node_id() when calling cache_grow(). Signed-off-by: Brian Gerst