Re: [PATCH v5 6/7] mm: Support address range reclaim

Andrew Morton
2013-05-22T00:33:53Z

On Thu, 9 May 2013 16:21:28 +0900 Minchan Kim <minchan@kernel.org> wrote:

> This patch adds address range reclaim of a process.
> The requirement is following as,
>
> Like webkit1, it uses a address space for handling multi tabs.
> IOW, it uses *one* process model so all tabs shares address space
> of the process. In such scenario, per-process reclaim is rather
> coarse-grained so this patch supports more fine-grained reclaim
> for being able to reclaim target address range of the process.
> For reclaim target range, you should use following format.
>
> echo [addr] [size-byte] > /proc/pid/reclaim
>
> The addr should be page-aligned.
>
> So now reclaim konb's interface is following as.
>
> echo file > /proc/pid/reclaim
> reclaim file-backed pages only
>
> echo anon > /proc/pid/reclaim
> reclaim anonymous pages only
>
> echo all > /proc/pid/reclaim
> reclaim all pages
>
> echo 0x100000 8K > /proc/pid/reclaim
> reclaim pages in (0x100000 - 0x102000)

This might be going a bit far. The application itself can be modified
to use fadvise/madvise/whatever to release unused pages and that's a
better interface.

Athough it's a bit of a pipe-dream, I do think we should encourage
userspace to go this path, rather than providing ways for hacky admin
tools to go poking around in /proc/pid/maps and whacking apps
externally.