Re: [PATCH 2.5.63] Teach page_mapped about the anon flag

Andrew Morton
2003-03-03T22:08:49Z

Dave McCracken <dmccr@us.ibm.com> wrote:
>
>
> --On Monday, March 03, 2003 13:35:39 -0800 Andrew Morton <akpm@digeo.com>
> wrote:
>
> > We do need a patch I think. page_mapped() is still assuming that an
> > all-bits-zero atomic_t corresponds to a zero-value atomic_t.
> >
> > This does appear to be true for all supported architectures, but it's a
> > bit grubby.
>
> If that's ever not true then we need extra code to initialize/rezero that
> field, since we assume it's zero on alloc, and the pte_chain code also
> assumes it's zero for a new page.

Well why not make mapcount an "int" and move the places where it is modified
inside pte_chain_lock()?

That does not increase the number of atomic operations, and it makes me stop
wondering if this:

if (atomic_read(&page->pte.mapcount) == 0)
inc_page_state(nr_mapped);

is racy ;)