* [PATCH] mm: memcg: fix unit conversion for K() macro in OOM log
@ 2025-12-16 21:20 Shakeel Butt
2025-12-17 2:35 ` Muchun Song
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Shakeel Butt @ 2025-12-16 21:20 UTC (permalink / raw)
To: Andrew Morton
Cc: Johannes Weiner, Michal Hocko, Roman Gushchin, Muchun Song,
Vlastimil Babka, Meta kernel team, cgroups, linux-mm,
linux-kernel, Chris Mason
The commit bc8e51c05ad5 ("mm: memcg: dump memcg protection info on oom
or alloc failures") added functionality to dump memcg protections on OOM
or allocation failures. It uses K() macro to dump the information and
passes bytes to the macro. However the macro take number of pages
instead of bytes. It is defined as:
#define K(x) ((x) << (PAGE_SHIFT-10))
Let's fix this.
Signed-off-by: Shakeel Butt <shakeel.butt@linux.dev>
Reported-by: Chris Mason <clm@fb.com>
Fixes: bc8e51c05ad5 ("mm: memcg: dump memcg protection info on oom or alloc failures")
---
mm/memcontrol.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index e2e49f4ec9e0..6f000f0e76d2 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -5638,6 +5638,6 @@ void mem_cgroup_show_protected_memory(struct mem_cgroup *memcg)
memcg = root_mem_cgroup;
pr_warn("Memory cgroup min protection %lukB -- low protection %lukB",
- K(atomic_long_read(&memcg->memory.children_min_usage)*PAGE_SIZE),
- K(atomic_long_read(&memcg->memory.children_low_usage)*PAGE_SIZE));
+ K(atomic_long_read(&memcg->memory.children_min_usage)),
+ K(atomic_long_read(&memcg->memory.children_low_usage)));
}
--
2.47.3
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] mm: memcg: fix unit conversion for K() macro in OOM log
2025-12-16 21:20 [PATCH] mm: memcg: fix unit conversion for K() macro in OOM log Shakeel Butt
@ 2025-12-17 2:35 ` Muchun Song
2025-12-17 9:08 ` Vlastimil Babka
2025-12-17 9:31 ` Michal Hocko
2 siblings, 0 replies; 4+ messages in thread
From: Muchun Song @ 2025-12-17 2:35 UTC (permalink / raw)
To: Shakeel Butt
Cc: Andrew Morton, Johannes Weiner, Michal Hocko, Roman Gushchin,
Vlastimil Babka, Meta kernel team, cgroups, linux-mm,
linux-kernel, Chris Mason
> On Dec 17, 2025, at 05:20, Shakeel Butt <shakeel.butt@linux.dev> wrote:
>
> The commit bc8e51c05ad5 ("mm: memcg: dump memcg protection info on oom
> or alloc failures") added functionality to dump memcg protections on OOM
> or allocation failures. It uses K() macro to dump the information and
> passes bytes to the macro. However the macro take number of pages
> instead of bytes. It is defined as:
>
> #define K(x) ((x) << (PAGE_SHIFT-10))
>
> Let's fix this.
>
> Signed-off-by: Shakeel Butt <shakeel.butt@linux.dev>
> Reported-by: Chris Mason <clm@fb.com>
> Fixes: bc8e51c05ad5 ("mm: memcg: dump memcg protection info on oom or alloc failures")
Reviewed-by: Muchun Song <muchun.song@linux.dev>
Thanks.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] mm: memcg: fix unit conversion for K() macro in OOM log
2025-12-16 21:20 [PATCH] mm: memcg: fix unit conversion for K() macro in OOM log Shakeel Butt
2025-12-17 2:35 ` Muchun Song
@ 2025-12-17 9:08 ` Vlastimil Babka
2025-12-17 9:31 ` Michal Hocko
2 siblings, 0 replies; 4+ messages in thread
From: Vlastimil Babka @ 2025-12-17 9:08 UTC (permalink / raw)
To: Shakeel Butt, Andrew Morton
Cc: Johannes Weiner, Michal Hocko, Roman Gushchin, Muchun Song,
Meta kernel team, cgroups, linux-mm, linux-kernel, Chris Mason
On 12/16/25 22:20, Shakeel Butt wrote:
> The commit bc8e51c05ad5 ("mm: memcg: dump memcg protection info on oom
> or alloc failures") added functionality to dump memcg protections on OOM
> or allocation failures. It uses K() macro to dump the information and
> passes bytes to the macro. However the macro take number of pages
> instead of bytes. It is defined as:
>
> #define K(x) ((x) << (PAGE_SHIFT-10))
>
> Let's fix this.
>
> Signed-off-by: Shakeel Butt <shakeel.butt@linux.dev>
> Reported-by: Chris Mason <clm@fb.com>
> Fixes: bc8e51c05ad5 ("mm: memcg: dump memcg protection info on oom or alloc failures")
Acked-by: Vlastimil Babka <vbabka@suse.cz>
> ---
> mm/memcontrol.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/mm/memcontrol.c b/mm/memcontrol.c
> index e2e49f4ec9e0..6f000f0e76d2 100644
> --- a/mm/memcontrol.c
> +++ b/mm/memcontrol.c
> @@ -5638,6 +5638,6 @@ void mem_cgroup_show_protected_memory(struct mem_cgroup *memcg)
> memcg = root_mem_cgroup;
>
> pr_warn("Memory cgroup min protection %lukB -- low protection %lukB",
> - K(atomic_long_read(&memcg->memory.children_min_usage)*PAGE_SIZE),
> - K(atomic_long_read(&memcg->memory.children_low_usage)*PAGE_SIZE));
> + K(atomic_long_read(&memcg->memory.children_min_usage)),
> + K(atomic_long_read(&memcg->memory.children_low_usage)));
> }
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] mm: memcg: fix unit conversion for K() macro in OOM log
2025-12-16 21:20 [PATCH] mm: memcg: fix unit conversion for K() macro in OOM log Shakeel Butt
2025-12-17 2:35 ` Muchun Song
2025-12-17 9:08 ` Vlastimil Babka
@ 2025-12-17 9:31 ` Michal Hocko
2 siblings, 0 replies; 4+ messages in thread
From: Michal Hocko @ 2025-12-17 9:31 UTC (permalink / raw)
To: Shakeel Butt
Cc: Andrew Morton, Johannes Weiner, Roman Gushchin, Muchun Song,
Vlastimil Babka, Meta kernel team, cgroups, linux-mm,
linux-kernel, Chris Mason
On Tue 16-12-25 13:20:54, Shakeel Butt wrote:
> The commit bc8e51c05ad5 ("mm: memcg: dump memcg protection info on oom
> or alloc failures") added functionality to dump memcg protections on OOM
> or allocation failures. It uses K() macro to dump the information and
> passes bytes to the macro. However the macro take number of pages
> instead of bytes. It is defined as:
>
> #define K(x) ((x) << (PAGE_SHIFT-10))
>
> Let's fix this.
>
> Signed-off-by: Shakeel Butt <shakeel.butt@linux.dev>
> Reported-by: Chris Mason <clm@fb.com>
> Fixes: bc8e51c05ad5 ("mm: memcg: dump memcg protection info on oom or alloc failures")
Acked-by: Michal Hocko <mhocko@suse.com>
Thanks!
> ---
> mm/memcontrol.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/mm/memcontrol.c b/mm/memcontrol.c
> index e2e49f4ec9e0..6f000f0e76d2 100644
> --- a/mm/memcontrol.c
> +++ b/mm/memcontrol.c
> @@ -5638,6 +5638,6 @@ void mem_cgroup_show_protected_memory(struct mem_cgroup *memcg)
> memcg = root_mem_cgroup;
>
> pr_warn("Memory cgroup min protection %lukB -- low protection %lukB",
> - K(atomic_long_read(&memcg->memory.children_min_usage)*PAGE_SIZE),
> - K(atomic_long_read(&memcg->memory.children_low_usage)*PAGE_SIZE));
> + K(atomic_long_read(&memcg->memory.children_min_usage)),
> + K(atomic_long_read(&memcg->memory.children_low_usage)));
> }
> --
> 2.47.3
>
--
Michal Hocko
SUSE Labs
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2025-12-17 9:31 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-12-16 21:20 [PATCH] mm: memcg: fix unit conversion for K() macro in OOM log Shakeel Butt
2025-12-17 2:35 ` Muchun Song
2025-12-17 9:08 ` Vlastimil Babka
2025-12-17 9:31 ` Michal Hocko
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox