Re: [RFC, PATCH] SLAB : [NUMA] keep nodeid in struct page insteadof struct slab

From: Eric Dumazet
Date: Wed Mar 21 2007 - 11:55:42 EST


On Wed, 21 Mar 2007 17:47:13 +0200
"Pekka Enberg" <penberg@xxxxxxxxxxxxxx> wrote:

> On 3/21/07, Eric Dumazet <dada1@xxxxxxxxxxxxx> wrote:
> > Last time I checked 'struct page', they was no nodeid in it.
>
> Hmm, page_to_nid() in include/linx/mm.h doesn't agree with you:
>
> #ifdef NODE_NOT_IN_PAGE_FLAGS
> extern int page_to_nid(struct page *page);
> #else
> static inline int page_to_nid(struct page *page)
> {
> return (page->flags >> NODES_PGSHIFT) & NODES_MASK;
> }
> #endif
>

Correct, but still another ifdef NODE_NOT_IN_PAGE_FLAGS

Anyway the correct path is to check GFP_THISNODE stuff, because we can
even avoid access to 'struct page' to get the nodeid, at least on x86_64 NUMA,
where struct memnode can provide the information with less cache footprint.

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