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.