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

Laura Abbott
2018-04-17T15:02:01Z

On 04/17/2018 04:36 AM, Michal Hocko wrote:
> 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
>
> Laura, are you still interested discussing this or other CMA related
> topic?
>

In light of Joonsoo's patches, I don't think we need a lot of time
but I'd still like some chance to discuss. I think there was some
other interest in CMA topics so it can be combined with those if
they are happening as well.

Thanks,
Laura