Re: [PATCH] Run PCI driver initialization on local node

2005-07-07 Thread Andi Kleen
> > > Only kmalloc_node will make a reasonable attempt to locate the memory on > > > a specific node. > > > > You forgot __get_free_pages. > > The slab allocator uses alloc_pages and alloc_pages_node alloc_pages is NUMA aware. __get_free_pages is just a wrapper for it. -Andi - To unsubscribe f

Re: [PATCH] Run PCI driver initialization on local node

2005-07-07 Thread Christoph Lameter
On Thu, 7 Jul 2005, Andi Kleen wrote: > > The slab allocator will do the right thing with the numa slab allocator in > > Andrew's tree but not with the one in Linus'tree. The one is Linus tree > > will just pickup whatever slab is available irregardless of the node. > > It should usually do the

Re: [PATCH] Run PCI driver initialization on local node

2005-07-07 Thread Andi Kleen
On Wed, Jul 06, 2005 at 12:33:51PM -0700, Christoph Lameter wrote: > On Wed, 6 Jul 2005, Andi Kleen wrote: > > > > That depends on the architecture. Some do round robin allocs for periods > > > of time during bootup. I think it is better to explicitly place control > > > > slab will usually do

Re: [PATCH] Run PCI driver initialization on local node

2005-07-06 Thread Christoph Lameter
On Wed, 6 Jul 2005, Andi Kleen wrote: > Instead of adding messy kmalloc_node()s everywhere run the > PCI driver probe on the node local to the device. > Then the normal NUMA aware allocators do the right thing. That depends on the architecture. Some do round robin allocs for periods of time dur

Re: [PATCH] Run PCI driver initialization on local node

2005-07-06 Thread Christoph Lameter
On Wed, 6 Jul 2005, Andi Kleen wrote: > On Wed, Jul 06, 2005 at 09:35:32AM -0700, Christoph Lameter wrote: > > On Wed, 6 Jul 2005, Andi Kleen wrote: > > > > > Instead of adding messy kmalloc_node()s everywhere run the > > > PCI driver probe on the node local to the device. > > > Then the normal

Re: [PATCH] Run PCI driver initialization on local node

2005-07-06 Thread Andi Kleen
On Wed, Jul 06, 2005 at 09:35:32AM -0700, Christoph Lameter wrote: > On Wed, 6 Jul 2005, Andi Kleen wrote: > > > Instead of adding messy kmalloc_node()s everywhere run the > > PCI driver probe on the node local to the device. > > Then the normal NUMA aware allocators do the right thing. > > That

Re: [PATCH] Run PCI driver initialization on local node

2005-07-06 Thread Andi Kleen
On Wed, Jul 06, 2005 at 11:01:14AM -0700, Christoph Lameter wrote: > On Wed, 6 Jul 2005, Andi Kleen wrote: > > > On Wed, Jul 06, 2005 at 09:35:32AM -0700, Christoph Lameter wrote: > > > On Wed, 6 Jul 2005, Andi Kleen wrote: > > > > > > > Instead of adding messy kmalloc_node()s everywhere run the

Re: [PATCH] Run PCI driver initialization on local node

2005-07-06 Thread Christoph Lameter
On Wed, 6 Jul 2005, Andi Kleen wrote: > > > Patching every driver in existence? That sounds like a lot of > > > work. > > > > No just patch those that would benefit from it. The existing > > This would be "all devices that SGI ships on Altixes" ? Anyone can patch devices drivers. High perform

Re: [PATCH] Run PCI driver initialization on local node

2005-07-06 Thread Christoph Lameter
On Wed, 6 Jul 2005, Andi Kleen wrote: > > GFP allocs may not do the right thing. If you want to do this then it > > may be best to set the memory policy to restrict allocations to the node > > on which the device resides. > > They will do the right thing. Under memory pressue on the node > it

Re: [PATCH] Run PCI driver initialization on local node

2005-07-06 Thread Christoph Lameter
On Wed, 6 Jul 2005, Andi Kleen wrote: > > That depends on the architecture. Some do round robin allocs for periods > > of time during bootup. I think it is better to explicitly place control > > slab will usually do the right thing because it has a forced > local node policy, but __gfp might no

[PATCH] Run PCI driver initialization on local node

2005-07-06 Thread Andi Kleen
Run PCI driver initialization on local node Instead of adding messy kmalloc_node()s everywhere run the PCI driver probe on the node local to the device. Then the normal NUMA aware allocators do the right thing. This would not have helped for IDE, but should for other more clean drivers that do