Re: [PATCH] mm: Free per cpu pages async to shorten program exit time

David Hildenbrand
2021-10-11T09:40:21Z

On 11.10.21 11:28, Michal Hocko wrote:
> On Fri 08-10-21 10:17:50, David Hildenbrand wrote:
>> On 08.10.21 08:39, ultrachin@163.com wrote:
>>> From: chen xiaoguang <xiaoggchen@tencent.com>
>>>
>>> The exit time is long when program allocated big memory and
>>> the most time consuming part is free memory which takes 99.9%
>>> of the total exit time. By using async free we can save 25% of
>>> exit time.
>>>
>>> Signed-off-by: chen xiaoguang <xiaoggchen@tencent.com>
>>> Signed-off-by: zeng jingxiang <linuszeng@tencent.com>
>>> Signed-off-by: lu yihui <yihuilu@tencent.com>
>>
>> I recently discussed with Claudio if it would be possible to tear down the
>> process MM deferred, because for some use cases (secure/encrypted
>> virtualization, very large mmaps) tearing down the page tables is already
>> the much more expensive operation.
>>
>> There is mmdrop_async(), and I wondered if one could reuse that concept when
>> tearing down a process -- I didn't look into feasibility, however, so it's
>> just some very rough idea.
>
> This is not a new problem. Large process tear down can take ages. The
> primary road block has been accounting. This lot of work has to be
> accounted to the proper domain (e.g. cpu cgroup).

In general, yes. For some setups where admins don't care about that
accounting (e.g., enabled via some magic toggle for large VMs), I guess
this accounting isn't the major roadblock, correct?

--
Thanks,

David / dhildenb