Re: [RFD] Separating struct task and the kernel stacks

From: David Mosberger <davidm_at_napali.hpl.hp.com>
Date: 2005-06-11 03:20:30
>>>>> On Fri, 10 Jun 2005 18:13:41 +0100, Matthew Wilcox <matthew@wil.cx> said:

  Matthew> On Fri, Jun 10, 2005 at 08:11:42AM -0700, Christoph Lameter wrote:
  >> Using the slab allocator generates a certain amount of overhead during 
  >> process creation. I believe the page allocator would be faster. Also there 
  >> needs to be no separate allocation of memory for the stack.

  Matthew> While speed of process creation is certainly an important
  Matthew> benchmark, speed of scheduling is more important.  I was
  Matthew> under the impression that the reason x86 moved the
  Matthew> task_struct from the bottom of the stack to its own slab
  Matthew> was that the scheduler had bad cache effects due to all
  Matthew> task_structs being on the same 4k boundary.

That was only a secondary effect.  We can do task-coloring/"cache-line
randomization" for ia64 tasks without having to split them up (unlike
on x86, we have separate task and stack pointers and we never rely on
masking/alignment to compute one from the other, as is done on x86).

	--david
-
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Received on Fri Jun 10 13:21:06 2005

This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:39 EST