Matt Mackall wrote:
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.
Absolutely.
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.
There are tools already around to do this sort of thing as well -
"profile directed optimization" or whatever they called it. Seems to be
fairly commonly done with userspace, but not with the kernel. I'm not
sure why not ... possibly because it's not available for gcc ?
M.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]