Re: 答复: 回复: [External Mail]Re: [PATCH v2] mm/cma: print total and used count in cma_alloc()

From: Andrew Morton
Date: Thu Oct 10 2024 - 17:17:41 EST


On Thu, 10 Oct 2024 08:48:55 +0000 高翔 <gaoxiang17@xxxxxxxxxx> wrote:

>
> ________________________________
> 发件人: Frank van der Linden <fvdl@xxxxxxxxxx>
> 发送时间: 2024年10月5日 6:55
> 收件人: Andrew Morton
> 抄送: 高翔; David Hildenbrand; Xiang Gao; linux-mm@xxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> 主题: Re: 回复: [External Mail]Re: [PATCH v2] mm/cma: print total and used count in cma_alloc()
>
> [外部邮件] 此邮件来源于小米公司外部,请谨慎处理。若对邮件安全性存疑,请将邮件转发给misec@xxxxxxxxxx进行反馈
>
> On Fri, Oct 4, 2024 at 3:39 PM Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> wrote:
> >
> > On Fri, 4 Oct 2024 12:23:30 +0000 高翔 <gaoxiang17@xxxxxxxxxx> wrote:
> >
> > > > > +static unsigned long cma_get_used_pages(struct cma *cma) {
> > > > > + unsigned long used;
> > > > > +
> > > > > + spin_lock_irq(&cma->lock);
> > > > > + used = bitmap_weight(cma->bitmap, (int)cma_bitmap_maxno(cma));
> > > > > + spin_unlock_irq(&cma->lock);
> > > >
> > > > This adds overhead to each allocation, even if debug outputs are
> > > > ignored I assume?
> > > >
> > > > I wonder if we'd want to print these details only when our allocation
> > > > failed?
> > > >
> > > > Alternatively, we could actually track how many pages are allocated in
> > > > the cma, so we don't have to traverse the complete bitmap on every
> > > > allocation.
> > > >
> > >
> > > Yep, that's what I did as part of
> > > https://lore.kernel.org/all/20240724124845.614c03ad39f8af3729cebee6@xxxxxxxxxxxxxxxxxxxx/T/
> > >
> > > That patch didn't make it in (yet). I'm happy for it to be combined with this one if that's easier.
> >
> > That patch has been forgotten about. As I asked in July,
> > "I suggest a resend, and add some Cc:s for likely reviewers."
>
> > Indeed - I certainly wasn't suggesting that anyone else forgot about
> > it, it's up to me to follow up here, and I haven't yet.
>
>
> Do I need to resend it after adding "used_count" member to the "struct cma" as V3?

I don't know what is being asked here. What is this used_count? Some
other patch, presumably? Which?

The preferable thing to do is to send a patch against latest
mm-unstable or linux-next.