Re: [PATCH v2 0/6] macros for section name cleanup
From: Sam Ravnborg
Date: Mon May 04 2009 - 13:52:28 EST
On Mon, May 04, 2009 at 01:42:08PM -0400, Mike Frysinger wrote:
> 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 wasnt
> arbitrarily pulled like a rabbit from an orifice. if you're
> scratching your head, then there's going to be plenty more people who
> never ask but treat it like untouchable voodoo.
Point taken (from both of you).
I will try to document the order in next version.
In reality I just picked the order used for 32 bit x86 IIRC.
Sam
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/