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

Honggyu Kim posted 1 patch 1 year, 1 month ago
mm/mempolicy.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
[PATCH] mm/mempolicy: count MPOL_WEIGHTED_INTERLEAVE to "interleave_hit"
Posted by Honggyu Kim 1 year, 1 month ago
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@gourry.net>
Cc: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Honggyu Kim <honggyu.kim@sk.com>
---
 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
-- 
2.34.1
Re: [PATCH] mm/mempolicy: count MPOL_WEIGHTED_INTERLEAVE to "interleave_hit"
Posted by Hyeonggon Yoo 1 year, 1 month ago

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@gourry.net>
> Cc: Andi Kleen <ak@linux.intel.com>
> Signed-off-by: Honggyu Kim <honggyu.kim@sk.com>
> ---
>   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@sk.com>

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@sk.com>

For reference:
https://github.com/numactl/numactl/pull/238#issuecomment-2563532910

--
Hyeonggon
Re: [PATCH] mm/mempolicy: count MPOL_WEIGHTED_INTERLEAVE to "interleave_hit"
Posted by Honggyu Kim 1 year, 1 month ago
On Mon, 30 Dec 2024 10:22:24 +0900 Hyeonggon Yoo <hyeonggon.yoo@sk.com> wrote:
> 
> 
> 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@gourry.net>
> > Cc: Andi Kleen <ak@linux.intel.com>
> > Signed-off-by: Honggyu Kim <honggyu.kim@sk.com>
> > ---
> >   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@sk.com>
> 
> 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@sk.com>
> 
> For reference:
> https://github.com/numactl/numactl/pull/238#issuecomment-2563532910

Hi Andrew,

I saw this patch has been merged into mm-unstable only with Gregory's
Reviewed-by tag.
https://lore.kernel.org/mm-commits/20241231002913.D5122C4CED0@smtp.kernel.org

But this patch is contributed by Hyeonggon and Yunjeong together for
their review and testing so please add their tags above in the commit
message together.

Thanks,
Honggyu

> --
> Hyeonggon
>
Re: [PATCH] mm/mempolicy: count MPOL_WEIGHTED_INTERLEAVE to "interleave_hit"
Posted by Gregory Price 1 year, 1 month ago
On Fri, Dec 27, 2024 at 06:57:37PM +0900, 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@gourry.net>
> Cc: Andi Kleen <ak@linux.intel.com>
> Signed-off-by: Honggyu Kim <honggyu.kim@sk.com>
> ---
>  mm/mempolicy.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 

Reviewed-by: Gregory Price <gourry@gourry.net>