From: Mike Frysinger <vapier@gentoo.org>
To: David Daney <ddaney.cavm@gmail.com>
Cc: linux-mips@linux-mips.org, ralf@linux-mips.org,
linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org,
linux-embedded@vger.kernel.org, x86@kernel.org,
David Daney <david.daney@cavium.com>
Subject: Re: [PATCH RFC 0/5] Speed booting by sorting exception tables at build time.
Date: Sun, 20 Nov 2011 18:10:29 -0500 [thread overview]
Message-ID: <201111201810.31468.vapier@gentoo.org> (raw)
In-Reply-To: <1321645068-20475-1-git-send-email-ddaney.cavm@gmail.com>
[-- Attachment #1: Type: Text/Plain, Size: 1256 bytes --]
On Friday 18 November 2011 14:37:43 David Daney wrote:
> I noticed when booting MIPS64 kernels that sorting of the main
> __ex_table was taking a long time (2,692,220 cycles or 3.3 mS at
> 800MHz to be exact). That is not too bad for real silicon
> implementations, but when running on a slow simulator, it can be
> significant.
i've seen this perf hit in my simulation runs too
> Here is more or less what I did:
>
> o A flag word is added to the kernel to indicate that the __ex_table
> is already sorted. sort_main_extable() checks this and if it is
> clear, returns without doing the sort.
>
> o I shamelessly stole code from recordmcount and created a new build
> time helper program 'sortextable'. This is run on the final vmlinux
> image, it sorts the table, and then clears the flag word.
>
> Potential areas for improvement:
>
> o Sort module exception tables too.
>
> o Get rit of the flag word, and assume that if an architecture supports
> build time sorting, that it must have been done.
>
> o Add support for architectures other than MIPS and x86
i don't see much here that is arch-specific. why have a knob at all ? let's
just jump in with both feet and do this for everyone :).
-mike
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
prev parent reply other threads:[~2011-11-20 23:10 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-11-18 19:37 [PATCH RFC 0/5] Speed booting by sorting exception tables at build time David Daney
2011-11-18 19:37 ` [PATCH RFC 1/5] scripts: Add sortextable to sort the kernel's exception table David Daney
2011-11-20 23:22 ` Mike Frysinger
2011-11-21 18:25 ` David Daney
2011-11-21 18:50 ` Mike Frysinger
2011-11-21 19:16 ` David Daney
2011-11-21 20:08 ` Mike Frysinger
2011-11-20 23:26 ` H. Peter Anvin
2011-11-20 23:27 ` H. Peter Anvin
2011-11-20 23:28 ` David Woodhouse
2011-11-20 23:30 ` H. Peter Anvin
2011-11-21 18:51 ` David Daney
2011-11-18 19:37 ` [PATCH RFC 2/5] extable: Skip sorting if sorted at build time David Daney
2011-11-18 19:37 ` [PATCH RFC 3/5] kbuild/extable: Hook up sortextable into the build system David Daney
2011-11-20 13:45 ` Michal Marek
2011-11-22 21:38 ` David Daney
2011-11-18 19:37 ` [PATCH RFC 4/5] MIPS: Select BUILDTIME_EXTABLE_SORT David Daney
2011-11-18 19:37 ` [PATCH RFC 5/5] x86: " David Daney
2011-11-20 23:10 ` Mike Frysinger [this message]
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=201111201810.31468.vapier@gentoo.org \
--to=vapier@gentoo.org \
--cc=david.daney@cavium.com \
--cc=ddaney.cavm@gmail.com \
--cc=linux-arch@vger.kernel.org \
--cc=linux-embedded@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mips@linux-mips.org \
--cc=ralf@linux-mips.org \
--cc=x86@kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.