Re: [PATCH 2/3] mm: hugetlb: make the hugetlb migration strategy consistent

From: Baolin Wang
Date: Wed Feb 28 2024 - 02:40:22 EST




On 2024/2/27 23:17, Oscar Salvador wrote:
On Tue, Feb 27, 2024 at 09:52:26PM +0800, Baolin Wang wrote:

--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
@@ -2567,13 +2567,38 @@ static struct folio *alloc_surplus_hugetlb_folio(struct hstate *h,
}
static struct folio *alloc_migrate_hugetlb_folio(struct hstate *h, gfp_t gfp_mask,
- int nid, nodemask_t *nmask)
+ int nid, nodemask_t *nmask, int reason)

I still dislike taking the reason argument this far, and I'd rather have
this as a boolean specifing whether we allow fallback on other nodes.
That would mean parsing the reason in alloc_migration_target().
If we don't add a new helper e.g: gfp_allow_fallback(), we can just do
it right there an opencode it with a e.g: macro etc.

Although doing it in an inline helper might help hiding these details.

That's my take on this, but let's see what others have to say.

Sure. I also expressed my preference for hiding these details within the hugetlb core as much as possible.

Muchun, what do you think? Thanks.