ARM: 6341/1: unwind - optimise linked-list searches for modules
authorPhil Carmody <ext-phil.2.carmody@nokia.com>
Thu, 19 Aug 2010 14:20:37 +0000 (15:20 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Thu, 2 Sep 2010 14:31:36 +0000 (15:31 +0100)
commit5333a3de3cdd739ec4f6d501f5f6d09bab7ff919
tree3c3c2a746c219660f1401f1172d1bdfee3d8a931
parent09e56a2d076c2afb2a1932ae4283e10ef2d26ef3
ARM: 6341/1: unwind - optimise linked-list searches for modules

With several sections per module, and dozens of modules, the
searches down the linked list of sections would dominate the
lookup time, dwarfing any savings from the binary search
within the section.

A simple move-to-front optimisation exploits the commonality
of the code paths taken, and in simple real-world tests reduces
the number of steps in the search to barely more than 1.

Signed-off-by: Phil Carmody <ext-phil.2.carmody@nokia.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/kernel/unwind.c