Messages in this thread | | | From | Perry Harrington <> | Subject | Re: 2.1.125 Show stopper list: Draft | Date | 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/
| |