[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Large memory system
Hi,
On Wed, 10 Feb 1999 18:02:32 +0100, "Manfred Spraul"
<masp0008@stud.uni-sb.de> said:
> This was not intended as a solution, but as a new idea:
> - the memory > 1 GB is allocated one page at a time.
> - some 'struct page' fields are useless for high memory.
> - if someone who is not prepared to handle high memory finds such a page,
> the computer will crash anyway.
> - high memory needs bounce buffers, so a special if(highmem()) is
> required.
All of this is already in the design.
> ---> no need to use mem_map, add an independant array for high_mem.
No, it makes no sense at all to do this, because you'd have to
implement two separate page caches if you wanted both low-mem and
high-mem cached pages. It makes far, far more sense to simply expand
mem_map.
> The advantage is that you can add new fields to such an array (e.g. true
> LRU for a cache), without causing problems in the remaining kernel.
That's really not a problem. As long as we never hand out a high-mem
page to the kernel unless the kernel explicitly asks for one (for
anonymous pages or page cache), the kernel can never get so confused
anyway.
> If you restrict the remaining memory to unshared pages (i.e. no COW), then
> the implementation should be really simple:
There is no reason to make this restriction, COW is dead easy.
--Stephen
--
To unsubscribe, send a message with 'unsubscribe linux-mm my@address'
in the body to majordomo@kvack.org. For more info on Linux MM,
see: http://humbolt.geo.uu.nl/Linux-MM/