Re: [PATCH] mm/mempolicy: count MPOL_WEIGHTED_INTERLEAVE to "interleave_hit"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





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




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux