Re: 2.1.125 Show stopper list: Draft

Perry Harrington (pedward@sun4.apsoft.com)
Tue, 13 Oct 1998 11:07:45 -0700 (PDT)


Sounds about right. After spending a bit of time looking the code over
and crashing my machine, I came to the conclusion that this is the only
way to do this, as reclaiming the page tables is a horrendous amount of
overhead for the common case. I think that this should be a part of
the rudimentary OOM code. This is something that is more specific to
the implementation than a generalized algorithm like what Rik is developing.

So, it seems to me that this is a last ditch effort OOM based modification.
In that light, I think 2 things would need to be modified:

The GPF trap handler would have to be modified to look in the VMA list
to find out if it really IS a segv, or an unmapped page table. Then
if it is an unmapped table, rebuild that PTE (and any PGE's on the
way there) and continue.

The clincher on the PTE reclaim was the 3 level system employed on non-x86;
you can't do it efficiently, and there are a boat load of tables.

--Perry

> NetBSD handles this very elegantly. Because the overhead of page
> table recovery is pretty foul (especially non intel), when they need
> to reclaim memory urgently they simply blow the CPU page tables away
> and give the task a new empty page table set to page everything back
> into.
>
> Since there are caches these faults don't go to disk but just to the cache
> and rapidly recover the page tables for the current working set.
>
> Alan
>

-- 
Perry Harrington       Linux rules all OSes.    APSoft      ()
email: perry@apsoft.com 			Think Blue. /\

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/