Re: [PATCH 1/2] mm: cma: NUMA node interface

From: Roman Gushchin
Date: Fri Apr 03 2020 - 11:10:13 EST


On Thu, Apr 02, 2020 at 05:48:00PM +0200, Vlastimil Babka wrote:
> On 3/26/20 10:27 PM, Aslan Bakirov wrote:
> > I've noticed that there is no interfaces exposed by CMA which would let me
> > to declare contigous memory on particular NUMA node.
> >
> > This patchset adds the ability to try to allocate contiguous memory on
> > specific node.

Hello, Vlastimil!

>
> I would say more explicitly that 'try' here means it will fallback to other
> nodes if the specific one doesn't work. At least AFAICS that's what it does by
> calling memblock_alloc_range_nid() with exact_nid=false.

Hm, maybe we need exact_nid=true for this case? The whole point here is to
have a per-node cma zone, so if it's not possible to allocate one on the
specific node, maybe it's better to just skip it?

>
> > Implement a new method for declaring contigous memory on particular node
> > and keep cma_declare_contiguous() as a wrapper.
>
> Should there be also support for using this node spcification in the cma=X boot
> param?

I'd wait for a first real usecase. It's fairly easy to add one, and very hard to remove,
so I'd be conservative here.

Also, in the future we might want to allocate it automatically and shrink on demand.

Btw, thank you very much for gathering all patches for Michal.


Thanks!