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
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 :).
Description: This is a digitally signed message part.