Re: [PATCH] netns: deinline net_generic()

2015-04-17 Thread David Miller
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

Re: [PATCH] netns: deinline net_generic()

2015-04-17 Thread David Miller
From: Eric Dumazet Date: Fri, 17 Apr 2015 10:42:16 -0700 > On Fri, 2015-04-17 at 19:05 +0200, Denys Vlasenko wrote: > >> How do you expect one to find excessively large inlines, >> if not on allyesconfig build? > > Tuning kernel sources based on allyesconfig build _size_ only is > terrible. We

Re: [PATCH] netns: deinline net_generic()

2015-04-17 Thread Denys Vlasenko
On 04/17/2015 07:42 PM, Eric Dumazet wrote: > On Fri, 2015-04-17 at 19:05 +0200, Denys Vlasenko wrote: >> How do you expect one to find excessively large inlines, >> if not on allyesconfig build? > > Tuning kernel sources based on allyesconfig build _size_ only is > terrible. We could build an

Re: [PATCH] netns: deinline net_generic()

2015-04-17 Thread Eric Dumazet
On Fri, 2015-04-17 at 19:05 +0200, Denys Vlasenko wrote: > How do you expect one to find excessively large inlines, > if not on allyesconfig build? Tuning kernel sources based on allyesconfig build _size_ only is terrible. We could build an interpreter based kernel and maybe reduce its size by

Re: [PATCH] netns: deinline net_generic()

2015-04-17 Thread Denys Vlasenko
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

Re: [PATCH] netns: deinline net_generic()

2015-04-17 Thread Eric Dumazet
On Fri, 2015-04-17 at 19:05 +0200, Denys Vlasenko wrote: How do you expect one to find excessively large inlines, if not on allyesconfig build? Tuning kernel sources based on allyesconfig build _size_ only is terrible. We could build an interpreter based kernel and maybe reduce its size by 50%

Re: [PATCH] netns: deinline net_generic()

2015-04-17 Thread Denys Vlasenko
On 04/17/2015 07:42 PM, Eric Dumazet wrote: On Fri, 2015-04-17 at 19:05 +0200, Denys Vlasenko wrote: How do you expect one to find excessively large inlines, if not on allyesconfig build? Tuning kernel sources based on allyesconfig build _size_ only is terrible. We could build an

Re: [PATCH] netns: deinline net_generic()

2015-04-17 Thread Denys Vlasenko
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

Re: [PATCH] netns: deinline net_generic()

2015-04-17 Thread David Miller
From: Eric Dumazet eric.duma...@gmail.com Date: Fri, 17 Apr 2015 10:42:16 -0700 On Fri, 2015-04-17 at 19:05 +0200, Denys Vlasenko wrote: How do you expect one to find excessively large inlines, if not on allyesconfig build? Tuning kernel sources based on allyesconfig build _size_ only is

Re: [PATCH] netns: deinline net_generic()

2015-04-17 Thread David Miller
From: Denys Vlasenko dvlas...@redhat.com 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

Re: [PATCH] netns: deinline net_generic()

2015-04-16 Thread David Miller
From: Denys Vlasenko Date: Thu, 16 Apr 2015 13:14:14 +0200 > It would help if you tell me how I should change the patches. Why ask Eric when I told you exactly how to change the patch to make it acceptable, so please do so. -- To unsubscribe from this list: send the line "unsubscribe

Re: [PATCH] netns: deinline net_generic()

2015-04-16 Thread Eric Dumazet
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. If you look at net_generic(), it is mostly used from code that is

Re: [PATCH] netns: deinline net_generic()

2015-04-16 Thread Denys Vlasenko
Hi David, Eric, As you may have surmised, this patch wasn't a result of me looking at networking code; rather, it is a result of semi-automated search for huge inlines. The last step of this process would be the submission of patches. I am expecting a range of responses from maintainers:

Re: [PATCH] netns: deinline net_generic()

2015-04-16 Thread Eric Dumazet
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. If you look at net_generic(), it is mostly used from code that is normally

Re: [PATCH] netns: deinline net_generic()

2015-04-16 Thread Denys Vlasenko
Hi David, Eric, As you may have surmised, this patch wasn't a result of me looking at networking code; rather, it is a result of semi-automated search for huge inlines. The last step of this process would be the submission of patches. I am expecting a range of responses from maintainers:

Re: [PATCH] netns: deinline net_generic()

2015-04-16 Thread David Miller
From: Denys Vlasenko dvlas...@redhat.com Date: Thu, 16 Apr 2015 13:14:14 +0200 It would help if you tell me how I should change the patches. Why ask Eric when I told you exactly how to change the patch to make it acceptable, so please do so. -- To unsubscribe from this list: send the line

Re: [PATCH] netns: deinline net_generic()

2015-04-14 Thread David Miller
From: Denys Vlasenko Date: Tue, 14 Apr 2015 14:25:11 +0200 > On x86 allyesconfig build: > The function compiles to 130 bytes of machine code. > It has 493 callsites. > Total reduction of vmlinux size: 27906 bytes. > >textdata bss dec hex filename > 82447071

Re: [PATCH] netns: deinline net_generic()

2015-04-14 Thread Eric Dumazet
On Tue, 2015-04-14 at 17:04 +0200, Denys Vlasenko wrote: > On 04/14/2015 04:21 PM, Eric Dumazet wrote: > > On Tue, 2015-04-14 at 15:57 +0200, Denys Vlasenko wrote: > > > >> My allyesconfig, with BUG_ON's commented out: > >> > > > > Right. But I can tell you nobody uses lockdep on a production

Re: [PATCH] netns: deinline net_generic()

2015-04-14 Thread Denys Vlasenko
On 04/14/2015 04:21 PM, Eric Dumazet wrote: > On Tue, 2015-04-14 at 15:57 +0200, Denys Vlasenko wrote: > >> My allyesconfig, with BUG_ON's commented out: >> > > Right. But I can tell you nobody uses lockdep on a production kernel. > > Here, at Google, we get what I described. I'm trying to get

Re: [PATCH] netns: deinline net_generic()

2015-04-14 Thread Eric Dumazet
On Tue, 2015-04-14 at 15:57 +0200, Denys Vlasenko wrote: > My allyesconfig, with BUG_ON's commented out: > Right. But I can tell you nobody uses lockdep on a production kernel. Here, at Google, we get what I described. -- To unsubscribe from this list: send the line "unsubscribe

Re: [PATCH] netns: deinline net_generic()

2015-04-14 Thread Denys Vlasenko
On 04/14/2015 03:19 PM, Eric Dumazet wrote: > On Tue, 2015-04-14 at 14:25 +0200, Denys Vlasenko wrote: >> On x86 allyesconfig build: >> The function compiles to 130 bytes of machine code. >> It has 493 callsites. >> Total reduction of vmlinux size: 27906 bytes. >> >>text data

Re: [PATCH] netns: deinline net_generic()

2015-04-14 Thread Eric Dumazet
On Tue, 2015-04-14 at 14:25 +0200, Denys Vlasenko wrote: > On x86 allyesconfig build: > The function compiles to 130 bytes of machine code. > It has 493 callsites. > Total reduction of vmlinux size: 27906 bytes. > >textdata bss dec hex filename > 82447071 22255384

Re: [PATCH] netns: deinline net_generic()

2015-04-14 Thread Jiri Pirko
Tue, Apr 14, 2015 at 02:25:11PM CEST, dvlas...@redhat.com wrote: >On x86 allyesconfig build: >The function compiles to 130 bytes of machine code. >It has 493 callsites. >Total reduction of vmlinux size: 27906 bytes. Hmm. That is not much. How about performance impacts? > > text

[PATCH] netns: deinline net_generic()

2015-04-14 Thread Denys Vlasenko
On x86 allyesconfig build: The function compiles to 130 bytes of machine code. It has 493 callsites. Total reduction of vmlinux size: 27906 bytes. text data bss dec hex filename 82447071 22255384 20627456 125329911 77861f7 vmlinux4 82419165 22255384 20627456 125302005

[PATCH] netns: deinline net_generic()

2015-04-14 Thread Denys Vlasenko
On x86 allyesconfig build: The function compiles to 130 bytes of machine code. It has 493 callsites. Total reduction of vmlinux size: 27906 bytes. text data bss dec hex filename 82447071 22255384 20627456 125329911 77861f7 vmlinux4 82419165 22255384 20627456 125302005

Re: [PATCH] netns: deinline net_generic()

2015-04-14 Thread Eric Dumazet
On Tue, 2015-04-14 at 14:25 +0200, Denys Vlasenko wrote: On x86 allyesconfig build: The function compiles to 130 bytes of machine code. It has 493 callsites. Total reduction of vmlinux size: 27906 bytes. textdata bss dec hex filename 82447071 22255384 20627456

Re: [PATCH] netns: deinline net_generic()

2015-04-14 Thread Eric Dumazet
On Tue, 2015-04-14 at 15:57 +0200, Denys Vlasenko wrote: My allyesconfig, with BUG_ON's commented out: Right. But I can tell you nobody uses lockdep on a production kernel. Here, at Google, we get what I described. -- To unsubscribe from this list: send the line unsubscribe linux-kernel in

Re: [PATCH] netns: deinline net_generic()

2015-04-14 Thread David Miller
From: Denys Vlasenko dvlas...@redhat.com Date: Tue, 14 Apr 2015 14:25:11 +0200 On x86 allyesconfig build: The function compiles to 130 bytes of machine code. It has 493 callsites. Total reduction of vmlinux size: 27906 bytes. textdata bss dec hex filename

Re: [PATCH] netns: deinline net_generic()

2015-04-14 Thread Eric Dumazet
On Tue, 2015-04-14 at 17:04 +0200, Denys Vlasenko wrote: On 04/14/2015 04:21 PM, Eric Dumazet wrote: On Tue, 2015-04-14 at 15:57 +0200, Denys Vlasenko wrote: My allyesconfig, with BUG_ON's commented out: Right. But I can tell you nobody uses lockdep on a production kernel.

Re: [PATCH] netns: deinline net_generic()

2015-04-14 Thread Denys Vlasenko
On 04/14/2015 04:21 PM, Eric Dumazet wrote: On Tue, 2015-04-14 at 15:57 +0200, Denys Vlasenko wrote: My allyesconfig, with BUG_ON's commented out: Right. But I can tell you nobody uses lockdep on a production kernel. Here, at Google, we get what I described. I'm trying to get to the

Re: [PATCH] netns: deinline net_generic()

2015-04-14 Thread Denys Vlasenko
On 04/14/2015 03:19 PM, Eric Dumazet wrote: On Tue, 2015-04-14 at 14:25 +0200, Denys Vlasenko wrote: On x86 allyesconfig build: The function compiles to 130 bytes of machine code. It has 493 callsites. Total reduction of vmlinux size: 27906 bytes. text data bss dec

Re: [PATCH] netns: deinline net_generic()

2015-04-14 Thread Jiri Pirko
Tue, Apr 14, 2015 at 02:25:11PM CEST, dvlas...@redhat.com wrote: On x86 allyesconfig build: The function compiles to 130 bytes of machine code. It has 493 callsites. Total reduction of vmlinux size: 27906 bytes. Hmm. That is not much. How about performance impacts? text data