Re: [PATCH] Hugepages should be accounted as unevictable pages.

Alok Kataria
2009-06-23T23:28:34Z

On Tue, 2009-06-23 at 15:55 -0700, Rik van Riel wrote:
> Alok Kataria wrote:
> > On Tue, 2009-06-23 at 14:55 -0700, Rik van Riel wrote:
> >> Alok Kataria wrote:
> >>> On Tue, 2009-06-23 at 14:24 -0700, Rik van Riel wrote:
>
> >> Things like page tables and dentry/inode caches vary
> >> according to the use case and are allocated as needed.But I think we should think But I think we should think
> >> They are in no way "static in nature".
> >
> > Maybe static was the wrong word to use here.
> > What i meant was that you could always calculate the *maximum* amount of
> > memory that is going to be used by page table and can also determine the
> > % of memory that will be used by slab caches.
>
> My point is that you cannot do that.
>
> We have seen systems with 30% of physical memory in
> page tables,

I see, for some reason I thought that the user process's page tables
should be swappable, but that doesn't look like what we do.
Though, that count should be available by aggregating the total ACTIVE
and INACTIVE counts, right ?

Now regarding the patch that I posted, I need a way to get the hugepages
count, there are 2 ways of doing this.
1. exporting hugetlb_total_pages function for module usage.
2. use NR_UNEVICTABLE to reflect the hugepages count too.

For some reason I think (2) is the correct way to go. NR_UNEVICTABLE
should mean all the locked memory that the user requested to be locked.

I don't see a reason why NR_UNEVICTABLE should only mean # of pages on
UNEVICTABLE_LRU.

Thanks,
Alok

> as well as systems with a similar amount
> of memory in the slab cache.
>
> Yes, these were running legitimate workloads.
>