Re: [MODSLAB 0/7] A modular slab allocator V1

From: Christoph Lameter
Date: Wed Aug 16 2006 - 17:47:47 EST


On Wed, 16 Aug 2006, Manfred Spraul wrote:

> Which .config settings are necessary? I tried to use it (uniprocessor, no
> debug options enabled), but the compilation failed. 2.6.18-rc4 kernel. All 7
> patches applied.

I only build it on IA64. Never tested it on another arch. What error
messages are you getting?

> And: Are you sure that the slabifier works on vmalloc ranges? The code uses
> virt_to_page(). Does that function work for vmalloc on all archs?

Hmm.... Not tried it just got minimal things going to have some numnbers.
You are right. A real virtual address to page translation for
vmalloc would involve going through the page tables. Seems that
virt_to_page that is used in get_object_page() does not do that.

In order to get vmalloc working we would need first to check the
address. If its in the vmalloc range then walk the page table and get
the struct page address that way. There is a function

vmalloc_to_page()

in mm/memory.c that would do that for us.

So we need to modify get_object_page() to check for a VMALLOC range
and then use vmalloc_to_page instead of virt_to_page.

-
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/