Re: [PATCH] Document huge memory/cache overhead of memory controllerin Kconfig

From: Balbir Singh
Date: Thu Feb 21 2008 - 00:11:42 EST


Nick Piggin wrote:
> On Wednesday 20 February 2008 23:52, Balbir Singh wrote:
>> Andi Kleen wrote:
>>> Document huge memory/cache overhead of memory controller in Kconfig
>>>
>>> I was a little surprised that 2.6.25-rc* increased struct page for the
>>> memory controller. At least on many x86-64 machines it will not fit into
>>> a single cache line now anymore and also costs considerable amounts of
>>> RAM.
>> The size of struct page earlier was 56 bytes on x86_64 and with 64 bytes it
>> won't fit into the cacheline anymore? Please also look at
>> http://lwn.net/Articles/234974/
>
> BTW. We'll probably want to increase the width of some counters
> in struct page at some point for 64-bit, so then it really will
> go over with the memory controller!
>

Hmm...

> Actually, an external data structure is a pretty good idea. We
> could probably do it easily with a radix tree (pfn->memory
> controller). And that might be a better option for distros.
>

I'll put in my long list of TODOs. I started looking at it yesterday again and
here are my early thoughts

1. We could create something similar to mem_map, we would need to handle 4
different ways of creating mem_map.
2. On x86 with 64 GB ram, if we decided to use vmalloc space, we would need 64
MB of vmalloc'ed memory

I have not explored your latest suggestion of pfn <-> memory controller mapping
yet. I'll explore it and see how that goes.

--
Warm Regards,
Balbir Singh
Linux Technology Center
IBM, ISTL
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/