Re: [PATCH 1/4] (CMA_AGGRESSIVE) Add CMA_AGGRESSIVE to Kconfig

From: 朱辉
Date: Wed Oct 22 2014 - 01:44:36 EST




On 10/22/14 09:27, Pavel Machek wrote:
> Hi!
>
>> Add CMA_AGGRESSIVE config that depend on CMA to Linux kernel config.
>> Add CMA_AGGRESSIVE_PHY_MAX, CMA_AGGRESSIVE_FREE_MIN and CMA_AGGRESSIVE_SHRINK
>> that depend on CMA_AGGRESSIVE.
>>
>> If physical memory size (not include CMA memory) in byte less than or equal to
>> CMA_AGGRESSIVE_PHY_MAX, CMA aggressive switch (sysctl vm.cma-aggressive-switch)
>> will be opened.
>
> Ok...
>
> Do I understand it correctly that there is some problem with
> hibernation not working on machines not working on machines with big
> CMA areas...?

No, these patches want to handle this issue that most of CMA memory is
not allocated before lowmemorykiller or oom_killer begin to kill tasks.

>
> But adding 4 config options end-user has no chance to set right can
> not be the best solution, can it?
>
>> +config CMA_AGGRESSIVE_PHY_MAX
>> + hex "Physical memory size in Bytes that auto turn on the CMA aggressive switch"
>> + depends on CMA_AGGRESSIVE
>> + default 0x40000000
>> + help
>> + If physical memory size (not include CMA memory) in byte less than or
>> + equal to this value, CMA aggressive switch will be opened.
>> + After the Linux boot, sysctl "vm.cma-aggressive-switch" can control
>> + the CMA AGGRESSIVE switch.
>
> For example... how am I expected to figure right value to place here?

I agree with that. I will update this config to auto set in next version.

Thanks,
Hui

>
> Pavel
>