| From: |
| KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> |
| To: |
| LKML <linux-kernel@vger.kernel.org> |
| Subject: |
| [RFC] [PATCH] virtual memmap on sparsemem v3 [0/4] introduction |
| Date: |
| Fri, 8 Dec 2006 15:56:08 +0900 |
| Cc: |
| Christoph Lameter <clameter@engr.sgi.com>, Andy <apw@shadowen.org>,
Andrew Morton <akpm@osdl.org> |
Hi, virtual mem_map on sparsemem/generic patch version 3.
I myself likes this patch.
But someone may feels this patch is intrusive and scattered.
please pointing out.
Changes v2 -> v3
- make map/unmap function for general purpose. (for my purpose ;)
- drop memory hotplug support. will be posted after this goes in.
- change pfn_to_page()/page_to_pfn() defintions.
- add CONFIT_SPARSEMEM_VMEMMAP_STATIC config.
- several clean ups.
- drop optimized pfn_valid() patch will be posted later after this goes in.
- add #error to check vmem_map alignment.
Changes v1 -> v2:
- support memory hotplug case.
- uses static address for vmem_map (ia64)
- added optimized pfn_valid() for ia64 (experimental)
Intro:
When using SPARSEMEM, pfn_to_page()/page_to_pfn() accesses global big table
of mem_section. if SPARSEMEM_EXTREME, this is 2-level table lookup.
If we can map mem_section->mem_map in (virtually) linear address, we can expect
optimzed pfn <-> page translation.
Virtual mem_map is not useful for 32bit archs. This uses huge virtual
address range.
-Kame