On Mon, May 4, 2009 at 12:32, Tim Abbott wrote:> On Mon, 4 May 2009, Sam Ravnborg wrote:>> +#define RW_DATA_SECTION(page_align, readmostly_align, cache_align,>> inittask_align) \>> + . = ALIGN(PAGE_SIZE); \>> + .data : AT(ADDR(.data) - LOAD_OFFSET) { \>> + DATA_DATA \>> + CONSTRUCTORS \>> + NOSAVE_DATA \>> + PAGE_ALIGNED_DATA(page_align) \>> + READMOSTLY_DATA(readmostly_align) \>> + CACHELINE_ALIGNED_DATA(cache_align) \>> + INIT_TASK(inittask_align) \>> + }>> How did you pick the order of the sections here? I would think that to> pack the .data section efficiently, you'd want to sort by alignment> requirements so that e.g. all the at-least-page aligned sections are> adjacent (INIT_TASK and the page-aligned sections are separated by some> much smaller aligments here). if this were actually the case, there should of course be some /*comments */ above the define explaining that the order wasntarbitrarily pulled like a rabbit from an orifice. if you'rescratching your head, then there's going to be plenty more people whonever ask but treat it like untouchable voodoo.-mike��.n��������+%������w��{.n�����{�����ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f