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 [PATCH] mm/cma: print total and used pages in cma_alloc() 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.