On Thu, Jan 05, 2006 at 01:19:12PM +0100, Arjan van de Ven wrote:
What would be nice to do is pack all the frequently used code together in close proximity. Would probably have much larger effects with userspace code, esp where we touch disk (which is more page-size granularity), but is probably worth doing with kernel code too (where AFAICS we'd only get cacheline granular).
in the kernel we could make a .text.rare section for functions, which we
could annotate with __rare.
The other way around, __fastpath or whatever is a bad idea, everyone
will consider all of their own functions as such (just like inline ;)...
go-fast-stripes all the way :-(
Gah, we don't want to do this by hand in either direction. It's the
inline nightmare all over again.
It'd be better to take a tool like oprofile and run it against some
test suite to generate a usage map, then re-sort based on the map.
Then ship a "standard" map in the stock tarball. Note that the map
need only list the popular functions.
The ideal sampling tool can collect second order information: which
functions are executed near each other as well as which are executed
most frequently.