From: Paul Mundt <lethal@linux-sh.org>
To: Mike Frysinger <vapier.adi@gmail.com>
Cc: Jie Zhang <jie@codesourcery.com>,
Mike Frysinger <vapier@gentoo.org>,
uclinux-dev@uclinux.org, David Howells <dhowells@redhat.com>,
David McCullough <davidm@snapgear.com>,
Greg Ungerer <gerg@uclinux.org>,
uclinux-dist-devel@blackfin.uclinux.org,
microblaze-uclinux@itee.uq.edu.au,
Michal Simek <monstr@monstr.eu>,
linux-m32r@ml.linux-m32r.org,
Hirokazu Takata <takata@linux-m32r.org>,
linux-kernel@vger.kernel.org,
Yoshinori Sato <ysato@users.sourceforge.jp>
Subject: Re: [PATCH] FLAT: allow arches to declare a larger alignment than the slab
Date: Wed, 26 May 2010 16:48:55 +0900 [thread overview]
Message-ID: <20100526074855.GE26696@linux-sh.org> (raw)
In-Reply-To: <AANLkTinTbJ3yu9ElO32rnavnGwCrsItdDCl58KoeEW3j@mail.gmail.com>
On Tue, May 25, 2010 at 07:17:16PM -0400, Mike Frysinger wrote:
> FLAT is using ARCH_SLAB_MINALIGN to align the stack and align the data
> section. as such, Blackfin needs 4 byte alignment here. the previous
> FLAT behavior was "use arch slab sizes if defined, otherwise use
> sizeof(void*)". this worked fine for us size sizeof(void*) == 4.
>
> now with ARCH_SLAB_MINALIGN being in global space, this defaults to 0
> for us and the manual stack & data alignment no longer work.
>
> i'm a schlub when it comes to these allocators, so i know as much as
> the documentation states. slab_def.h says:
> * Enforce a minimum alignment for all caches.
> * Intended for archs that get misalignment faults even for BYTES_PER_WORD
> * aligned buffers.
>
> this comment does not seem to apply to Blackfin as BYTES_PER_WORD is 4
> and we can work with anything aligned to 4 bytes.
>
The comment here is a bit misleading, it's true that SLAB will happily
align to BYTES_PER_WORD as a default if nothing else is specified, but
it's also true that a growing number of structures contain 64-bit values
that need to be accessed on 64-bit boundaries on 32-bit platforms. If
this doesn't apply to blackfin then simply sticking with the default is
fine. SLAB/SLOB will align to 4 bytes while SLUB will presently align to
8.
> to be sure, we dont need 0x20 alignment in general. i just figured
> kill two birds with one patch here. and Blackfin is already setting
> ARCH_KMALLOC_MINALIGN to cacheline size, but that wouldnt make any
> difference in these issues.
I have no objections to adding a new alignment value for binfmt_flat, but
given the confusion that exists around things like ARCH_SLAB_MINALIGN and
ARCH_KMALLOC_MINALIGN already today it should be quite obvious what
exactly the new value is for and what case it is specifically addressing.
My guess is that the issues you are seeing with the gcc testsuite will
also pop up on other nommu platforms, so it may be something we want to
just deal with generically. At least I suspect you guys are running the
gcc testsuite a lot more frequently than the rest of us!
next prev parent reply other threads:[~2010-05-26 7:49 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-25 19:24 [PATCH] FLAT: allow arches to declare a larger alignment than the slab Mike Frysinger
2010-05-25 19:50 ` Geert Uytterhoeven
2010-05-25 21:07 ` Paul Mundt
2010-05-25 23:17 ` Mike Frysinger
2010-05-26 2:23 ` Jie Zhang
2010-05-26 6:59 ` Geert Uytterhoeven
2010-05-26 7:23 ` Mike Frysinger
2010-05-26 7:33 ` Paul Mundt
2010-05-26 7:36 ` Mike Frysinger
2010-05-26 7:36 ` Mike Frysinger
2010-05-26 7:48 ` Paul Mundt [this message]
2010-05-26 8:01 ` Mike Frysinger
2010-05-26 7:24 ` Michal Simek
2010-05-26 8:45 ` [PATCH 1/2 v2] FLAT: split the stack & data alignments Mike Frysinger
2010-05-27 8:24 ` Michal Simek
2010-05-27 18:30 ` [Uclinux-dist-devel] " Mike Frysinger
2010-05-27 23:15 ` [microblaze-uclinux] " David McCullough
2010-05-28 4:57 ` Mike Frysinger
2010-05-28 6:05 ` Mike Frysinger
2010-05-28 6:23 ` David McCullough
2010-05-28 6:40 ` Greg Ungerer
2010-05-26 8:45 ` [PATCH 2/2 v2] FLAT: tweak default stack alignment Mike Frysinger
2010-05-28 6:24 ` David McCullough
2010-05-28 6:39 ` Greg Ungerer
2010-06-06 7:12 ` [PATCH v3] " Mike Frysinger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100526074855.GE26696@linux-sh.org \
--to=lethal@linux-sh.org \
--cc=davidm@snapgear.com \
--cc=dhowells@redhat.com \
--cc=gerg@uclinux.org \
--cc=jie@codesourcery.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-m32r@ml.linux-m32r.org \
--cc=microblaze-uclinux@itee.uq.edu.au \
--cc=monstr@monstr.eu \
--cc=takata@linux-m32r.org \
--cc=uclinux-dev@uclinux.org \
--cc=uclinux-dist-devel@blackfin.uclinux.org \
--cc=vapier.adi@gmail.com \
--cc=vapier@gentoo.org \
--cc=ysato@users.sourceforge.jp \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).