[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Big memory, no struct page allocation
William Lee Irwin III wrote:
>On Mon, 1 Jul 2002, David Chow wrote:
>
>
>>>In other words, even I have 2G physical memory, I cannot have benefits
>>>of using all memory for pagecache, this also means I cannot create any
>>>cache beyong a 1G size in kernel. That's a pitty for 32-bit systems,
>>>with himem, how does it work?
>>>
>>>
>
>On Mon, Jul 01, 2002 at 02:48:00PM -0300, Rik van Riel wrote:
>
>
>>Pagecache can use highmem just fine.
>>regards,
>>Rik
>>
>>
>
>Yes, pagecache doesn't care where it is, it just works with the
>struct pages for the memory. Things that are more internal like
>dcache and buffer cache need to be allocated from ZONE_NORMAL,
>as the kernel actually touches that memory directly.
>
>
>Cheers,
>Bill
>
>
Thanks for advice, that means allocation of slab cache never gets over
1G? Since you mention dcache, where dcache uses kmem_cache_create()
calls, or it depends on the flags pass to kmem_cache_create()? What
about kmalloc()?
Since before access a page, we have to do kmap(page), how does this
pointer address work? I found that if my machine have less than physical
1G RAM (actually somewhere between 900-940M), I don't have to call
kmap() before really accessing the page data, if more than this amount
of memory, it will result an oops. It seems for system that has more
than 900M memory, kernel handle page data differently (need to use kmap
before accessing the page data). Is it true that kmap only translate the
page into a virtual address if more than 1G RAM or leave it physical is
less than 1G RAM? I am a bit confuse in this behaviour of kmap().
regards,
David
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/