Re: [PATCH 2/5] mm/page_alloc: Add a bulk page allocator
From: Matthew Wilcox <willy@infradead.org>
Date: 2021-03-12 12:44:50
Also in:
linux-mm, linux-nfs, lkml
On Wed, Mar 10, 2021 at 10:46:15AM +0000, Mel Gorman wrote:
+int __alloc_pages_bulk_nodemask(gfp_t gfp_mask, int preferred_nid, + nodemask_t *nodemask, int nr_pages, + struct list_head *list);
For the next revision, can you ditch the '_nodemask' part of the name?
Andrew just took this patch from me:
mm/page_alloc: combine __alloc_pages and __alloc_pages_nodemask
There are only two callers of __alloc_pages() so prune the thicket of
alloc_page variants by combining the two functions together. Current
callers of __alloc_pages() simply add an extra 'NULL' parameter and
current callers of __alloc_pages_nodemask() call __alloc_pages() instead.
...
-__alloc_pages_nodemask(gfp_t gfp_mask, unsigned int order, int preferred_nid,
- nodemask_t *nodemask);
-
-static inline struct page *
-__alloc_pages(gfp_t gfp_mask, unsigned int order, int preferred_nid)
-{
- return __alloc_pages_nodemask(gfp_mask, order, preferred_nid, NULL);
-}
+struct page *__alloc_pages(gfp_t gfp, unsigned int order, int preferred_nid,
+ nodemask_t *nodemask);
So calling this function __alloc_pages_bulk() fits with the new naming
scheme.
quoted hunk ↗ jump to hunk
@@ -4919,6 +4934,9 @@ static inline bool prepare_alloc_pages(gfp_t gfp_mask, unsigned int order, struct alloc_context *ac, gfp_t *alloc_mask, unsigned int *alloc_flags) { + gfp_mask &= gfp_allowed_mask; + *alloc_mask = gfp_mask;
Also I renamed alloc_mask to alloc_gfp.