Re: [RFC] mm:change meminfo cached calculation

From: Hugh Dickins
Date: Tue Jan 06 2015 - 20:04:52 EST


On Tue, 6 Jan 2015, Andrew Morton wrote:
> On Fri, 26 Dec 2014 19:56:49 +0800 "Wang, Yalin" <Yalin.Wang@xxxxxxxxxxxxxx> wrote:
>
> > This patch subtract sharedram from cached,
> > sharedram can only be swap into swap partitions,
> > they should be treated as swap pages, not as cached pages.
> >
> > ...
> >
> > --- a/fs/proc/meminfo.c
> > +++ b/fs/proc/meminfo.c
> > @@ -45,7 +45,7 @@ static int meminfo_proc_show(struct seq_file *m, void *v)
> > committed = percpu_counter_read_positive(&vm_committed_as);
> >
> > cached = global_page_state(NR_FILE_PAGES) -
> > - total_swapcache_pages() - i.bufferram;
> > + total_swapcache_pages() - i.bufferram - i.sharedram;
> > if (cached < 0)
> > cached = 0;
>
> Documentation/filesystems/proc.txt says
>
> : Cached: in-memory cache for files read from the disk (the
> : pagecache). Doesn't include SwapCached
>
> So yes, I guess it should not include shmem.
>
> And why not do this as well?
>
>
> --- a/Documentation/filesystems/proc.txt~mm-change-meminfo-cached-calculation-fix
> +++ a/Documentation/filesystems/proc.txt
> @@ -811,7 +811,7 @@ MemAvailable: An estimate of how much me
> Buffers: Relatively temporary storage for raw disk blocks
> shouldn't get tremendously large (20MB or so)
> Cached: in-memory cache for files read from the disk (the
> - pagecache). Doesn't include SwapCached
> + pagecache). Doesn't include SwapCached or Shmem.
> SwapCached: Memory that once was swapped out, is swapped back in but
> still also is in the swapfile (if memory is needed it
> doesn't need to be swapped out AGAIN because it is already

Whoa. Changes of this kind would have made good sense about 14 years ago.
And there's plenty more which would benefit from having anon/shmem/file
properly distinguished. But how can we make such a change now,
breaking everything that has made its own sense of these counts?

Hugh
--
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/