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

From: Eric Dumazet
Date: Fri Mar 23 2007 - 09:53:40 EST


On Fri, 23 Mar 2007 14:48:24 +0200
"Pekka Enberg" <penberg@xxxxxxxxxxxxxx> wrote:

> On 3/23/07, Eric Dumazet <dada1@xxxxxxxxxxxxx> 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() ?
>
> Sounds good to me. At least cache_free_alien() in mm/slab.c to should
> be converted to use it.
>

Not yet :(

Because in slab we currently need virt_to_slab(addr)->nodeid, not page_to_nid(virt_to_page(addr))

It might be different, according to Christoph
-
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/