Re: [PATCH] mm: show proportional swap share of the mapping

From: Minchan Kim
Date: Tue Jun 09 2015 - 19:36:18 EST


Hello Andrew,

On Tue, Jun 09, 2015 at 02:35:48PM -0700, Andrew Morton wrote:
> On Tue, 9 Jun 2015 23:43:51 +0900 Minchan Kim <minchan@xxxxxxxxxx> wrote:
>
> > For system uses swap heavily and has lots of shared anonymous page,
> > it's very trouble to find swap set size per process because currently
> > smaps doesn't report proportional set size of swap.
> > It ends up that sum of the number of swap for all processes is greater
> > than swap device size.
> >
> > This patch introduces SwapPss field on /proc/<pid>/smaps.
> >
>
> We should be told quite a bit more about the value of this change,
> please. Use cases, what problems it solves, etc. Enough to justify
> adding new code to the kernel, enough to justify adding yet another
> userspace interface which must be maintained for ever.

The goal is same with present pages's PSS.

We want to know per-process workingset size for smart memory
management by userland platform memory manager. Our products
use swap(ex, zram) heavily to maximize memory efficiency.
IOW, workingset includes rss + swap.

However, without this feature, it's really hard to figure out
how many each process consumes availabe memory(rss + zram-swap)
if the system has lots of shared anonymous memory(e.g, android).

>
> > --- a/Documentation/filesystems/proc.txt
> > +++ b/Documentation/filesystems/proc.txt
> >
> > ...
> >
> > @@ -441,7 +442,7 @@ indicates the amount of memory currently marked as referenced or accessed.
> > a mapping associated with a file may contain anonymous pages: when MAP_PRIVATE
> > and a page is modified, the file page is replaced by a private anonymous copy.
> > "Swap" shows how much would-be-anonymous memory is also used, but out on
> > -swap.
> > +swap. "SwapPss" shows process' proportional swap share of this mapping.
> >
> > "VmFlags" field deserves a separate description. This member represents the kernel
> > flags associated with the particular virtual memory area in two letter encoded
>
> Documentation/filesystems/proc.txt doesn't actually explain what
> "proportional share" means. A patient reader will hopefully find the
> comment over PSS_SHIFT in fs/proc/task_mmu.c, but that isn't very
> user-friendly.

Okay, I will try to add more comment about PSS in proc.txt
on next spin if you are not against this feature.

Thanks.

>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/