Messages in this thread | | | Date | Fri, 8 Oct 2021 14:38:15 +0200 | Subject | Re: [PATCH] mm: Free per cpu pages async to shorten program exit time | From | Vlastimil Babka <> |
| |
On 10/8/21 10:17, 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.
OK, but what exactly is the benefit here? The cpu time will have to be spent in any case, but we move it to a context that's not accounted to the exiting process. Is that good? Also if it's a large process and restarts immediately, allocating all the memory back again, it might not be available as it's still being freed in the background, leading to a risk of OOM?
> 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. >
| |