Re: [PATCH 3/3] Provide control over unmapped pages (v4)

From: Balbir Singh
Date: Fri Jan 28 2011 - 07:03:02 EST


* KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> [2011-01-28 17:17:44]:

> On Fri, 28 Jan 2011 13:49:28 +0530
> Balbir Singh <balbir@xxxxxxxxxxxxxxxxxx> wrote:
>
> > * KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> [2011-01-28 16:56:05]:
>
> > > BTW, it seems this doesn't work when some apps use huge shmem.
> > > How to handle the issue ?
> > >
> >
> > Could you elaborate further?
> >
> ==
> static inline unsigned long zone_unmapped_file_pages(struct zone *zone)
> {
> unsigned long file_mapped = zone_page_state(zone, NR_FILE_MAPPED);
> unsigned long file_lru = zone_page_state(zone, NR_INACTIVE_FILE) +
> zone_page_state(zone, NR_ACTIVE_FILE);
>
> /*
> * It's possible for there to be more file mapped pages than
> * accounted for by the pages on the file LRU lists because
> * tmpfs pages accounted for as ANON can also be FILE_MAPPED
> */
> return (file_lru > file_mapped) ? (file_lru - file_mapped) : 0;
> }

Yes, I did :) The word huge confused me. I am not sure if there is an
easy accounting fix for this one, though given the approximate nature
of the control, I am not sure it would matter very much. But you do
have a very good point.

--
Three Cheers,
Balbir
--
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/