From: 高翔 <gaoxiang17@xiaomi.com>
To: David Hildenbrand <david@redhat.com>,
Andrew Morton <akpm@linux-foundation.org>
Cc: Xiang Gao <gxxa03070307@gmail.com>,
"lorenzo.stoakes@oracle.com" <lorenzo.stoakes@oracle.com>,
"Liam.Howlett@oracle.com" <Liam.Howlett@oracle.com>,
"vbabka@suse.cz" <vbabka@suse.cz>,
"rppt@kernel.org" <rppt@kernel.org>,
"surenb@google.com" <surenb@google.com>,
"mhocko@suse.com" <mhocko@suse.com>,
"linux-mm@kvack.org" <linux-mm@kvack.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: 答复: [External Mail]Re: [PATCH] mm/cma: print total and used pages in cma_alloc()
Date: Mon, 18 Aug 2025 05:30:30 +0000 [thread overview]
Message-ID: <d21f884907fe4dce81e5c16e2970a3b4@xiaomi.com> (raw)
In-Reply-To: <167acb82-1368-4c8e-89bd-8dbe4877d5bb@redhat.com>
[-- Attachment #1: Type: text/plain, Size: 2580 bytes --]
From this perspective, it seems better to add it to the trace. Then shall I make a patch to add to the trace?
________________________________
发件人: David Hildenbrand <david@redhat.com>
发送时间: 2025年8月16日 15:49:52
收件人: Andrew Morton
抄送: Xiang Gao; lorenzo.stoakes@oracle.com; Liam.Howlett@oracle.com; vbabka@suse.cz; rppt@kernel.org; surenb@google.com; mhocko@suse.com; linux-mm@kvack.org; linux-kernel@vger.kernel.org; 高翔
主题: [External Mail]Re: [PATCH] mm/cma: print total and used pages in cma_alloc()
[外部邮件] 此邮件来源于小米公司外部,请谨慎处理。若对邮件安全性存疑,请将邮件转发给misec@xiaomi.com进行反馈
On 16.08.25 09:34, Andrew Morton wrote:
> On Sat, 16 Aug 2025 08:56:47 +0200 David Hildenbrand <david@redhat.com> wrote:
>
>> On 16.08.25 08:45, Andrew Morton wrote:
>>> On Sat, 16 Aug 2025 08:27:39 +0200 David Hildenbrand <david@redhat.com> wrote:
>>>
>>>>> @@ -858,8 +869,8 @@ static struct page *__cma_alloc(struct cma *cma, unsigned long count,
>>>>> if (!cma || !cma->count)
>>>>> return page;
>>>>>
>>>>> - pr_debug("%s(cma %p, name: %s, count %lu, align %d)\n", __func__,
>>>>> - (void *)cma, cma->name, count, align);
>>>>> + pr_debug("%s(cma %p, name: %s, total pages: %lu, used pages: %lu, request pages: %lu, align %d)\n",
>>>>> + __func__, (void *)cma, cma->name, cma->count, cma_get_used_pages(cma), count, align);
>>>>
>>>> ^ one space missing for proper indentation.
>>>>
>>>> But doing another spinlock cycle just for debugging purposes? That does
>>>> not feel right, sorry.
>>>
>>> If we're calling pr_debug() frequently enough for this to matter, we
>>> have other problems!
>>
>> We call it for each and every actual CMA allocation? I really don't see
>> why we want to just randomly make CMA allocation latency worse.
>
> pr_debug() is 12 million times more expensive than a spin_lock()!
>
>> Is the existing pr_debug() a problem? Maybe. But who actually has debug
>> messages enabled in any sane setup?
>
> Nobody, clearly. If anyone enabled pr_debug() in here, they'd
> immediately have to remove those statements to get any work done. Kill
> it.
I just learned that pr_debug() on a !CONFIG_DEBUG kernel translates to
no_printk(), which is just a mostly-empty macro that doesn't really use
any of the parameters.
I would assume the cma_get_used_pages() would get completely optimized
out in that case.
So, I don't care, but ... moving to tracing seems much more reasonable.
--
Cheers
David / dhildenb
[-- Attachment #2: Type: text/html, Size: 4444 bytes --]
next prev parent reply other threads:[~2025-08-18 5:30 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-16 4:28 Xiang Gao
2025-08-16 6:27 ` David Hildenbrand
2025-08-16 6:42 ` Giorgi Tchankvetadze
2025-08-16 6:57 ` David Hildenbrand
2025-08-16 6:45 ` Andrew Morton
2025-08-16 6:56 ` David Hildenbrand
2025-08-16 7:34 ` Andrew Morton
2025-08-16 7:49 ` David Hildenbrand
2025-08-18 5:30 ` 高翔 [this message]
2025-08-16 16:30 ` kernel test robot
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=d21f884907fe4dce81e5c16e2970a3b4@xiaomi.com \
--to=gaoxiang17@xiaomi.com \
--cc=Liam.Howlett@oracle.com \
--cc=akpm@linux-foundation.org \
--cc=david@redhat.com \
--cc=gxxa03070307@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=lorenzo.stoakes@oracle.com \
--cc=mhocko@suse.com \
--cc=rppt@kernel.org \
--cc=surenb@google.com \
--cc=vbabka@suse.cz \
/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