Re: [LSF/MM TOPIC] CMA and larger page sizes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello, Laura.
Sorry for a late response.


On Fri, Jan 26, 2018 at 06:25:27PM +0100, Michal Hocko wrote:
> [Ccing Joonsoo]

Thanks! Michal.

> 
> On Fri 26-01-18 02:08:14, Laura Abbott wrote:
> > CMA as it's currently designed requires alignment to the pageblock size c.f.
> > 
> >         /*
> >          * Sanitise input arguments.
> >          * Pages both ends in CMA area could be merged into adjacent unmovable
> >          * migratetype page by page allocator's buddy algorithm. In the case,
> >          * you couldn't get a contiguous memory, which is not what we want.
> >          */
> >         alignment = max(alignment,  (phys_addr_t)PAGE_SIZE <<
> >                           max_t(unsigned long, MAX_ORDER - 1, pageblock_order));
> > 
> > 
> > On arm64 with 64K page size and transparent huge page, this gives an alignment
> > of 512MB. This is quite restrictive and can eat up significant portions of
> > memory on smaller memory targets. Adjusting the configuration options really
> > isn't ideal for distributions that aim to have a single image which runs on
> > all targets.
> > 
> > Approaches I've thought about:
> > - Making CMA alignment less restrictive (and dealing with the fallout from
> > the comment above)
> > - Command line option to force a reasonable alignment

If the patchset 'manage the memory of the CMA area by using the ZONE_MOVABLE' is
merged, this restriction can be removed since there is no unmovable
pageblock in ZONE_MOVABLE. Just quick thought. :)

Thanks.




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux