[uClinux-dev] Re: [PATCH] FLAT: allow arches to declare a larger alignment than the slab

Paul Mundt lethal at linux-sh.org
Tue May 25 17:07:56 EDT 2010

On Tue, May 25, 2010 at 03:24:27PM -0400, Mike Frysinger wrote:
> This stems from the alignment usage in the FLAT loader.  The behavior
> before was that FLAT would default to ARCH_SLAB_MINALIGN only if it was
> defined, and this was only defined by arches when they wanted a larger
> alignment value.  Otherwise it'd default to pointer alignment.  Arguably,
> this is kind of hokey that the FLAT is semi-abusing defines it shouldn't.
This needs some explaining. What exactly do you find problematic with
ARCH_SLAB_MINALIGN in this case? For the case that was introduced leading
up to the wrapping of the minalign value it was absolutely the proper
thing to use. If blackfin has special alignment requirements on top of
that, then that's certainly fine, but it doesn't negate the validity of
the minalign wrapping for the other platforms.

>  /*
> - * User data (stack, data section and bss) needs to be aligned
> - * for the same reasons as SLAB memory is, and to the same amount.
> + * User data (stack, data section and bss) needs to be aligned.
> + * If ARCH_FLAT_DATA_ALIGN is defined, use it.
> + */

If you're going to update the comment, the update should at least serve
some purpose. This not only obscures the reason for the slab minalign
wrapping, it also fails to suggest why anyone would deviate from that.

If the intention is that ARCH_FLAT_DATA_ALIGN provides cacheline
alignment on blackfin, then use ARCH_KMALLOC_MINALIGN like everyone else.

More information about the uClinux-dev mailing list