On 2024-12-27 6:57 AM, Honggyu Kim wrote:
The fa3bea4e1f82 introduced MPOL_WEIGHTED_INTERLEAVE but it missed
adding its counter to "interleave_hit" of numastat, which is located at
/sys/devices/system/node/nodeN/ directory.
It'd be better to add weighted interleving counter info to the existing
"interleave_hit" instead of introducing a new counter
"weighted_interleave_hit".
Fixes: fa3bea4e1f82 ("mm/mempolicy: introduce MPOL_WEIGHTED_INTERLEAVE for weighted interleaving")
Cc: Gregory Price <gourry@xxxxxxxxxx>
Cc: Andi Kleen <ak@xxxxxxxxxxxxxxx>
Signed-off-by: Honggyu Kim <honggyu.kim@xxxxxx>
---
mm/mempolicy.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/mm/mempolicy.c b/mm/mempolicy.c
index 04f35659717a..162407fbf2bc 100644
--- a/mm/mempolicy.c
+++ b/mm/mempolicy.c
@@ -2268,7 +2268,8 @@ struct page *alloc_pages_mpol_noprof(gfp_t gfp, unsigned int order,
page = __alloc_pages_noprof(gfp, order, nid, nodemask);
- if (unlikely(pol->mode == MPOL_INTERLEAVE) && page) {
+ if (unlikely(pol->mode == MPOL_INTERLEAVE ||
+ pol->mode == MPOL_WEIGHTED_INTERLEAVE) && page) {
/* skip NUMA_INTERLEAVE_HIT update if numa stats is disabled */
if (static_branch_likely(&vm_numa_stat_key) &&
page_to_nid(page) == nid) {
base-commit: 4bbf9020becbfd8fc2c3da790855b7042fad455b
[+Cc Andrew]
Looks good to me,
Reviewed-by: Hyeonggon Yoo <hyeonggon.yoo@xxxxxx>
We discovered that interleave_hit is not correctly accounted
while testing MPOL_WEIGHTED_INTERLEAVE on libnuma and this patch
fixes the issue.
Tested-by: Yunjeong Mun <yunjeong.mun@xxxxxx>
For reference:
https://github.com/numactl/numactl/pull/238#issuecomment-2563532910
--
Hyeonggon