lkml.org 
[lkml]   [1998]   [Oct]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: 2.1.125 Show stopper list: Draft
Date
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/

\
 
 \ /
  Last update: 2005-03-22 13:45    [W:0.030 / U:0.364 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site