On 04/16/2015 02:38 PM, Eric Dumazet wrote: > On Thu, 2015-04-16 at 13:14 +0200, Denys Vlasenko wrote: > >> However, without BUG_ONs, function is still a bit big >> on PREEMPT configs. > > Only on allyesconfig builds, that nobody use but to prove some points > about code size.
How do you expect one to find excessively large inlines, if not on allyesconfig build? Only by using allyesconfig, I can measure how many calls are there in the kernel. (grepping source is utterly unreliable due to nested inlines and macros). For the record: I am not using the _full_ allyesconfig, I do disable some debugging options which clearly aren't ever enabled on production systems. E.g. in my config: # CONFIG_DEBUG_KMEMLEAK_TEST is not set # CONFIG_KASAN is not set etc. > If you look at net_generic(), it is mostly used from code that is > normally in 3 modules. How many people really load them ? > > net/tipc : 91 call sites > net/sunrpc : 57 > fs/nfsd & fs/lockd : 183 > > Then few remaining uses in tunnels. Grepping is far from reliable. The above missed more than half of all calls. I disassembed vmlinux after deinlining, there are nearly 500 calls of net_generic(). > As we suggested, please just remove the BUG_ON(). Going to send the patch in a minute. -- vda -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html