![]() | ||||||||||
Messages in this thread |
On Sun, 28 Dec 2003, Arnaldo Carvalho de Melo wrote: > > Please apply on top of your 2.6.0-tiny1 tree, CC to netdev for > eventual comments. Please don't do it this way. This is quite possibly faster even _normally_, so it might make more sense to just do it globally instead of having a CONFIG_NEX_SMALL. Basically, inline functions tend to win only when inlining them is smaller and simpler than actually calling a function. The most common cause of that is that some argument is commonly constant (and thus gets simplified away by inlining), or the function itself literally expands to just a few instructions (the list functions, the inline asms for things like "cli" etc). We use a lot too many inline functions for other reasons: one reason to use them is that they are sometimes more convenient than it is to find a good place for the non-inline version. Another common reason is that the thing started out smaller than it eventually became - and the inline just stuck around. But if you do things like this for a CONFIG_SMALL, then the convenience argument obviously isn't true any more, and you'd be a lot better off just unconditionally making it a real function call. Function calls aren't all that expensive, especially with FASTCALL() etc to show that you don't have to follow the common calling conventions. Right now I think FASTCALL() only matters on x86, but some other architectures could make it mean "smaller call clobbered list" or similar. Have you benchmarked with the smaller kernel? Linus - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ | |||||||||
| Last update: 2005-03-22 12:59 [from the cache] ©2003-2008 | ||||||||||