[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250816003418.b2a62f6ddbcf9468fde87a18@linux-foundation.org>
Date: Sat, 16 Aug 2025 00:34:18 -0700
From: Andrew Morton <akpm@...ux-foundation.org>
To: David Hildenbrand <david@...hat.com>
Cc: Xiang Gao <gxxa03070307@...il.com>, lorenzo.stoakes@...cle.com,
Liam.Howlett@...cle.com, vbabka@...e.cz, rppt@...nel.org,
surenb@...gle.com, mhocko@...e.com, linux-mm@...ck.org,
linux-kernel@...r.kernel.org, gaoxiang17 <gaoxiang17@...omi.com>
Subject: Re: [PATCH] mm/cma: print total and used pages in cma_alloc()
On Sat, 16 Aug 2025 08:56:47 +0200 David Hildenbrand <david@...hat.com> wrote:
> On 16.08.25 08:45, Andrew Morton wrote:
> > On Sat, 16 Aug 2025 08:27:39 +0200 David Hildenbrand <david@...hat.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.
Powered by blists - more mailing lists