Re: [PATCH 1/2] alpha: use .data.init_task instead of .data.init_thread.

From: Richard Henderson
Date: Fri Jul 31 2009 - 19:31:07 EST


On 07/31/2009 03:02 PM, Tim Abbott wrote:
The INIT_TASK_DATA(THREAD_SIZE) macro call aligns to THREAD_SIZE (=
2*PAGE_SIZE). So I'm not removing the 2 page alignment; I'm just moving
it along with the code that needs to be aligned.

Sure.


This change:

- . = ALIGN(2 * PAGE_SIZE);
+ . = ALIGN(PAGE_SIZE);
__init_end = .;

removes the now-unnecessary (2 * PAGE_SIZE) alignment for __init_end
caused by moving .data.init_task (it should have been in the first patch).

While it's technically unnecessary, it's also very much desired.

Think about it. Suppose we have 9 pages of init, followed by the
two-page-aligned INIT_TASK_DATA. So we get a page worth of padding
added. It's better to have the two-page-alignment within the init
section so as to get 10 pages of init followed by no padding. In
this way the page of padding gets freed with the rest of init.

Are you following me at all here?


r~
--
To unsubscribe from this list: send the line "unsubscribe linux-alpha" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html