[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <552D2C89.6080601@redhat.com>
Date: Tue, 14 Apr 2015 17:04:41 +0200
From: Denys Vlasenko <dvlasenk@...hat.com>
To: Eric Dumazet <eric.dumazet@...il.com>
CC: "David S. Miller" <davem@...emloft.net>,
"Eric W. Biederman" <ebiederm@...ssion.com>,
Jan Engelhardt <jengelh@...ozas.de>,
Jiri Pirko <jpirko@...hat.com>, linux-kernel@...r.kernel.org,
netdev@...r.kernel.org
Subject: Re: [PATCH] netns: deinline net_generic()
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 .config which generates a small function.
So far, with LOCKDEP off, it is still this big:
net_generic:
call __fentry__
pushq %rbp #
#APP
# 72 "./arch/x86/include/asm/preempt.h" 1
incl %gs:__preempt_count(%rip) # __preempt_count
# 0 "" 2
#NO_APP
movq %rsp, %rbp #,
pushq %r12 #
movq %rdi, %r12 # net, net
pushq %rbx #
movl %esi, %ebx # id, id
call rcu_lock_acquire.constprop.15 #
movq 4784(%r12), %rax # MEM[(struct net_generic * const volatile *)net_2(D) + 4784B], _________p1
decl %ebx # tmp65
movslq %ebx, %rbx # tmp65, tmp66
movq 24(%rax,%rbx,8), %rbx # _________p1_4->ptr, ptr
call rcu_read_unlock #
movq %rbx, %rax # ptr,
popq %rbx #
popq %r12 #
popq %rbp #
ret
Config is attached.
Download attachment "config.gz" of type "application/gzip" (44610 bytes)
Powered by blists - more mailing lists