Re: [RFC] NUMA : could we introduce virt_to_nid() ?

From: Christoph Lameter
Date: Fri Mar 23 2007 - 10:51:07 EST


On Fri, 23 Mar 2007, Eric Dumazet wrote:

> Checking Christoph quicklist implementation, I found the same cache miss in free() than SLAB has.
>
> /* common implementation *
> int virt_to_nid(const void *addr)
> {
> struct page *page = virt_to_page(addr);
> return page_to_nid(page);
> }
>
> On some platforms (x86_64 for example), could we have a better
> implementation, not accessing struct page, but using phys_to_nid() ?

This is going to pollute the caches since we then use multiple ways to
determine the node of a page. Its better to stay with the same approach
for all pages. The page struct is used for many other purposes as well.
Its likely to be in the cpu cache.


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