Re: [PATCH 09/11] unpaged: ZERO_PAGE in VM_UNPAGED

Hugh Dickins
2005-11-18T19:59:42Z

On Thu, 17 Nov 2005, Ingo Oeser wrote:
>
> We do we refcount ZERO_PAGE at all?

We never used to. They were, and for the moment still are, marked
PageReserved. Prior to 2.6.15-rc we didn't refcount reserved pages,
but now we're trying to move away from PageReserved (some differences
of opinion how far to go), so refcounting them.

We're currently refcounting the ZERO_PAGE(s) simply because the
common case is refcounted: it would just be extra tests and code
NOT to refcount the ZERO_PAGE(s). If they were a commoner case,
then it would indeed be worth avoiding refcounting them, but it
currently doesn't appear to be worth the effort.

But it is still up in the air: there is or may be an issue with
refcounts overflowing, and if it's clear that the ZERO_PAGE is
the only one vulnerable on any architecture, then I'm sure we'd
deal with it by not refcounting them. However, I believe the
issue extends to mapped file pages too: though you need a huge
amount of RAM to reach overflow, so it's not something we need
to resolve this week.

> Ok, there may be multiple, but they exist always and always at
> the same physical addresses, right?

Right.

> So why do we care at all?
> Memory hotplug?
> Doesn't it suffice there, that they are reverse mappable?

Actually, they're not reverse mappable: we tend to find
there's not much gained by swapping out the ZERO_PAGE ;)

Hugh