[PATCH v2 1/2] mm/show_mem: Dump the status of the mem alloc profiling before printing

Yueyang Pan posted 2 patches 1 month ago
There is a newer version of this series
[PATCH v2 1/2] mm/show_mem: Dump the status of the mem alloc profiling before printing
Posted by Yueyang Pan 1 month ago
This patch prints the status of the memory allocation profiling
before __show_mem actually prints the detailed allocation info.
This way will let us know the `0B` we saw in allocation info is
because the profiling is disabled or the allocation is actually
0B.

Signed-off-by: Yueyang Pan <pyyjason@gmail.com>
---
 mm/show_mem.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/mm/show_mem.c b/mm/show_mem.c
index ecf20a93ea54..51892ce2efc4 100644
--- a/mm/show_mem.c
+++ b/mm/show_mem.c
@@ -427,6 +427,8 @@ void __show_mem(unsigned int filter, nodemask_t *nodemask, int max_zone_idx)
 
 		nr = alloc_tag_top_users(tags, ARRAY_SIZE(tags), false);
 		if (nr) {
+			pr_notice("Memory alloction profiling is turned %s\n",
+				mem_alloc_profiling_enabled() ? "on" : "off");
 			pr_notice("Memory allocations:\n");
 			for (i = 0; i < nr; i++) {
 				struct codetag *ct = tags[i].ct;
-- 
2.47.3
Re: [PATCH v2 1/2] mm/show_mem: Dump the status of the mem alloc profiling before printing
Posted by Vlastimil Babka 1 month ago
On 9/2/25 17:57, Yueyang Pan wrote:
> This patch prints the status of the memory allocation profiling
> before __show_mem actually prints the detailed allocation info.
> This way will let us know the `0B` we saw in allocation info is
> because the profiling is disabled or the allocation is actually
> 0B.
> 
> Signed-off-by: Yueyang Pan <pyyjason@gmail.com>
> ---
>  mm/show_mem.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/mm/show_mem.c b/mm/show_mem.c
> index ecf20a93ea54..51892ce2efc4 100644
> --- a/mm/show_mem.c
> +++ b/mm/show_mem.c
> @@ -427,6 +427,8 @@ void __show_mem(unsigned int filter, nodemask_t *nodemask, int max_zone_idx)
>  
>  		nr = alloc_tag_top_users(tags, ARRAY_SIZE(tags), false);
>  		if (nr) {
> +			pr_notice("Memory alloction profiling is turned %s\n",

There's a typo "alloction".

> +				mem_alloc_profiling_enabled() ? "on" : "off");
>  			pr_notice("Memory allocations:\n");

But I think the message would be more obvious if it said e.g.:

"Memory allocations (profiling is currently [on/off]):"

>  			for (i = 0; i < nr; i++) {
>  				struct codetag *ct = tags[i].ct;
Re: [PATCH v2 1/2] mm/show_mem: Dump the status of the mem alloc profiling before printing
Posted by Yueyang Pan 1 month ago
On Wed, Sep 03, 2025 at 11:26:01AM +0200, Vlastimil Babka wrote:
> On 9/2/25 17:57, Yueyang Pan wrote:
> > This patch prints the status of the memory allocation profiling
> > before __show_mem actually prints the detailed allocation info.
> > This way will let us know the `0B` we saw in allocation info is
> > because the profiling is disabled or the allocation is actually
> > 0B.
> > 
> > Signed-off-by: Yueyang Pan <pyyjason@gmail.com>
> > ---
> >  mm/show_mem.c | 2 ++
> >  1 file changed, 2 insertions(+)
> > 
> > diff --git a/mm/show_mem.c b/mm/show_mem.c
> > index ecf20a93ea54..51892ce2efc4 100644
> > --- a/mm/show_mem.c
> > +++ b/mm/show_mem.c
> > @@ -427,6 +427,8 @@ void __show_mem(unsigned int filter, nodemask_t *nodemask, int max_zone_idx)
> >  
> >  		nr = alloc_tag_top_users(tags, ARRAY_SIZE(tags), false);
> >  		if (nr) {
> > +			pr_notice("Memory alloction profiling is turned %s\n",
> 
> There's a typo "alloction".

Nice catch. Thanks!

> 
> > +				mem_alloc_profiling_enabled() ? "on" : "off");
> >  			pr_notice("Memory allocations:\n");
> 
> But I think the message would be more obvious if it said e.g.:
> 
> "Memory allocations (profiling is currently [on/off]):"

I can change it in the next version. I saw Andrew gave approval. In this case, shall 
I send v3 or create a new patch?

> 
> >  			for (i = 0; i < nr; i++) {
> >  				struct codetag *ct = tags[i].ct;
> 

Thanks
Pan
Re: [PATCH v2 1/2] mm/show_mem: Dump the status of the mem alloc profiling before printing
Posted by Vlastimil Babka 4 weeks, 1 day ago
On 9/3/25 11:34, Yueyang Pan wrote:
> On Wed, Sep 03, 2025 at 11:26:01AM +0200, Vlastimil Babka wrote:
>> On 9/2/25 17:57, Yueyang Pan wrote:
>> > This patch prints the status of the memory allocation profiling
>> > before __show_mem actually prints the detailed allocation info.
>> > This way will let us know the `0B` we saw in allocation info is
>> > because the profiling is disabled or the allocation is actually
>> > 0B.
>> > 
>> > Signed-off-by: Yueyang Pan <pyyjason@gmail.com>
>> > ---
>> >  mm/show_mem.c | 2 ++
>> >  1 file changed, 2 insertions(+)
>> > 
>> > diff --git a/mm/show_mem.c b/mm/show_mem.c
>> > index ecf20a93ea54..51892ce2efc4 100644
>> > --- a/mm/show_mem.c
>> > +++ b/mm/show_mem.c
>> > @@ -427,6 +427,8 @@ void __show_mem(unsigned int filter, nodemask_t *nodemask, int max_zone_idx)
>> >  
>> >  		nr = alloc_tag_top_users(tags, ARRAY_SIZE(tags), false);
>> >  		if (nr) {
>> > +			pr_notice("Memory alloction profiling is turned %s\n",
>> 
>> There's a typo "alloction".
> 
> Nice catch. Thanks!
> 
>> 
>> > +				mem_alloc_profiling_enabled() ? "on" : "off");
>> >  			pr_notice("Memory allocations:\n");
>> 
>> But I think the message would be more obvious if it said e.g.:
>> 
>> "Memory allocations (profiling is currently [on/off]):"
> 
> I can change it in the next version. I saw Andrew gave approval. In this case, shall 
> I send v3 or create a new patch?

You can send v3 (given patch 2/2 needs warning fix too) and Andrew can
replace or convert to fixups.

>> 
>> >  			for (i = 0; i < nr; i++) {
>> >  				struct codetag *ct = tags[i].ct;
>> 
> 
> Thanks
> Pan
Re: [PATCH v2 1/2] mm/show_mem: Dump the status of the mem alloc profiling before printing
Posted by Usama Arif 4 weeks, 1 day ago

On 03/09/2025 10:34, Yueyang Pan wrote:
> On Wed, Sep 03, 2025 at 11:26:01AM +0200, Vlastimil Babka wrote:
>> On 9/2/25 17:57, Yueyang Pan wrote:
>>> This patch prints the status of the memory allocation profiling
>>> before __show_mem actually prints the detailed allocation info.
>>> This way will let us know the `0B` we saw in allocation info is
>>> because the profiling is disabled or the allocation is actually
>>> 0B.
>>>
>>> Signed-off-by: Yueyang Pan <pyyjason@gmail.com>
>>> ---
>>>  mm/show_mem.c | 2 ++
>>>  1 file changed, 2 insertions(+)
>>>
>>> diff --git a/mm/show_mem.c b/mm/show_mem.c
>>> index ecf20a93ea54..51892ce2efc4 100644
>>> --- a/mm/show_mem.c
>>> +++ b/mm/show_mem.c
>>> @@ -427,6 +427,8 @@ void __show_mem(unsigned int filter, nodemask_t *nodemask, int max_zone_idx)
>>>  
>>>  		nr = alloc_tag_top_users(tags, ARRAY_SIZE(tags), false);
>>>  		if (nr) {
>>> +			pr_notice("Memory alloction profiling is turned %s\n",
>>
>> There's a typo "alloction".
> 
> Nice catch. Thanks!
> 
>>
>>> +				mem_alloc_profiling_enabled() ? "on" : "off");
>>>  			pr_notice("Memory allocations:\n");
>>
>> But I think the message would be more obvious if it said e.g.:
>>
>> "Memory allocations (profiling is currently [on/off]):"
> 
> I can change it in the next version. I saw Andrew gave approval. In this case, shall 
> I send v3 or create a new patch?
> 

Send a v3 as a change is needed in both patches.

>>
>>>  			for (i = 0; i < nr; i++) {
>>>  				struct codetag *ct = tags[i].ct;
>>
> 
> Thanks
> Pan