From: Zhenhua Huang <quic_zhenhuah@quicinc.com>
To: Suren Baghdasaryan <surenb@google.com>
Cc: <akpm@linux-foundation.org>, <kent.overstreet@linux.dev>,
<linux-kernel@vger.kernel.org>, <linux-mm@kvack.org>
Subject: Re: [PATCH] mm/code_tag: Skip displaying the code_tag if it is not called
Date: Fri, 13 Dec 2024 11:51:01 +0800 [thread overview]
Message-ID: <2c97de38-4256-47c4-97e4-7d1cb6c30fc0@quicinc.com> (raw)
In-Reply-To: <CAJuCfpH-qXf7unhzr7PKY9iX0AcwDrpuKCoigQM+edV=AVYXJg@mail.gmail.com>
On 2024/12/13 10:44, Suren Baghdasaryan wrote:
> On Wed, Dec 11, 2024 at 11:50 PM Zhenhua Huang
> <quic_zhenhuah@quicinc.com> wrote:
>>
>> Hi Suren,
>>
>> On 2024/12/12 15:16, Suren Baghdasaryan wrote:
>>> On Wed, Dec 11, 2024 at 12:56 AM Zhenhua Huang
>>> <quic_zhenhuah@quicinc.com> wrote:
>>>>
>>>> /proc/allocinfo is full of callsites which are not called at all.
>>>> Let's only output if the callsite actually been invoked.
>>>
>>> No, I disagree. Allocation that was never invoked is not the same as
>>> no allocation at all. How would we know the difference if we filter
>>
>> But it doesn't affect further display when it is actually called? why we
>> need to know the diff here...
>>
>> The point from me is: up to now, the callsite hasn't been invoked, so it
>> can be ignored in the output.. The original output is really huge..
>
> My point is that with this change we lose information which can be
> useful. For example if I want to analyze all the places in the kernel
> where memory can be potentially allocated, your change would prevent
> me from doing that.
OK, Thanks, got it.
>
>>
>>> out the empty ones?
>>> If you don't want to see all the unused sites, you can filter them in
>>> the userspace. I also suspect that for practical purposes you would
>>> want to filter small ones (below some threshold) as well.
>>
>> Yeah, that's the expected way from us as well :)
>>
>>>
>>>>
>>>> Signed-off-by: Zhenhua Huang <quic_zhenhuah@quicinc.com>
>>>> ---
>>>> lib/alloc_tag.c | 10 ++++++----
>>>> 1 file changed, 6 insertions(+), 4 deletions(-)
>>>>
>>>> diff --git a/lib/alloc_tag.c b/lib/alloc_tag.c
>>>> index 35f7560a309a..06fb7eb5c0bc 100644
>>>> --- a/lib/alloc_tag.c
>>>> +++ b/lib/alloc_tag.c
>>>> @@ -95,10 +95,12 @@ static void alloc_tag_to_text(struct seq_buf *out, struct codetag *ct)
>>>> struct alloc_tag_counters counter = alloc_tag_read(tag);
>>>> s64 bytes = counter.bytes;
>>>>
>>>> - seq_buf_printf(out, "%12lli %8llu ", bytes, counter.calls);
>>>> - codetag_to_text(out, ct);
>>>> - seq_buf_putc(out, ' ');
>>>> - seq_buf_putc(out, '\n');
>>>> + if (bytes || counter.calls) {
>>>> + seq_buf_printf(out, "%12lli %8llu ", bytes, counter.calls);
>>>> + codetag_to_text(out, ct);
>>>> + seq_buf_putc(out, ' ');
>>>> + seq_buf_putc(out, '\n');
>>>> + }
>>>> }
>>>>
>>>> static int allocinfo_show(struct seq_file *m, void *arg)
>>>> --
>>>> 2.25.1
>>>>
>>
prev parent reply other threads:[~2024-12-13 3:51 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-11 8:56 Zhenhua Huang
2024-12-12 7:16 ` Suren Baghdasaryan
2024-12-12 7:50 ` Zhenhua Huang
2024-12-13 2:44 ` Suren Baghdasaryan
2024-12-13 3:51 ` Zhenhua Huang [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=2c97de38-4256-47c4-97e4-7d1cb6c30fc0@quicinc.com \
--to=quic_zhenhuah@quicinc.com \
--cc=akpm@linux-foundation.org \
--cc=kent.overstreet@linux.dev \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=surenb@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox