Re: [PATCH][5/8] proc: export mlocked pages info through "/proc/meminfo: Wired"

Dave Hansen
2006-03-21T21:44:46Z

On Mon, 2006-03-20 at 08:37 -0500, Stone Wang wrote:
> --- linux-2.6.15.orig/include/linux/mm.h 2006-01-02 22:21:10.000000000 -0500
> +++ linux-2.6.15/include/linux/mm.h 2006-03-07 01:49:12.000000000 -0500
> @@ -218,6 +221,10 @@
> unsigned long flags; /* Atomic flags, some possibly
> * updated asynchronously */
> atomic_t _count; /* Usage count, see below. */
> + unsigned short wired_count; /* Count of wirings of the page.
> + * If not zero,the page would be SetPageWired,
> + * and put on Wired list of the zone.
> + */
> atomic_t _mapcount; /* Count of ptes mapped in mms,
> * to show when page is mapped
> * & limit reverse map searches.

We're usually pretty picky about adding stuff to 'struct page'. It
_just_ fits inside a cacheline on most 32-bit architectures.

Can this wired_count not be derived at runtime? It seems like it would
be possible to run through all VMAs mapping the page, and determining
how many of them are VM_LOCKED. Would that be too slow?

Also, does it matter how many times it is locked, or just that
_somebody_ has it locked?

-- Dave