Messages in this thread | | | Date | Tue, 20 Mar 2007 17:18:04 -0700 (PDT) | From | Christoph Lameter <> | Subject | Re: [RFC] SLAB : NUMA cache_free_alien() very expensive because of virt_to_slab(objp); nodeid = slabp->nodeid; |
| |
On Tue, 20 Mar 2007, Andi Kleen wrote:
> > > Is it possible virt_to_slab(objp)->nodeid being different from pfn_to_nid(objp) ? > > > > It is possible the page allocator falls back to another node than > > requested. We would need to check that this never occurs. > > The only way to ensure that would be to set a strict mempolicy. > But I'm not sure that's a good idea -- after all you don't want > to fail an allocation in this case. > > But pfn_to_nid on the object like proposed by Eric should work anyways. > But I'm not sure the tables used for that will be more often cache hot > than the slab.
We usually use page_to_nid(). Sure this will determine the node the object resides on. But this may not be the node on which the slab is tracked since there may have been a fallback at alloc time.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |