From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932130AbbDQTzl (ORCPT ); Fri, 17 Apr 2015 15:55:41 -0400 Received: from shards.monkeyblade.net ([149.20.54.216]:46652 "EHLO shards.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750865AbbDQTzj (ORCPT ); Fri, 17 Apr 2015 15:55:39 -0400 Date: Fri, 17 Apr 2015 15:55:32 -0400 (EDT) Message-Id: <20150417.155532.328134690699313472.davem@davemloft.net> To: dvlasenk@redhat.com Cc: eric.dumazet@gmail.com, ebiederm@xmission.com, jengelh@medozas.de, jpirko@redhat.com, linux-kernel@vger.kernel.org, netdev@vger.kernel.org Subject: Re: [PATCH] netns: deinline net_generic() From: David Miller In-Reply-To: <55313D4D.4050402@redhat.com> References: <552F9986.30207@redhat.com> <1429187895.7346.195.camel@edumazet-glaptop2.roam.corp.google.com> <55313D4D.4050402@redhat.com> X-Mailer: Mew version 6.6 on Emacs 24.5 / Mule 6.0 (HANACHIRUSATO) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.5.12 (shards.monkeyblade.net [149.20.54.216]); Fri, 17 Apr 2015 12:55:38 -0700 (PDT) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Denys Vlasenko Date: Fri, 17 Apr 2015 19:05:17 +0200 > 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). It is not indicative for it's overhead in what people actually make use of, which is what is actually important. Uninlining a static inline that basically does no more than index into an array is nothing more than pure folly. So please don't try to weasel your way out of accepting this basic fact. That's exactly the situation where the implementation of an abstraction via a static inline is exactly the thing to do.