Messages in this thread | | | Date | Fri, 9 May 2014 09:39:09 +0200 | From | Pavel Machek <> | Subject | Re: RFC: A reduced Linux network stack for small systems |
| |
> >> that is likely working only for the given very limited set of applications. > >> Kernel function profiling can potentially achieve the same thing. > >> Profile the kernel with the set of apps and then prune all cold > >> functions out of kernel. > > > > Right, and are Profile-Guided-Optimization results now reproduceable? > > Better change it to Trace-Guided-Optimization. But yeah, for a > > not quite. I'm saying: no extra optimizations, no GCC changes. > Compile kernel as-is. Most functions have a stub for mcount() already. > Use it to track whether kernel function was called or not. > Collect this data in userspace (as perf already does), add few > more functions that had 'notrace' attribute on them, and feed this into > special linker that unpacks existing vmlinux, throws away cold functions, > relocates the rest and here you have tiny vmlinux without recompilation.
It sounds like unstripped kernel will not even fit on the target machine. If it+application would fit there, you'd have no reason to strip it down...
Pavel
-- (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
| |