Re: [Lse-tech] Re: idle task's task_t allocation on NUMA machines

2005-08-18 Thread Andi Kleen
On Thu, Aug 18, 2005 at 10:02:55PM +0200, Samuel Thibault wrote: > Samuel Thibault, le Thu 18 Aug 2005 21:49:41 +0200, a ?crit : > > Eric Dumazet, le Thu 18 Aug 2005 17:18:55 +0200, a ?crit : > > > I believe IRQ stacks are also allocated on node 0, that seems more > > > serious. > > > > For the

Re: [Lse-tech] Re: idle task's task_t allocation on NUMA machines

2005-08-18 Thread Martin J. Bligh
--On Thursday, August 18, 2005 22:02:55 +0200 Samuel Thibault <[EMAIL PROTECTED]> wrote: > Samuel Thibault, le Thu 18 Aug 2005 21:49:41 +0200, a écrit : >> Eric Dumazet, le Thu 18 Aug 2005 17:18:55 +0200, a écrit : >> > I believe IRQ stacks are also allocated on node 0, that seems more

Re: idle task's task_t allocation on NUMA machines

2005-08-18 Thread Samuel Thibault
Samuel Thibault, le Thu 18 Aug 2005 21:49:41 +0200, a écrit : > Eric Dumazet, le Thu 18 Aug 2005 17:18:55 +0200, a écrit : > > I believe IRQ stacks are also allocated on node 0, that seems more serious. > > For the i386 architecture at least, yes: they are statically defined in >

Re: idle task's task_t allocation on NUMA machines

2005-08-18 Thread Samuel Thibault
Eric Dumazet, le Thu 18 Aug 2005 17:18:55 +0200, a écrit : > I believe IRQ stacks are also allocated on node 0, that seems more serious. For the i386 architecture at least, yes: they are statically defined in arch/i386/kernel/irq.c, while they could be per_cpu. Regards, Samuel - To unsubscribe

Re: idle task's task_t allocation on NUMA machines

2005-08-18 Thread Robin Holt
On Thu, Aug 18, 2005 at 04:08:29PM +0200, Samuel Thibault wrote: > A solution would be to add to copy_process(), dup_task_struct(), > alloc_task_struct() and kmem_cache_alloc() the node number on which > allocation should be performed. This might also be useful if performing > node load balancing

Re: idle task's task_t allocation on NUMA machines

2005-08-18 Thread Christoph Lameter
On Thu, 18 Aug 2005, Samuel Thibault wrote: > Indeed, but I guess there are a lot of such little optimizations here > and there that could be relatively easily fixed, for a not-so little > benefit. Get on it :-) I hope the kmalloc_node stuff etc that was recently added is enough for most

Re: idle task's task_t allocation on NUMA machines

2005-08-18 Thread Samuel Thibault
Eric Dumazet, le Thu 18 Aug 2005 17:18:55 +0200, a écrit : > An idle task should block itself, hence not touching its task_t structure > very much. Indeed, but I guess there are a lot of such little optimizations here and there that could be relatively easily fixed, for a not-so little benefit.

Re: idle task's task_t allocation on NUMA machines

2005-08-18 Thread Eric Dumazet
Samuel Thibault a écrit : Hi, Currently, the task_t structure of the idle task is always allocated on CPU0, hence on node 0: while booting, for each CPU, CPU 0 calls fork_idle(), hence copy_process(), hence dup_task_struct(), hence alloc_task_struct(), hence kmem_cache_alloc(), which picks up

idle task's task_t allocation on NUMA machines

2005-08-18 Thread Samuel Thibault
Hi, Currently, the task_t structure of the idle task is always allocated on CPU0, hence on node 0: while booting, for each CPU, CPU 0 calls fork_idle(), hence copy_process(), hence dup_task_struct(), hence alloc_task_struct(), hence kmem_cache_alloc(), which picks up memory from the allocation

idle task's task_t allocation on NUMA machines

2005-08-18 Thread Samuel Thibault
Hi, Currently, the task_t structure of the idle task is always allocated on CPU0, hence on node 0: while booting, for each CPU, CPU 0 calls fork_idle(), hence copy_process(), hence dup_task_struct(), hence alloc_task_struct(), hence kmem_cache_alloc(), which picks up memory from the allocation

Re: idle task's task_t allocation on NUMA machines

2005-08-18 Thread Eric Dumazet
Samuel Thibault a écrit : Hi, Currently, the task_t structure of the idle task is always allocated on CPU0, hence on node 0: while booting, for each CPU, CPU 0 calls fork_idle(), hence copy_process(), hence dup_task_struct(), hence alloc_task_struct(), hence kmem_cache_alloc(), which picks up

Re: idle task's task_t allocation on NUMA machines

2005-08-18 Thread Samuel Thibault
Eric Dumazet, le Thu 18 Aug 2005 17:18:55 +0200, a écrit : An idle task should block itself, hence not touching its task_t structure very much. Indeed, but I guess there are a lot of such little optimizations here and there that could be relatively easily fixed, for a not-so little benefit.

Re: idle task's task_t allocation on NUMA machines

2005-08-18 Thread Christoph Lameter
On Thu, 18 Aug 2005, Samuel Thibault wrote: Indeed, but I guess there are a lot of such little optimizations here and there that could be relatively easily fixed, for a not-so little benefit. Get on it :-) I hope the kmalloc_node stuff etc that was recently added is enough for most

Re: idle task's task_t allocation on NUMA machines

2005-08-18 Thread Robin Holt
On Thu, Aug 18, 2005 at 04:08:29PM +0200, Samuel Thibault wrote: A solution would be to add to copy_process(), dup_task_struct(), alloc_task_struct() and kmem_cache_alloc() the node number on which allocation should be performed. This might also be useful if performing node load balancing at

Re: idle task's task_t allocation on NUMA machines

2005-08-18 Thread Samuel Thibault
Eric Dumazet, le Thu 18 Aug 2005 17:18:55 +0200, a écrit : I believe IRQ stacks are also allocated on node 0, that seems more serious. For the i386 architecture at least, yes: they are statically defined in arch/i386/kernel/irq.c, while they could be per_cpu. Regards, Samuel - To unsubscribe

Re: idle task's task_t allocation on NUMA machines

2005-08-18 Thread Samuel Thibault
Samuel Thibault, le Thu 18 Aug 2005 21:49:41 +0200, a écrit : Eric Dumazet, le Thu 18 Aug 2005 17:18:55 +0200, a écrit : I believe IRQ stacks are also allocated on node 0, that seems more serious. For the i386 architecture at least, yes: they are statically defined in

Re: [Lse-tech] Re: idle task's task_t allocation on NUMA machines

2005-08-18 Thread Martin J. Bligh
--On Thursday, August 18, 2005 22:02:55 +0200 Samuel Thibault [EMAIL PROTECTED] wrote: Samuel Thibault, le Thu 18 Aug 2005 21:49:41 +0200, a écrit : Eric Dumazet, le Thu 18 Aug 2005 17:18:55 +0200, a écrit : I believe IRQ stacks are also allocated on node 0, that seems more serious. For

Re: [Lse-tech] Re: idle task's task_t allocation on NUMA machines

2005-08-18 Thread Andi Kleen
On Thu, Aug 18, 2005 at 10:02:55PM +0200, Samuel Thibault wrote: Samuel Thibault, le Thu 18 Aug 2005 21:49:41 +0200, a ?crit : Eric Dumazet, le Thu 18 Aug 2005 17:18:55 +0200, a ?crit : I believe IRQ stacks are also allocated on node 0, that seems more serious. For the i386