Re: [RFCv2 3/6] mm: introduce MADV_PAGEOUT
From: Minchan Kim <minchan@kernel.org>
Date: 2019-05-31 13:44:59
Also in:
linux-mm, lkml
On Fri, May 31, 2019 at 10:50:44AM +0200, Michal Hocko wrote:
On Fri 31-05-19 15:43:10, Minchan Kim wrote:quoted
When a process expects no accesses to a certain memory range for a long time, it could hint kernel that the pages can be reclaimed instantly but data should be preserved for future use. This could reduce workingset eviction so it ends up increasing performance. This patch introduces the new MADV_PAGEOUT hint to madvise(2) syscall. MADV_PAGEOUT can be used by a process to mark a memory range as not expected to be used for a long time so that kernel reclaims the memory instantly. The hint can help kernel in deciding which pages to evict proactively.Again, are there any restictions on what kind of memory can be paged out? Private/Shared, anonymous/file backed. Any restrictions on mapping type. Etc. Please make sure all that is in the changelog.
It's same with MADV_COLD. Yes, I will include all detail in the description.
What are the failure modes? E.g. what if the swap is full, does the call fails or it silently ignores the error?
In such case, just ignore the swapout. It returns -EINVAL only if the vma is one of (VM_LOCKED|VM_HUGETLB|VM_PFNMAP) at this moment.
Thanks! -- Michal Hocko SUSE Labs