Re: [PATCH v7 2/7] mm: introduce external memory hinting API
From: Minchan Kim <minchan@kernel.org>
Date: 2020-03-11 00:36:52
Also in:
linux-mm, lkml
On Tue, Mar 10, 2020 at 03:20:08PM -0700, Minchan Kim wrote:
On Thu, Mar 05, 2020 at 07:15:10PM +0100, Vlastimil Babka wrote:quoted
On 3/2/20 8:36 PM, Minchan Kim wrote:quoted
There is usecase that System Management Software(SMS) want to give a memory hint like MADV_[COLD|PAGEEOUT] to other processes and in the case of Android, it is the ActivityManagerService. It's similar in spirit to madvise(MADV_WONTNEED), but the informationYou mean MADV_DONTNEED?Mean to DONT_NEED's future version.quoted
quoted
required to make the reclaim decision is not known to the app.This seems to be mixing up the differences between MADV_DONTNEED and COLD/PAGEOUT and self-imposed vs external memory hints?Sorry, I don't understand what you want here.quoted
quoted
Instead, it is known to the centralized userspace daemon(ActivityManagerService), and that daemon must be able to initiate reclaim on its own without any app involvement. To solve the issue, this patch introduces a new syscall process_madvise(2). It uses pidfd of an external process to give the hint. int process_madvise(int pidfd, void *addr, size_t length, int advise, unsigned long flag);It's more common to call the argument 'flags' not 'flag'? The code seems to call it flags. Also in line with madvise(2), the 'advise' argument should rather be 'advice'. This is more important for the manpage, but let's be consistent.Yub, I will send the patch along with your comment in previous patch.
Only place to use *advice* in kernel is comment in madvise_willneed. Al other places use advise in kernel so I wanted to be more consistent with other kernel sources. For man page, we could use the term "advice", no problem.