From: Ingo Molnar <mingo-X9Un+BFzKDI@public.gmane.org>
To: Linus Torvalds
<torvalds-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
Cc: Eric Dumazet <dada1-fPLkHRcR87vqlBn2x/YWAg@public.gmane.org>,
David Miller <davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>,
rjw-KKrjLPT3xs0@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
kernel-testers-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
cl-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org,
efault-Mmb7MZpHnFY@public.gmane.org,
a.p.zijlstra-/NLkJaSkS4VmR6Xm/wNWPw@public.gmane.org,
Stephen Hemminger
<shemminger-ZtmgI6mnKB3QT0dZR+AlfA@public.gmane.org>
Subject: tcp_recvmsg(): Re: [Bug #11308] tbench regression on each kernel release from 2.6.22 -> 2.6.28
Date: Mon, 17 Nov 2008 22:19:20 +0100 [thread overview]
Message-ID: <20081117211920.GG12020@elte.hu> (raw)
In-Reply-To: <20081117184951.GA5585-X9Un+BFzKDI@public.gmane.org>
* Ingo Molnar <mingo-X9Un+BFzKDI@public.gmane.org> wrote:
> 100.000000 total
> ................
> 1.833688 tcp_recvmsg
hits (total: 183368)
.........
ffffffff804bd46e: 882 <tcp_recvmsg>:
ffffffff804bd46e: 882 41 57 push %r15
ffffffff804bd470: 15507 48 89 f7 mov %rsi,%rdi
ffffffff804bd473: 179 41 56 push %r14
ffffffff804bd475: 0 49 89 ce mov %rcx,%r14
ffffffff804bd478: 744 41 55 push %r13
ffffffff804bd47a: 165 41 54 push %r12
ffffffff804bd47c: 0 45 89 c4 mov %r8d,%r12d
ffffffff804bd47f: 692 55 push %rbp
ffffffff804bd480: 178 44 89 cd mov %r9d,%ebp
ffffffff804bd483: 3434 53 push %rbx
ffffffff804bd484: 685 48 89 f3 mov %rsi,%rbx
ffffffff804bd487: 11 48 83 ec 68 sub $0x68,%rsp
ffffffff804bd48b: 949 48 89 54 24 30 mov %rdx,0x30(%rsp)
ffffffff804bd490: 7 e8 e8 e8 ff ff callq ffffffff804bbd7d <lock_sock>
ffffffff804bd495: 1771 8a 43 02 mov 0x2(%rbx),%al
ffffffff804bd498: 6176 3c 0a cmp $0xa,%al
ffffffff804bd49a: 0 0f 84 3a 06 00 00 je ffffffff804bdada <tcp_recvmsg+0x66c>
ffffffff804bd4a0: 3121 31 c0 xor %eax,%eax
ffffffff804bd4a2: 195 45 85 e4 test %r12d,%r12d
ffffffff804bd4a5: 0 75 07 jne ffffffff804bd4ae <tcp_recvmsg+0x40>
ffffffff804bd4a7: 926 48 8b 83 68 01 00 00 mov 0x168(%rbx),%rax
ffffffff804bd4ae: 189 40 f6 c5 01 test $0x1,%bpl
ffffffff804bd4b2: 0 48 89 44 24 58 mov %rax,0x58(%rsp)
ffffffff804bd4b7: 819 0f 85 33 06 00 00 jne ffffffff804bdaf0 <tcp_recvmsg+0x682>
ffffffff804bd4bd: 216 89 e8 mov %ebp,%eax
ffffffff804bd4bf: 0 83 e0 02 and $0x2,%eax
ffffffff804bd4c2: 638 89 44 24 3c mov %eax,0x3c(%rsp)
ffffffff804bd4c6: 177 75 0e jne ffffffff804bd4d6 <tcp_recvmsg+0x68>
ffffffff804bd4c8: 0 48 8d 93 f4 03 00 00 lea 0x3f4(%rbx),%rdx
ffffffff804bd4cf: 661 48 89 54 24 40 mov %rdx,0x40(%rsp)
ffffffff804bd4d4: 195 eb 14 jmp ffffffff804bd4ea <tcp_recvmsg+0x7c>
ffffffff804bd4d6: 0 8b 83 f4 03 00 00 mov 0x3f4(%rbx),%eax
ffffffff804bd4dc: 0 48 8d 4c 24 60 lea 0x60(%rsp),%rcx
ffffffff804bd4e1: 0 48 89 4c 24 40 mov %rcx,0x40(%rsp)
ffffffff804bd4e6: 0 89 44 24 60 mov %eax,0x60(%rsp)
ffffffff804bd4ea: 867 89 ee mov %ebp,%esi
ffffffff804bd4ec: 210 44 89 f2 mov %r14d,%edx
ffffffff804bd4ef: 0 48 89 df mov %rbx,%rdi
ffffffff804bd4f2: 894 81 e6 00 01 00 00 and $0x100,%esi
ffffffff804bd4f8: 192 45 31 ff xor %r15d,%r15d
ffffffff804bd4fb: 0 e8 fc df ff ff callq ffffffff804bb4fc <sock_rcvlowat>
ffffffff804bd500: 853 89 44 24 4c mov %eax,0x4c(%rsp)
ffffffff804bd504: 1857 48 8d 83 a8 00 00 00 lea 0xa8(%rbx),%rax
ffffffff804bd50b: 0 89 e9 mov %ebp,%ecx
ffffffff804bd50d: 595 48 8d 93 10 04 00 00 lea 0x410(%rbx),%rdx
ffffffff804bd514: 263 83 e1 22 and $0x22,%ecx
ffffffff804bd517: 0 83 e5 20 and $0x20,%ebp
ffffffff804bd51a: 601 48 89 44 24 28 mov %rax,0x28(%rsp)
ffffffff804bd51f: 254 48 8d 83 f8 04 00 00 lea 0x4f8(%rbx),%rax
ffffffff804bd526: 2 48 c7 44 24 50 00 00 movq $0x0,0x50(%rsp)
ffffffff804bd52d: 0 00 00
ffffffff804bd52f: 578 48 89 54 24 20 mov %rdx,0x20(%rsp)
ffffffff804bd534: 290 89 4c 24 1c mov %ecx,0x1c(%rsp)
ffffffff804bd538: 1 48 89 44 24 10 mov %rax,0x10(%rsp)
ffffffff804bd53d: 593 89 6c 24 0c mov %ebp,0xc(%rsp)
ffffffff804bd541: 568 66 83 bb 7c 04 00 00 cmpw $0x0,0x47c(%rbx)
ffffffff804bd548: 0 00
ffffffff804bd549: 3956 74 55 je ffffffff804bd5a0 <tcp_recvmsg+0x132>
ffffffff804bd54b: 0 48 8b 54 24 40 mov 0x40(%rsp),%rdx
ffffffff804bd550: 0 8b 83 84 05 00 00 mov 0x584(%rbx),%eax
ffffffff804bd556: 0 3b 02 cmp (%rdx),%eax
ffffffff804bd558: 0 75 46 jne ffffffff804bd5a0 <tcp_recvmsg+0x132>
ffffffff804bd55a: 0 45 85 ff test %r15d,%r15d
ffffffff804bd55d: 0 0f 85 e6 04 00 00 jne ffffffff804bda49 <tcp_recvmsg+0x5db>
ffffffff804bd563: 0 65 48 8b 3c 25 00 00 mov %gs:0x0,%rdi
ffffffff804bd56a: 0 00 00
ffffffff804bd56c: 0 e8 4c e1 ff ff callq ffffffff804bb6bd <signal_pending>
ffffffff804bd571: 0 85 c0 test %eax,%eax
ffffffff804bd573: 0 74 2b je ffffffff804bd5a0 <tcp_recvmsg+0x132>
ffffffff804bd575: 0 48 8b 54 24 58 mov 0x58(%rsp),%rdx
ffffffff804bd57a: 0 41 bf f5 ff ff ff mov $0xfffffff5,%r15d
ffffffff804bd580: 0 48 85 d2 test %rdx,%rdx
ffffffff804bd583: 0 0f 84 c0 04 00 00 je ffffffff804bda49 <tcp_recvmsg+0x5db>
ffffffff804bd589: 0 48 b8 ff ff ff ff ff mov $0x7fffffffffffffff,%rax
ffffffff804bd590: 0 ff ff 7f
ffffffff804bd593: 0 66 41 bf 00 fe mov $0xfe00,%r15w
ffffffff804bd598: 0 48 39 c2 cmp %rax,%rdx
ffffffff804bd59b: 0 e9 89 01 00 00 jmpq ffffffff804bd729 <tcp_recvmsg+0x2bb>
ffffffff804bd5a0: 597 48 8b ab a8 00 00 00 mov 0xa8(%rbx),%rbp
ffffffff804bd5a7: 4601 48 3b 6c 24 28 cmp 0x28(%rsp),%rbp
ffffffff804bd5ac: 1 b8 00 00 00 00 mov $0x0,%eax
ffffffff804bd5b1: 1769 48 0f 44 e8 cmove %rax,%rbp
ffffffff804bd5b5: 473 48 85 ed test %rbp,%rbp
ffffffff804bd5b8: 0 74 76 je ffffffff804bd630 <tcp_recvmsg+0x1c2>
ffffffff804bd5ba: 595 48 8b 4c 24 40 mov 0x40(%rsp),%rcx
ffffffff804bd5bf: 897 8b 55 50 mov 0x50(%rbp),%edx
ffffffff804bd5c2: 89 8b 31 mov (%rcx),%esi
ffffffff804bd5c4: 581 41 89 f5 mov %esi,%r13d
ffffffff804bd5c7: 301 41 29 d5 sub %edx,%r13d
ffffffff804bd5ca: 33 79 10 jns ffffffff804bd5dc <tcp_recvmsg+0x16e>
ffffffff804bd5cc: 0 48 c7 c7 48 d9 6a 80 mov $0xffffffff806ad948,%rdi
ffffffff804bd5d3: 0 31 c0 xor %eax,%eax
ffffffff804bd5d5: 0 e8 9a 97 d7 ff callq ffffffff80236d74 <printk>
ffffffff804bd5da: 0 eb 54 jmp ffffffff804bd630 <tcp_recvmsg+0x1c2>
ffffffff804bd5dc: 584 8b 85 b8 00 00 00 mov 0xb8(%rbp),%eax
ffffffff804bd5e2: 1061 48 8b 95 d0 00 00 00 mov 0xd0(%rbp),%rdx
ffffffff804bd5e9: 1 8a 54 02 0d mov 0xd(%rdx,%rax,1),%dl
ffffffff804bd5ed: 0 88 d0 mov %dl,%al
ffffffff804bd5ef: 876 83 e0 02 and $0x2,%eax
ffffffff804bd5f2: 0 3c 01 cmp $0x1,%al
ffffffff804bd5f4: 0 8b 45 68 mov 0x68(%rbp),%eax
ffffffff804bd5f7: 909 41 83 d5 ff adc $0xffffffffffffffff,%r13d
ffffffff804bd5fb: 0 41 39 c5 cmp %eax,%r13d
ffffffff804bd5fe: 0 0f 82 df 02 00 00 jb ffffffff804bd8e3 <tcp_recvmsg+0x475>
ffffffff804bd604: 0 80 e2 01 and $0x1,%dl
ffffffff804bd607: 0 0f 85 16 04 00 00 jne ffffffff804bda23 <tcp_recvmsg+0x5b5>
ffffffff804bd60d: 0 83 7c 24 3c 00 cmpl $0x0,0x3c(%rsp)
ffffffff804bd612: 0 75 11 jne ffffffff804bd625 <tcp_recvmsg+0x1b7>
ffffffff804bd614: 0 be 53 05 00 00 mov $0x553,%esi
ffffffff804bd619: 0 48 c7 c7 13 d9 6a 80 mov $0xffffffff806ad913,%rdi
ffffffff804bd620: 0 e8 90 8b d7 ff callq ffffffff802361b5 <warn_on_slowpath>
ffffffff804bd625: 0 48 8b 6d 00 mov 0x0(%rbp),%rbp
ffffffff804bd629: 0 48 3b 6c 24 28 cmp 0x28(%rsp),%rbp
ffffffff804bd62e: 0 75 85 jne ffffffff804bd5b5 <tcp_recvmsg+0x147>
ffffffff804bd630: 80 44 3b 7c 24 4c cmp 0x4c(%rsp),%r15d
ffffffff804bd635: 4164 7c 0b jl ffffffff804bd642 <tcp_recvmsg+0x1d4>
ffffffff804bd637: 0 48 83 7b 68 00 cmpq $0x0,0x68(%rbx)
ffffffff804bd63c: 0 0f 84 07 04 00 00 je ffffffff804bda49 <tcp_recvmsg+0x5db>
ffffffff804bd642: 1 45 85 ff test %r15d,%r15d
ffffffff804bd645: 3438 74 49 je ffffffff804bd690 <tcp_recvmsg+0x222>
ffffffff804bd647: 0 83 bb 44 01 00 00 00 cmpl $0x0,0x144(%rbx)
ffffffff804bd64e: 0 0f 85 f5 03 00 00 jne ffffffff804bda49 <tcp_recvmsg+0x5db>
ffffffff804bd654: 0 8a 43 02 mov 0x2(%rbx),%al
ffffffff804bd657: 0 3c 07 cmp $0x7,%al
ffffffff804bd659: 0 0f 84 ea 03 00 00 je ffffffff804bda49 <tcp_recvmsg+0x5db>
ffffffff804bd65f: 0 f6 43 38 01 testb $0x1,0x38(%rbx)
ffffffff804bd663: 0 0f 85 e0 03 00 00 jne ffffffff804bda49 <tcp_recvmsg+0x5db>
ffffffff804bd669: 0 48 83 7c 24 58 00 cmpq $0x0,0x58(%rsp)
ffffffff804bd66f: 0 0f 84 d4 03 00 00 je ffffffff804bda49 <tcp_recvmsg+0x5db>
ffffffff804bd675: 0 65 48 8b 3c 25 00 00 mov %gs:0x0,%rdi
ffffffff804bd67c: 0 00 00
ffffffff804bd67e: 0 e8 3a e0 ff ff callq ffffffff804bb6bd <signal_pending>
ffffffff804bd683: 0 85 c0 test %eax,%eax
ffffffff804bd685: 0 0f 84 ac 00 00 00 je ffffffff804bd737 <tcp_recvmsg+0x2c9>
ffffffff804bd68b: 0 e9 b9 03 00 00 jmpq ffffffff804bda49 <tcp_recvmsg+0x5db>
ffffffff804bd690: 0 be 01 00 00 00 mov $0x1,%esi
ffffffff804bd695: 4166 48 89 df mov %rbx,%rdi
ffffffff804bd698: 0 e8 7b de ff ff callq ffffffff804bb518 <sock_flag>
ffffffff804bd69d: 0 85 c0 test %eax,%eax
ffffffff804bd69f: 276 0f 85 a4 03 00 00 jne ffffffff804bda49 <tcp_recvmsg+0x5db>
ffffffff804bd6a5: 126 83 bb 44 01 00 00 00 cmpl $0x0,0x144(%rbx)
ffffffff804bd6ac: 0 74 10 je ffffffff804bd6be <tcp_recvmsg+0x250>
ffffffff804bd6ae: 0 48 89 df mov %rbx,%rdi
ffffffff804bd6b1: 0 e8 00 df ff ff callq ffffffff804bb5b6 <sock_error>
ffffffff804bd6b6: 0 41 89 c7 mov %eax,%r15d
ffffffff804bd6b9: 0 e9 8b 03 00 00 jmpq ffffffff804bda49 <tcp_recvmsg+0x5db>
ffffffff804bd6be: 112 f6 43 38 01 testb $0x1,0x38(%rbx)
ffffffff804bd6c2: 3451 0f 85 81 03 00 00 jne ffffffff804bda49 <tcp_recvmsg+0x5db>
ffffffff804bd6c8: 497 8a 43 02 mov 0x2(%rbx),%al
ffffffff804bd6cb: 0 3c 07 cmp $0x7,%al
ffffffff804bd6cd: 113 75 20 jne ffffffff804bd6ef <tcp_recvmsg+0x281>
ffffffff804bd6cf: 0 be 01 00 00 00 mov $0x1,%esi
ffffffff804bd6d4: 0 48 89 df mov %rbx,%rdi
ffffffff804bd6d7: 0 e8 3c de ff ff callq ffffffff804bb518 <sock_flag>
ffffffff804bd6dc: 0 85 c0 test %eax,%eax
ffffffff804bd6de: 0 0f 85 65 03 00 00 jne ffffffff804bda49 <tcp_recvmsg+0x5db>
ffffffff804bd6e4: 0 41 bf 95 ff ff ff mov $0xffffff95,%r15d
ffffffff804bd6ea: 0 e9 5a 03 00 00 jmpq ffffffff804bda49 <tcp_recvmsg+0x5db>
ffffffff804bd6ef: 118 48 83 7c 24 58 00 cmpq $0x0,0x58(%rsp)
ffffffff804bd6f5: 398 75 0b jne ffffffff804bd702 <tcp_recvmsg+0x294>
ffffffff804bd6f7: 0 41 bf f5 ff ff ff mov $0xfffffff5,%r15d
ffffffff804bd6fd: 0 e9 47 03 00 00 jmpq ffffffff804bda49 <tcp_recvmsg+0x5db>
ffffffff804bd702: 0 65 48 8b 3c 25 00 00 mov %gs:0x0,%rdi
ffffffff804bd709: 0 00 00
ffffffff804bd70b: 2993 e8 ad df ff ff callq ffffffff804bb6bd <signal_pending>
ffffffff804bd710: 200 85 c0 test %eax,%eax
ffffffff804bd712: 0 74 23 je ffffffff804bd737 <tcp_recvmsg+0x2c9>
ffffffff804bd714: 0 48 b8 ff ff ff ff ff mov $0x7fffffffffffffff,%rax
ffffffff804bd71b: 0 ff ff 7f
ffffffff804bd71e: 0 48 39 44 24 58 cmp %rax,0x58(%rsp)
ffffffff804bd723: 0 41 bf 00 fe ff ff mov $0xfffffe00,%r15d
ffffffff804bd729: 0 b8 fc ff ff ff mov $0xfffffffc,%eax
ffffffff804bd72e: 0 44 0f 45 f8 cmovne %eax,%r15d
ffffffff804bd732: 0 e9 12 03 00 00 jmpq ffffffff804bda49 <tcp_recvmsg+0x5db>
ffffffff804bd737: 207 44 89 fe mov %r15d,%esi
ffffffff804bd73a: 198 48 89 df mov %rbx,%rdi
ffffffff804bd73d: 0 e8 cc e9 ff ff callq ffffffff804bc10e <tcp_cleanup_rbuf>
ffffffff804bd742: 227 83 3d 9b ad 3f 00 00 cmpl $0x0,0x3fad9b(%rip) # ffffffff808b84e4 <sysctl_tcp_low_latency>
ffffffff804bd749: 210 0f 85 81 00 00 00 jne ffffffff804bd7d0 <tcp_recvmsg+0x362>
ffffffff804bd74f: 0 48 8b ab 28 04 00 00 mov 0x428(%rbx),%rbp
ffffffff804bd756: 0 48 3b 6c 24 50 cmp 0x50(%rsp),%rbp
ffffffff804bd75b: 232 75 73 jne ffffffff804bd7d0 <tcp_recvmsg+0x362>
ffffffff804bd75d: 0 48 83 7c 24 50 00 cmpq $0x0,0x50(%rsp)
ffffffff804bd763: 7 75 27 jne ffffffff804bd78c <tcp_recvmsg+0x31e>
ffffffff804bd765: 229 83 7c 24 1c 00 cmpl $0x0,0x1c(%rsp)
ffffffff804bd76a: 30 75 20 jne ffffffff804bd78c <tcp_recvmsg+0x31e>
ffffffff804bd76c: 7 48 8b 54 24 30 mov 0x30(%rsp),%rdx
ffffffff804bd771: 191 65 48 8b 2c 25 00 00 mov %gs:0x0,%rbp
ffffffff804bd778: 0 00 00
ffffffff804bd77a: 12 48 89 ab 28 04 00 00 mov %rbp,0x428(%rbx)
ffffffff804bd781: 2617 48 8b 42 10 mov 0x10(%rdx),%rax
ffffffff804bd785: 670 48 89 83 30 04 00 00 mov %rax,0x430(%rbx)
ffffffff804bd78c: 11 8b 83 f4 03 00 00 mov 0x3f4(%rbx),%eax
ffffffff804bd792: 188 3b 83 f0 03 00 00 cmp 0x3f0(%rbx),%eax
ffffffff804bd798: 166 44 89 b3 3c 04 00 00 mov %r14d,0x43c(%rbx)
ffffffff804bd79f: 5 74 18 je ffffffff804bd7b9 <tcp_recvmsg+0x34b>
ffffffff804bd7a1: 0 83 7c 24 1c 00 cmpl $0x0,0x1c(%rsp)
ffffffff804bd7a6: 0 75 11 jne ffffffff804bd7b9 <tcp_recvmsg+0x34b>
ffffffff804bd7a8: 0 be 92 05 00 00 mov $0x592,%esi
ffffffff804bd7ad: 0 48 c7 c7 13 d9 6a 80 mov $0xffffffff806ad913,%rdi
ffffffff804bd7b4: 0 e8 fc 89 d7 ff callq ffffffff802361b5 <warn_on_slowpath>
ffffffff804bd7b9: 336 48 8b 4c 24 20 mov 0x20(%rsp),%rcx
ffffffff804bd7be: 302 48 39 8b 10 04 00 00 cmp %rcx,0x410(%rbx)
ffffffff804bd7c5: 1176 48 89 6c 24 50 mov %rbp,0x50(%rsp)
ffffffff804bd7ca: 244 0f 85 81 00 00 00 jne ffffffff804bd851 <tcp_recvmsg+0x3e3>
ffffffff804bd7d0: 135 44 3b 7c 24 4c cmp 0x4c(%rsp),%r15d
ffffffff804bd7d5: 112 7c 12 jl ffffffff804bd7e9 <tcp_recvmsg+0x37b>
ffffffff804bd7d7: 0 48 89 df mov %rbx,%rdi
ffffffff804bd7da: 0 e8 57 7f fc ff callq ffffffff80485736 <release_sock>
ffffffff804bd7df: 0 48 89 df mov %rbx,%rdi
ffffffff804bd7e2: 0 e8 96 e5 ff ff callq ffffffff804bbd7d <lock_sock>
ffffffff804bd7e7: 0 eb 0d jmp ffffffff804bd7f6 <tcp_recvmsg+0x388>
ffffffff804bd7e9: 152 48 8d 74 24 58 lea 0x58(%rsp),%rsi
ffffffff804bd7ee: 563 48 89 df mov %rbx,%rdi
ffffffff804bd7f1: 59 e8 83 99 fc ff callq ffffffff80487179 <sk_wait_data>
ffffffff804bd7f6: 86 48 83 7c 24 50 00 cmpq $0x0,0x50(%rsp)
ffffffff804bd7fc: 8550 0f 84 8a 00 00 00 je ffffffff804bd88c <tcp_recvmsg+0x41e>
ffffffff804bd802: 4038 44 89 f1 mov %r14d,%ecx
ffffffff804bd805: 900 2b 8b 3c 04 00 00 sub 0x43c(%rbx),%ecx
ffffffff804bd80b: 5 74 28 je ffffffff804bd835 <tcp_recvmsg+0x3c7>
ffffffff804bd80d: 0 48 8b 05 ac 3e 5f 00 mov 0x5f3eac(%rip),%rax # ffffffff80ab16c0 <init_net+0xf0>
ffffffff804bd814: 1 41 01 cf add %ecx,%r15d
ffffffff804bd817: 0 65 8b 14 25 24 00 00 mov %gs:0x24,%edx
ffffffff804bd81e: 0 00
ffffffff804bd81f: 0 89 d2 mov %edx,%edx
ffffffff804bd821: 0 48 f7 d0 not %rax
ffffffff804bd824: 0 48 8b 04 d0 mov (%rax,%rdx,8),%rax
ffffffff804bd828: 0 48 63 d1 movslq %ecx,%rdx
ffffffff804bd82b: 0 49 29 d6 sub %rdx,%r14
ffffffff804bd82e: 0 48 01 90 b8 00 00 00 add %rdx,0xb8(%rax)
ffffffff804bd835: 4 8b 83 f0 03 00 00 mov 0x3f0(%rbx),%eax
ffffffff804bd83b: 373 3b 83 f4 03 00 00 cmp 0x3f4(%rbx),%eax
ffffffff804bd841: 3604 75 49 jne ffffffff804bd88c <tcp_recvmsg+0x41e>
ffffffff804bd843: 0 48 8b 44 24 20 mov 0x20(%rsp),%rax
ffffffff804bd848: 971 48 39 83 10 04 00 00 cmp %rax,0x410(%rbx)
ffffffff804bd84f: 11 74 3b je ffffffff804bd88c <tcp_recvmsg+0x41e>
ffffffff804bd851: 6 48 89 df mov %rbx,%rdi
ffffffff804bd854: 267 e8 94 e6 ff ff callq ffffffff804bbeed <tcp_prequeue_process>
ffffffff804bd859: 0 44 89 f1 mov %r14d,%ecx
ffffffff804bd85c: 879 2b 8b 3c 04 00 00 sub 0x43c(%rbx),%ecx
ffffffff804bd862: 256 74 28 je ffffffff804bd88c <tcp_recvmsg+0x41e>
ffffffff804bd864: 0 48 8b 05 55 3e 5f 00 mov 0x5f3e55(%rip),%rax # ffffffff80ab16c0 <init_net+0xf0>
ffffffff804bd86b: 116 41 01 cf add %ecx,%r15d
ffffffff804bd86e: 17 65 8b 14 25 24 00 00 mov %gs:0x24,%edx
ffffffff804bd875: 0 00
ffffffff804bd876: 0 89 d2 mov %edx,%edx
ffffffff804bd878: 1 48 f7 d0 not %rax
ffffffff804bd87b: 5 48 8b 04 d0 mov (%rax,%rdx,8),%rax
ffffffff804bd87f: 0 48 63 d1 movslq %ecx,%rdx
ffffffff804bd882: 6 49 29 d6 sub %rdx,%r14
ffffffff804bd885: 7 48 01 90 c0 00 00 00 add %rdx,0xc0(%rax)
ffffffff804bd88c: 11 83 7c 24 3c 00 cmpl $0x0,0x3c(%rsp)
ffffffff804bd891: 438 0f 84 a9 01 00 00 je ffffffff804bda40 <tcp_recvmsg+0x5d2>
ffffffff804bd897: 0 8b 44 24 60 mov 0x60(%rsp),%eax
ffffffff804bd89b: 0 3b 83 f4 03 00 00 cmp 0x3f4(%rbx),%eax
ffffffff804bd8a1: 0 0f 84 99 01 00 00 je ffffffff804bda40 <tcp_recvmsg+0x5d2>
ffffffff804bd8a7: 0 e8 19 ad fd ff callq ffffffff804985c5 <net_ratelimit>
ffffffff804bd8ac: 0 85 c0 test %eax,%eax
ffffffff804bd8ae: 0 74 24 je ffffffff804bd8d4 <tcp_recvmsg+0x466>
ffffffff804bd8b0: 0 65 48 8b 34 25 00 00 mov %gs:0x0,%rsi
ffffffff804bd8b7: 0 00 00
ffffffff804bd8b9: 0 8b 96 70 01 00 00 mov 0x170(%rsi),%edx
ffffffff804bd8bf: 0 48 c7 c7 6a d9 6a 80 mov $0xffffffff806ad96a,%rdi
ffffffff804bd8c6: 0 48 81 c6 68 03 00 00 add $0x368,%rsi
ffffffff804bd8cd: 0 31 c0 xor %eax,%eax
ffffffff804bd8cf: 0 e8 a0 94 d7 ff callq ffffffff80236d74 <printk>
ffffffff804bd8d4: 0 8b 83 f4 03 00 00 mov 0x3f4(%rbx),%eax
ffffffff804bd8da: 0 89 44 24 60 mov %eax,0x60(%rsp)
ffffffff804bd8de: 0 e9 5d 01 00 00 jmpq ffffffff804bda40 <tcp_recvmsg+0x5d2>
ffffffff804bd8e3: 4077 44 29 e8 sub %r13d,%eax
ffffffff804bd8e6: 6031 4d 89 f4 mov %r14,%r12
ffffffff804bd8e9: 0 4c 39 f0 cmp %r14,%rax
ffffffff804bd8ec: 0 4c 0f 46 e0 cmovbe %rax,%r12
ffffffff804bd8f0: 934 66 83 bb 7c 04 00 00 cmpw $0x0,0x47c(%rbx)
ffffffff804bd8f7: 0 00
ffffffff804bd8f8: 0 74 38 je ffffffff804bd932 <tcp_recvmsg+0x4c4>
ffffffff804bd8fa: 0 8b 83 84 05 00 00 mov 0x584(%rbx),%eax
ffffffff804bd900: 0 29 f0 sub %esi,%eax
ffffffff804bd902: 0 89 c2 mov %eax,%edx
ffffffff804bd904: 0 4c 39 e2 cmp %r12,%rdx
ffffffff804bd907: 0 73 29 jae ffffffff804bd932 <tcp_recvmsg+0x4c4>
ffffffff804bd909: 0 85 c0 test %eax,%eax
ffffffff804bd90b: 0 74 05 je ffffffff804bd912 <tcp_recvmsg+0x4a4>
ffffffff804bd90d: 0 49 89 d4 mov %rdx,%r12
ffffffff804bd910: 0 eb 20 jmp ffffffff804bd932 <tcp_recvmsg+0x4c4>
ffffffff804bd912: 0 be 02 00 00 00 mov $0x2,%esi
ffffffff804bd917: 0 48 89 df mov %rbx,%rdi
ffffffff804bd91a: 0 e8 f9 db ff ff callq ffffffff804bb518 <sock_flag>
ffffffff804bd91f: 0 85 c0 test %eax,%eax
ffffffff804bd921: 0 75 0f jne ffffffff804bd932 <tcp_recvmsg+0x4c4>
ffffffff804bd923: 0 48 8b 54 24 40 mov 0x40(%rsp),%rdx
ffffffff804bd928: 0 41 ff c5 inc %r13d
ffffffff804bd92b: 0 ff 02 incl (%rdx)
ffffffff804bd92d: 0 49 ff cc dec %r12
ffffffff804bd930: 0 74 4c je ffffffff804bd97e <tcp_recvmsg+0x510>
ffffffff804bd932: 906 83 7c 24 0c 00 cmpl $0x0,0xc(%rsp)
ffffffff804bd937: 6039 75 2f jne ffffffff804bd968 <tcp_recvmsg+0x4fa>
ffffffff804bd939: 48 48 8b 4c 24 30 mov 0x30(%rsp),%rcx
ffffffff804bd93e: 1412 44 89 ee mov %r13d,%esi
ffffffff804bd941: 6648 48 89 ef mov %rbp,%rdi
ffffffff804bd944: 0 48 8b 51 10 mov 0x10(%rcx),%rdx
ffffffff804bd948: 1524 44 89 e1 mov %r12d,%ecx
ffffffff804bd94b: 167 e8 c5 d3 fc ff callq ffffffff8048ad15 <skb_copy_datagram_iovec>
ffffffff804bd950: 0 85 c0 test %eax,%eax
ffffffff804bd952: 1038 74 14 je ffffffff804bd968 <tcp_recvmsg+0x4fa>
ffffffff804bd954: 0 45 85 ff test %r15d,%r15d
ffffffff804bd957: 0 0f 85 ec 00 00 00 jne ffffffff804bda49 <tcp_recvmsg+0x5db>
ffffffff804bd95d: 0 41 bf f2 ff ff ff mov $0xfffffff2,%r15d
ffffffff804bd963: 0 e9 e1 00 00 00 jmpq ffffffff804bda49 <tcp_recvmsg+0x5db>
ffffffff804bd968: 28 48 8b 54 24 40 mov 0x40(%rsp),%rdx
ffffffff804bd96d: 5713 48 89 df mov %rbx,%rdi
ffffffff804bd970: 241 45 01 e7 add %r12d,%r15d
ffffffff804bd973: 27 4d 29 e6 sub %r12,%r14
ffffffff804bd976: 626 44 01 22 add %r12d,(%rdx)
ffffffff804bd979: 221 e8 fe 11 00 00 callq ffffffff804beb7c <tcp_rcv_space_adjust>
ffffffff804bd97e: 1425 66 83 bb 7c 04 00 00 cmpw $0x0,0x47c(%rbx)
ffffffff804bd985: 0 00
ffffffff804bd986: 3430 74 63 je ffffffff804bd9eb <tcp_recvmsg+0x57d>
ffffffff804bd988: 0 8b 8b f4 03 00 00 mov 0x3f4(%rbx),%ecx
ffffffff804bd98e: 0 39 8b 84 05 00 00 cmp %ecx,0x584(%rbx)
ffffffff804bd994: 0 79 55 jns ffffffff804bd9eb <tcp_recvmsg+0x57d>
ffffffff804bd996: 0 48 8b 44 24 10 mov 0x10(%rsp),%rax
ffffffff804bd99b: 0 48 39 83 f8 04 00 00 cmp %rax,0x4f8(%rbx)
ffffffff804bd9a2: 0 66 c7 83 7c 04 00 00 movw $0x0,0x47c(%rbx)
ffffffff804bd9a9: 0 00 00
ffffffff804bd9ab: 0 75 3e jne ffffffff804bd9eb <tcp_recvmsg+0x57d>
ffffffff804bd9ad: 0 83 bb c0 04 00 00 00 cmpl $0x0,0x4c0(%rbx)
ffffffff804bd9b4: 0 74 35 je ffffffff804bd9eb <tcp_recvmsg+0x57d>
ffffffff804bd9b6: 0 8b 83 94 00 00 00 mov 0x94(%rbx),%eax
ffffffff804bd9bc: 0 3b 43 3c cmp 0x3c(%rbx),%eax
ffffffff804bd9bf: 0 7d 2a jge ffffffff804bd9eb <tcp_recvmsg+0x57d>
ffffffff804bd9c1: 0 0f b7 83 e8 03 00 00 movzwl 0x3e8(%rbx),%eax
ffffffff804bd9c8: 0 8a 8b 9d 04 00 00 mov 0x49d(%rbx),%cl
ffffffff804bd9ce: 0 8b 93 44 04 00 00 mov 0x444(%rbx),%edx
ffffffff804bd9d4: 0 83 e1 0f and $0xf,%ecx
ffffffff804bd9d7: 0 c1 e0 1a shl $0x1a,%eax
ffffffff804bd9da: 0 d3 ea shr %cl,%edx
ffffffff804bd9dc: 0 09 d0 or %edx,%eax
ffffffff804bd9de: 0 0d 00 00 10 00 or $0x100000,%eax
ffffffff804bd9e3: 0 0f c8 bswap %eax
ffffffff804bd9e5: 0 89 83 ec 03 00 00 mov %eax,0x3ec(%rbx)
ffffffff804bd9eb: 0 8b 55 68 mov 0x68(%rbp),%edx
ffffffff804bd9ee: 1655 44 89 e8 mov %r13d,%eax
ffffffff804bd9f1: 32 4c 01 e0 add %r12,%rax
ffffffff804bd9f4: 0 48 39 d0 cmp %rdx,%rax
ffffffff804bd9f7: 847 72 47 jb ffffffff804bda40 <tcp_recvmsg+0x5d2>
ffffffff804bd9f9: 0 8b 95 b8 00 00 00 mov 0xb8(%rbp),%edx
ffffffff804bd9ff: 80 48 8b 85 d0 00 00 00 mov 0xd0(%rbp),%rax
ffffffff804bda06: 441 f6 44 02 0d 01 testb $0x1,0xd(%rdx,%rax,1)
ffffffff804bda0b: 0 75 16 jne ffffffff804bda23 <tcp_recvmsg+0x5b5>
ffffffff804bda0d: 0 83 7c 24 3c 00 cmpl $0x0,0x3c(%rsp)
ffffffff804bda12: 453 75 2c jne ffffffff804bda40 <tcp_recvmsg+0x5d2>
ffffffff804bda14: 0 31 d2 xor %edx,%edx
ffffffff804bda16: 0 48 89 ee mov %rbp,%rsi
ffffffff804bda19: 477 48 89 df mov %rbx,%rdi
ffffffff804bda1c: 0 e8 0f e4 ff ff callq ffffffff804bbe30 <sk_eat_skb>
ffffffff804bda21: 562 eb 1d jmp ffffffff804bda40 <tcp_recvmsg+0x5d2>
ffffffff804bda23: 0 48 8b 54 24 40 mov 0x40(%rsp),%rdx
ffffffff804bda28: 0 ff 02 incl (%rdx)
ffffffff804bda2a: 0 83 7c 24 3c 00 cmpl $0x0,0x3c(%rsp)
ffffffff804bda2f: 0 75 18 jne ffffffff804bda49 <tcp_recvmsg+0x5db>
ffffffff804bda31: 0 31 d2 xor %edx,%edx
ffffffff804bda33: 0 48 89 ee mov %rbp,%rsi
ffffffff804bda36: 0 48 89 df mov %rbx,%rdi
ffffffff804bda39: 0 e8 f2 e3 ff ff callq ffffffff804bbe30 <sk_eat_skb>
ffffffff804bda3e: 0 eb 09 jmp ffffffff804bda49 <tcp_recvmsg+0x5db>
ffffffff804bda40: 959 4d 85 f6 test %r14,%r14
ffffffff804bda43: 4766 0f 85 f8 fa ff ff jne ffffffff804bd541 <tcp_recvmsg+0xd3>
ffffffff804bda49: 217 48 83 7c 24 50 00 cmpq $0x0,0x50(%rsp)
ffffffff804bda4f: 2084 74 71 je ffffffff804bdac2 <tcp_recvmsg+0x654>
ffffffff804bda51: 40 48 8d 83 10 04 00 00 lea 0x410(%rbx),%rax
ffffffff804bda58: 448 48 39 83 10 04 00 00 cmp %rax,0x410(%rbx)
ffffffff804bda5f: 4 74 4c je ffffffff804bdaad <tcp_recvmsg+0x63f>
ffffffff804bda61: 0 31 c0 xor %eax,%eax
ffffffff804bda63: 0 45 85 ff test %r15d,%r15d
ffffffff804bda66: 0 48 89 df mov %rbx,%rdi
ffffffff804bda69: 0 41 0f 4f c6 cmovg %r14d,%eax
ffffffff804bda6d: 0 89 83 3c 04 00 00 mov %eax,0x43c(%rbx)
ffffffff804bda73: 0 e8 75 e4 ff ff callq ffffffff804bbeed <tcp_prequeue_process>
ffffffff804bda78: 0 45 85 ff test %r15d,%r15d
ffffffff804bda7b: 0 7e 30 jle ffffffff804bdaad <tcp_recvmsg+0x63f>
ffffffff804bda7d: 0 44 89 f1 mov %r14d,%ecx
ffffffff804bda80: 0 2b 8b 3c 04 00 00 sub 0x43c(%rbx),%ecx
ffffffff804bda86: 0 74 25 je ffffffff804bdaad <tcp_recvmsg+0x63f>
ffffffff804bda88: 0 48 8b 05 31 3c 5f 00 mov 0x5f3c31(%rip),%rax # ffffffff80ab16c0 <init_net+0xf0>
ffffffff804bda8f: 0 41 01 cf add %ecx,%r15d
ffffffff804bda92: 0 65 8b 14 25 24 00 00 mov %gs:0x24,%edx
ffffffff804bda99: 0 00
ffffffff804bda9a: 0 89 d2 mov %edx,%edx
ffffffff804bda9c: 0 48 f7 d0 not %rax
ffffffff804bda9f: 0 48 8b 14 d0 mov (%rax,%rdx,8),%rdx
ffffffff804bdaa3: 0 48 63 c1 movslq %ecx,%rax
ffffffff804bdaa6: 0 48 01 82 c0 00 00 00 add %rax,0xc0(%rdx)
ffffffff804bdaad: 214 48 c7 83 28 04 00 00 movq $0x0,0x428(%rbx)
ffffffff804bdab4: 0 00 00 00 00
ffffffff804bdab8: 1530 c7 83 3c 04 00 00 00 movl $0x0,0x43c(%rbx)
ffffffff804bdabf: 0 00 00 00
ffffffff804bdac2: 1135 48 89 df mov %rbx,%rdi
ffffffff804bdac5: 3909 44 89 fe mov %r15d,%esi
ffffffff804bdac8: 0 e8 41 e6 ff ff callq ffffffff804bc10e <tcp_cleanup_rbuf>
ffffffff804bdacd: 1724 48 89 df mov %rbx,%rdi
ffffffff804bdad0: 932 e8 61 7c fc ff callq ffffffff80485736 <release_sock>
ffffffff804bdad5: 4661 e9 12 01 00 00 jmpq ffffffff804bdbec <tcp_recvmsg+0x77e>
ffffffff804bdada: 0 41 bc 95 ff ff ff mov $0xffffff95,%r12d
ffffffff804bdae0: 0 48 89 df mov %rbx,%rdi
ffffffff804bdae3: 0 45 89 e7 mov %r12d,%r15d
ffffffff804bdae6: 0 e8 4b 7c fc ff callq ffffffff80485736 <release_sock>
ffffffff804bdaeb: 0 e9 fc 00 00 00 jmpq ffffffff804bdbec <tcp_recvmsg+0x77e>
ffffffff804bdaf0: 0 be 02 00 00 00 mov $0x2,%esi
ffffffff804bdaf5: 0 48 89 df mov %rbx,%rdi
ffffffff804bdaf8: 0 e8 1b da ff ff callq ffffffff804bb518 <sock_flag>
ffffffff804bdafd: 0 85 c0 test %eax,%eax
ffffffff804bdaff: 0 0f 85 d4 00 00 00 jne ffffffff804bdbd9 <tcp_recvmsg+0x76b>
ffffffff804bdb05: 0 8b 83 7c 04 00 00 mov 0x47c(%rbx),%eax
ffffffff804bdb0b: 0 66 85 c0 test %ax,%ax
ffffffff804bdb0e: 0 0f 84 c5 00 00 00 je ffffffff804bdbd9 <tcp_recvmsg+0x76b>
ffffffff804bdb14: 0 66 3d 00 04 cmp $0x400,%ax
ffffffff804bdb18: 0 0f 84 bb 00 00 00 je ffffffff804bdbd9 <tcp_recvmsg+0x76b>
ffffffff804bdb1e: 0 8a 43 02 mov 0x2(%rbx),%al
ffffffff804bdb21: 0 3c 07 cmp $0x7,%al
ffffffff804bdb23: 0 75 17 jne ffffffff804bdb3c <tcp_recvmsg+0x6ce>
ffffffff804bdb25: 0 be 01 00 00 00 mov $0x1,%esi
ffffffff804bdb2a: 0 48 89 df mov %rbx,%rdi
ffffffff804bdb2d: 0 41 bc 95 ff ff ff mov $0xffffff95,%r12d
ffffffff804bdb33: 0 e8 e0 d9 ff ff callq ffffffff804bb518 <sock_flag>
ffffffff804bdb38: 0 85 c0 test %eax,%eax
ffffffff804bdb3a: 0 74 a4 je ffffffff804bdae0 <tcp_recvmsg+0x672>
ffffffff804bdb3c: 0 8b 83 7c 04 00 00 mov 0x47c(%rbx),%eax
ffffffff804bdb42: 0 f6 c4 01 test $0x1,%ah
ffffffff804bdb45: 0 74 79 je ffffffff804bdbc0 <tcp_recvmsg+0x752>
ffffffff804bdb47: 0 40 f6 c5 02 test $0x2,%bpl
ffffffff804bdb4b: 0 88 44 24 67 mov %al,0x67(%rsp)
ffffffff804bdb4f: 0 75 09 jne ffffffff804bdb5a <tcp_recvmsg+0x6ec>
ffffffff804bdb51: 0 66 c7 83 7c 04 00 00 movw $0x400,0x47c(%rbx)
ffffffff804bdb58: 0 00 04
ffffffff804bdb5a: 0 48 8b 4c 24 30 mov 0x30(%rsp),%rcx
ffffffff804bdb5f: 0 45 89 f4 mov %r14d,%r12d
ffffffff804bdb62: 0 8b 51 30 mov 0x30(%rcx),%edx
ffffffff804bdb65: 0 89 d0 mov %edx,%eax
ffffffff804bdb67: 0 83 c8 01 or $0x1,%eax
ffffffff804bdb6a: 0 45 85 f6 test %r14d,%r14d
ffffffff804bdb6d: 0 89 41 30 mov %eax,0x30(%rcx)
ffffffff804bdb70: 0 7e 33 jle ffffffff804bdba5 <tcp_recvmsg+0x737>
ffffffff804bdb72: 0 40 80 e5 20 and $0x20,%bpl
ffffffff804bdb76: 0 41 bc 01 00 00 00 mov $0x1,%r12d
ffffffff804bdb7c: 0 0f 85 5e ff ff ff jne ffffffff804bdae0 <tcp_recvmsg+0x672>
ffffffff804bdb82: 0 48 8b 79 10 mov 0x10(%rcx),%rdi
ffffffff804bdb86: 0 48 8d 74 24 67 lea 0x67(%rsp),%rsi
ffffffff804bdb8b: 0 ba 01 00 00 00 mov $0x1,%edx
ffffffff804bdb90: 0 41 bc f2 ff ff ff mov $0xfffffff2,%r12d
ffffffff804bdb96: 0 e8 8a cb fc ff callq ffffffff8048a725 <memcpy_toiovec>
ffffffff804bdb9b: 0 85 c0 test %eax,%eax
ffffffff804bdb9d: 0 0f 85 3d ff ff ff jne ffffffff804bdae0 <tcp_recvmsg+0x672>
ffffffff804bdba3: 0 eb 10 jmp ffffffff804bdbb5 <tcp_recvmsg+0x747>
ffffffff804bdba5: 0 48 8b 44 24 30 mov 0x30(%rsp),%rax
ffffffff804bdbaa: 0 83 ca 21 or $0x21,%edx
ffffffff804bdbad: 0 89 50 30 mov %edx,0x30(%rax)
ffffffff804bdbb0: 0 e9 2b ff ff ff jmpq ffffffff804bdae0 <tcp_recvmsg+0x672>
ffffffff804bdbb5: 0 41 bc 01 00 00 00 mov $0x1,%r12d
ffffffff804bdbbb: 0 e9 20 ff ff ff jmpq ffffffff804bdae0 <tcp_recvmsg+0x672>
ffffffff804bdbc0: 0 8a 43 02 mov 0x2(%rbx),%al
ffffffff804bdbc3: 0 3c 07 cmp $0x7,%al
ffffffff804bdbc5: 0 74 1d je ffffffff804bdbe4 <tcp_recvmsg+0x776>
ffffffff804bdbc7: 0 f6 43 38 01 testb $0x1,0x38(%rbx)
ffffffff804bdbcb: 0 41 bc f5 ff ff ff mov $0xfffffff5,%r12d
ffffffff804bdbd1: 0 0f 84 09 ff ff ff je ffffffff804bdae0 <tcp_recvmsg+0x672>
ffffffff804bdbd7: 0 eb 0b jmp ffffffff804bdbe4 <tcp_recvmsg+0x776>
ffffffff804bdbd9: 0 41 bc ea ff ff ff mov $0xffffffea,%r12d
ffffffff804bdbdf: 0 e9 fc fe ff ff jmpq ffffffff804bdae0 <tcp_recvmsg+0x672>
ffffffff804bdbe4: 0 45 31 e4 xor %r12d,%r12d
ffffffff804bdbe7: 0 e9 f4 fe ff ff jmpq ffffffff804bdae0 <tcp_recvmsg+0x672>
ffffffff804bdbec: 1206 48 83 c4 68 add $0x68,%rsp
ffffffff804bdbf0: 498 44 89 f8 mov %r15d,%eax
ffffffff804bdbf3: 387 5b pop %rbx
ffffffff804bdbf4: 462 5d pop %rbp
ffffffff804bdbf5: 0 41 5c pop %r12
ffffffff804bdbf7: 485 41 5d pop %r13
ffffffff804bdbf9: 466 41 5e pop %r14
ffffffff804bdbfb: 0 41 5f pop %r15
ffffffff804bdbfd: 796 c3 retq
no real hotspots either - but a bit too fractured code sequence, so
this function's icache footprint is too probably double the size of
what it could be.
a bit of overhead (8%) leaks in from a callsite:
ffffffff804bd46e: 882 41 57 push %r15
ffffffff804bd470: 15507 48 89 f7 mov %rsi,%rdi
(this is used as a dynamic function pointer too so i'm just guessing
that the common callsite would be sock_common_recvmsg().)
perhaps this sequence, about 7% of the total overhead of this
function, warrants mention:
ffffffff804bd7e2: 0 e8 96 e5 ff ff callq ffffffff804bbd7d <lock_sock>
ffffffff804bd7e7: 0 eb 0d jmp ffffffff804bd7f6 <tcp_recvmsg+0x388>
ffffffff804bd7e9: 152 48 8d 74 24 58 lea 0x58(%rsp),%rsi
ffffffff804bd7ee: 563 48 89 df mov %rbx,%rdi
ffffffff804bd7f1: 59 e8 83 99 fc ff callq ffffffff80487179 <sk_wait_data>
ffffffff804bd7f6: 86 48 83 7c 24 50 00 cmpq $0x0,0x50(%rsp)
ffffffff804bd7fc: 8550 0f 84 8a 00 00 00 je ffffffff804bd88c <tcp_recvmsg+0x41e>
ffffffff804bd802: 4038 44 89 f1 mov %r14d,%ecx
that's most likely lock_sock[_nested]()'s overhead leaking over into
this function:
ffffffff804857cb: 9392 <lock_sock_nested>:
ffffffff804857cb: 9392 41 55 push %r13
ffffffff804857cd: 4112 41 54 push %r12
ffffffff804857cf: 2 55 push %rbp
ffffffff804857d0: 7 48 8d 6f 40 lea 0x40(%rdi),%rbp
ffffffff804857d4: 1515 53 push %rbx
ffffffff804857d5: 0 48 89 fb mov %rdi,%rbx
ffffffff804857d8: 4 48 89 ef mov %rbp,%rdi
ffffffff804857db: 1461 48 83 ec 38 sub $0x38,%rsp
ffffffff804857df: 8 e8 78 11 09 00 callq ffffffff8051695c <_spin_lock_bh>
ffffffff804857e4: 4827 83 7b 44 00 cmpl $0x0,0x44(%rbx)
ffffffff804857e8: 2937 74 6d je ffffffff80485857 <lock_sock_nested+0x8c>
ffffffff804857ea: 0 65 48 8b 14 25 00 00 mov %gs:0x0,%rdx
ffffffff804857f1: 0 00 00
ffffffff804857f3: 0 fc cld
ffffffff804857f4: 0 31 c0 xor %eax,%eax
ffffffff804857f6: 0 48 89 e7 mov %rsp,%rdi
ffffffff804857f9: 0 b9 0a 00 00 00 mov $0xa,%ecx
ffffffff804857fe: 0 f3 ab rep stos %eax,%es:(%rdi)
ffffffff80485800: 0 48 8d 44 24 18 lea 0x18(%rsp),%rax
ffffffff80485805: 0 4c 8d 63 48 lea 0x48(%rbx),%r12
ffffffff80485809: 0 48 89 54 24 08 mov %rdx,0x8(%rsp)
ffffffff8048580e: 0 48 c7 44 24 10 80 78 movq $0xffffffff80247880,0x10(%rsp)
ffffffff80485815: 0 24 80
ffffffff80485817: 0 48 89 44 24 18 mov %rax,0x18(%rsp)
ffffffff8048581c: 0 48 89 44 24 20 mov %rax,0x20(%rsp)
ffffffff80485821: 0 ba 02 00 00 00 mov $0x2,%edx
ffffffff80485826: 0 48 89 e6 mov %rsp,%rsi
ffffffff80485829: 0 4c 89 e7 mov %r12,%rdi
ffffffff8048582c: 0 e8 fd 20 dc ff callq ffffffff8024792e <prepare_to_wait_exclusive>
ffffffff80485831: 0 48 89 ef mov %rbp,%rdi
ffffffff80485834: 0 e8 18 11 09 00 callq ffffffff80516951 <_spin_unlock_bh>
ffffffff80485839: 0 e8 52 f9 08 00 callq ffffffff80515190 <schedule>
ffffffff8048583e: 0 48 89 ef mov %rbp,%rdi
ffffffff80485841: 0 e8 16 11 09 00 callq ffffffff8051695c <_spin_lock_bh>
ffffffff80485846: 0 83 7b 44 00 cmpl $0x0,0x44(%rbx)
ffffffff8048584a: 0 75 d5 jne ffffffff80485821 <lock_sock_nested+0x56>
ffffffff8048584c: 0 48 89 e6 mov %rsp,%rsi
ffffffff8048584f: 0 4c 89 e7 mov %r12,%rdi
ffffffff80485852: 0 e8 7a 20 dc ff callq ffffffff802478d1 <finish_wait>
ffffffff80485857: 88 c7 43 44 01 00 00 00 movl $0x1,0x44(%rbx)
ffffffff8048585e: 3431 fe 43 40 incb 0x40(%rbx)
ffffffff80485861: 1568 e8 00 4e db ff callq ffffffff8023a666 <local_bh_enable>
ffffffff80485866: 1548 48 83 c4 38 add $0x38,%rsp
ffffffff8048586a: 61 5b pop %rbx
ffffffff8048586b: 1568 5d pop %rbp
ffffffff8048586c: 36 41 5c pop %r12
ffffffff8048586e: 0 41 5d pop %r13
ffffffff80485870: 2753 c3 retq
which is:
1748 void lock_sock_nested(struct sock *sk, int subclass)
1749 {
1750 might_sleep();
1751 spin_lock_bh(&sk->sk_lock.slock);
1752 if (sk->sk_lock.owned)
1753 __lock_sock(sk);
1754 sk->sk_lock.owned = 1;
1755 spin_unlock(&sk->sk_lock.slock);
that branch in the middle should perhaps be:
if (unlikely(sk->sk_lock.owned))
to make this function fall-through.
Ingo
WARNING: multiple messages have this Message-ID (diff)
From: Ingo Molnar <mingo@elte.hu>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Eric Dumazet <dada1@cosmosbay.com>,
David Miller <davem@davemloft.net>,
rjw@sisk.pl, linux-kernel@vger.kernel.org,
kernel-testers@vger.kernel.org, cl@linux-foundation.org,
efault@gmx.de, a.p.zijlstra@chello.nl,
Stephen Hemminger <shemminger@vyatta.com>
Subject: tcp_recvmsg(): Re: [Bug #11308] tbench regression on each kernel release from 2.6.22 -> 2.6.28
Date: Mon, 17 Nov 2008 22:19:20 +0100 [thread overview]
Message-ID: <20081117211920.GG12020@elte.hu> (raw)
In-Reply-To: <20081117184951.GA5585@elte.hu>
* Ingo Molnar <mingo@elte.hu> wrote:
> 100.000000 total
> ................
> 1.833688 tcp_recvmsg
hits (total: 183368)
.........
ffffffff804bd46e: 882 <tcp_recvmsg>:
ffffffff804bd46e: 882 41 57 push %r15
ffffffff804bd470: 15507 48 89 f7 mov %rsi,%rdi
ffffffff804bd473: 179 41 56 push %r14
ffffffff804bd475: 0 49 89 ce mov %rcx,%r14
ffffffff804bd478: 744 41 55 push %r13
ffffffff804bd47a: 165 41 54 push %r12
ffffffff804bd47c: 0 45 89 c4 mov %r8d,%r12d
ffffffff804bd47f: 692 55 push %rbp
ffffffff804bd480: 178 44 89 cd mov %r9d,%ebp
ffffffff804bd483: 3434 53 push %rbx
ffffffff804bd484: 685 48 89 f3 mov %rsi,%rbx
ffffffff804bd487: 11 48 83 ec 68 sub $0x68,%rsp
ffffffff804bd48b: 949 48 89 54 24 30 mov %rdx,0x30(%rsp)
ffffffff804bd490: 7 e8 e8 e8 ff ff callq ffffffff804bbd7d <lock_sock>
ffffffff804bd495: 1771 8a 43 02 mov 0x2(%rbx),%al
ffffffff804bd498: 6176 3c 0a cmp $0xa,%al
ffffffff804bd49a: 0 0f 84 3a 06 00 00 je ffffffff804bdada <tcp_recvmsg+0x66c>
ffffffff804bd4a0: 3121 31 c0 xor %eax,%eax
ffffffff804bd4a2: 195 45 85 e4 test %r12d,%r12d
ffffffff804bd4a5: 0 75 07 jne ffffffff804bd4ae <tcp_recvmsg+0x40>
ffffffff804bd4a7: 926 48 8b 83 68 01 00 00 mov 0x168(%rbx),%rax
ffffffff804bd4ae: 189 40 f6 c5 01 test $0x1,%bpl
ffffffff804bd4b2: 0 48 89 44 24 58 mov %rax,0x58(%rsp)
ffffffff804bd4b7: 819 0f 85 33 06 00 00 jne ffffffff804bdaf0 <tcp_recvmsg+0x682>
ffffffff804bd4bd: 216 89 e8 mov %ebp,%eax
ffffffff804bd4bf: 0 83 e0 02 and $0x2,%eax
ffffffff804bd4c2: 638 89 44 24 3c mov %eax,0x3c(%rsp)
ffffffff804bd4c6: 177 75 0e jne ffffffff804bd4d6 <tcp_recvmsg+0x68>
ffffffff804bd4c8: 0 48 8d 93 f4 03 00 00 lea 0x3f4(%rbx),%rdx
ffffffff804bd4cf: 661 48 89 54 24 40 mov %rdx,0x40(%rsp)
ffffffff804bd4d4: 195 eb 14 jmp ffffffff804bd4ea <tcp_recvmsg+0x7c>
ffffffff804bd4d6: 0 8b 83 f4 03 00 00 mov 0x3f4(%rbx),%eax
ffffffff804bd4dc: 0 48 8d 4c 24 60 lea 0x60(%rsp),%rcx
ffffffff804bd4e1: 0 48 89 4c 24 40 mov %rcx,0x40(%rsp)
ffffffff804bd4e6: 0 89 44 24 60 mov %eax,0x60(%rsp)
ffffffff804bd4ea: 867 89 ee mov %ebp,%esi
ffffffff804bd4ec: 210 44 89 f2 mov %r14d,%edx
ffffffff804bd4ef: 0 48 89 df mov %rbx,%rdi
ffffffff804bd4f2: 894 81 e6 00 01 00 00 and $0x100,%esi
ffffffff804bd4f8: 192 45 31 ff xor %r15d,%r15d
ffffffff804bd4fb: 0 e8 fc df ff ff callq ffffffff804bb4fc <sock_rcvlowat>
ffffffff804bd500: 853 89 44 24 4c mov %eax,0x4c(%rsp)
ffffffff804bd504: 1857 48 8d 83 a8 00 00 00 lea 0xa8(%rbx),%rax
ffffffff804bd50b: 0 89 e9 mov %ebp,%ecx
ffffffff804bd50d: 595 48 8d 93 10 04 00 00 lea 0x410(%rbx),%rdx
ffffffff804bd514: 263 83 e1 22 and $0x22,%ecx
ffffffff804bd517: 0 83 e5 20 and $0x20,%ebp
ffffffff804bd51a: 601 48 89 44 24 28 mov %rax,0x28(%rsp)
ffffffff804bd51f: 254 48 8d 83 f8 04 00 00 lea 0x4f8(%rbx),%rax
ffffffff804bd526: 2 48 c7 44 24 50 00 00 movq $0x0,0x50(%rsp)
ffffffff804bd52d: 0 00 00
ffffffff804bd52f: 578 48 89 54 24 20 mov %rdx,0x20(%rsp)
ffffffff804bd534: 290 89 4c 24 1c mov %ecx,0x1c(%rsp)
ffffffff804bd538: 1 48 89 44 24 10 mov %rax,0x10(%rsp)
ffffffff804bd53d: 593 89 6c 24 0c mov %ebp,0xc(%rsp)
ffffffff804bd541: 568 66 83 bb 7c 04 00 00 cmpw $0x0,0x47c(%rbx)
ffffffff804bd548: 0 00
ffffffff804bd549: 3956 74 55 je ffffffff804bd5a0 <tcp_recvmsg+0x132>
ffffffff804bd54b: 0 48 8b 54 24 40 mov 0x40(%rsp),%rdx
ffffffff804bd550: 0 8b 83 84 05 00 00 mov 0x584(%rbx),%eax
ffffffff804bd556: 0 3b 02 cmp (%rdx),%eax
ffffffff804bd558: 0 75 46 jne ffffffff804bd5a0 <tcp_recvmsg+0x132>
ffffffff804bd55a: 0 45 85 ff test %r15d,%r15d
ffffffff804bd55d: 0 0f 85 e6 04 00 00 jne ffffffff804bda49 <tcp_recvmsg+0x5db>
ffffffff804bd563: 0 65 48 8b 3c 25 00 00 mov %gs:0x0,%rdi
ffffffff804bd56a: 0 00 00
ffffffff804bd56c: 0 e8 4c e1 ff ff callq ffffffff804bb6bd <signal_pending>
ffffffff804bd571: 0 85 c0 test %eax,%eax
ffffffff804bd573: 0 74 2b je ffffffff804bd5a0 <tcp_recvmsg+0x132>
ffffffff804bd575: 0 48 8b 54 24 58 mov 0x58(%rsp),%rdx
ffffffff804bd57a: 0 41 bf f5 ff ff ff mov $0xfffffff5,%r15d
ffffffff804bd580: 0 48 85 d2 test %rdx,%rdx
ffffffff804bd583: 0 0f 84 c0 04 00 00 je ffffffff804bda49 <tcp_recvmsg+0x5db>
ffffffff804bd589: 0 48 b8 ff ff ff ff ff mov $0x7fffffffffffffff,%rax
ffffffff804bd590: 0 ff ff 7f
ffffffff804bd593: 0 66 41 bf 00 fe mov $0xfe00,%r15w
ffffffff804bd598: 0 48 39 c2 cmp %rax,%rdx
ffffffff804bd59b: 0 e9 89 01 00 00 jmpq ffffffff804bd729 <tcp_recvmsg+0x2bb>
ffffffff804bd5a0: 597 48 8b ab a8 00 00 00 mov 0xa8(%rbx),%rbp
ffffffff804bd5a7: 4601 48 3b 6c 24 28 cmp 0x28(%rsp),%rbp
ffffffff804bd5ac: 1 b8 00 00 00 00 mov $0x0,%eax
ffffffff804bd5b1: 1769 48 0f 44 e8 cmove %rax,%rbp
ffffffff804bd5b5: 473 48 85 ed test %rbp,%rbp
ffffffff804bd5b8: 0 74 76 je ffffffff804bd630 <tcp_recvmsg+0x1c2>
ffffffff804bd5ba: 595 48 8b 4c 24 40 mov 0x40(%rsp),%rcx
ffffffff804bd5bf: 897 8b 55 50 mov 0x50(%rbp),%edx
ffffffff804bd5c2: 89 8b 31 mov (%rcx),%esi
ffffffff804bd5c4: 581 41 89 f5 mov %esi,%r13d
ffffffff804bd5c7: 301 41 29 d5 sub %edx,%r13d
ffffffff804bd5ca: 33 79 10 jns ffffffff804bd5dc <tcp_recvmsg+0x16e>
ffffffff804bd5cc: 0 48 c7 c7 48 d9 6a 80 mov $0xffffffff806ad948,%rdi
ffffffff804bd5d3: 0 31 c0 xor %eax,%eax
ffffffff804bd5d5: 0 e8 9a 97 d7 ff callq ffffffff80236d74 <printk>
ffffffff804bd5da: 0 eb 54 jmp ffffffff804bd630 <tcp_recvmsg+0x1c2>
ffffffff804bd5dc: 584 8b 85 b8 00 00 00 mov 0xb8(%rbp),%eax
ffffffff804bd5e2: 1061 48 8b 95 d0 00 00 00 mov 0xd0(%rbp),%rdx
ffffffff804bd5e9: 1 8a 54 02 0d mov 0xd(%rdx,%rax,1),%dl
ffffffff804bd5ed: 0 88 d0 mov %dl,%al
ffffffff804bd5ef: 876 83 e0 02 and $0x2,%eax
ffffffff804bd5f2: 0 3c 01 cmp $0x1,%al
ffffffff804bd5f4: 0 8b 45 68 mov 0x68(%rbp),%eax
ffffffff804bd5f7: 909 41 83 d5 ff adc $0xffffffffffffffff,%r13d
ffffffff804bd5fb: 0 41 39 c5 cmp %eax,%r13d
ffffffff804bd5fe: 0 0f 82 df 02 00 00 jb ffffffff804bd8e3 <tcp_recvmsg+0x475>
ffffffff804bd604: 0 80 e2 01 and $0x1,%dl
ffffffff804bd607: 0 0f 85 16 04 00 00 jne ffffffff804bda23 <tcp_recvmsg+0x5b5>
ffffffff804bd60d: 0 83 7c 24 3c 00 cmpl $0x0,0x3c(%rsp)
ffffffff804bd612: 0 75 11 jne ffffffff804bd625 <tcp_recvmsg+0x1b7>
ffffffff804bd614: 0 be 53 05 00 00 mov $0x553,%esi
ffffffff804bd619: 0 48 c7 c7 13 d9 6a 80 mov $0xffffffff806ad913,%rdi
ffffffff804bd620: 0 e8 90 8b d7 ff callq ffffffff802361b5 <warn_on_slowpath>
ffffffff804bd625: 0 48 8b 6d 00 mov 0x0(%rbp),%rbp
ffffffff804bd629: 0 48 3b 6c 24 28 cmp 0x28(%rsp),%rbp
ffffffff804bd62e: 0 75 85 jne ffffffff804bd5b5 <tcp_recvmsg+0x147>
ffffffff804bd630: 80 44 3b 7c 24 4c cmp 0x4c(%rsp),%r15d
ffffffff804bd635: 4164 7c 0b jl ffffffff804bd642 <tcp_recvmsg+0x1d4>
ffffffff804bd637: 0 48 83 7b 68 00 cmpq $0x0,0x68(%rbx)
ffffffff804bd63c: 0 0f 84 07 04 00 00 je ffffffff804bda49 <tcp_recvmsg+0x5db>
ffffffff804bd642: 1 45 85 ff test %r15d,%r15d
ffffffff804bd645: 3438 74 49 je ffffffff804bd690 <tcp_recvmsg+0x222>
ffffffff804bd647: 0 83 bb 44 01 00 00 00 cmpl $0x0,0x144(%rbx)
ffffffff804bd64e: 0 0f 85 f5 03 00 00 jne ffffffff804bda49 <tcp_recvmsg+0x5db>
ffffffff804bd654: 0 8a 43 02 mov 0x2(%rbx),%al
ffffffff804bd657: 0 3c 07 cmp $0x7,%al
ffffffff804bd659: 0 0f 84 ea 03 00 00 je ffffffff804bda49 <tcp_recvmsg+0x5db>
ffffffff804bd65f: 0 f6 43 38 01 testb $0x1,0x38(%rbx)
ffffffff804bd663: 0 0f 85 e0 03 00 00 jne ffffffff804bda49 <tcp_recvmsg+0x5db>
ffffffff804bd669: 0 48 83 7c 24 58 00 cmpq $0x0,0x58(%rsp)
ffffffff804bd66f: 0 0f 84 d4 03 00 00 je ffffffff804bda49 <tcp_recvmsg+0x5db>
ffffffff804bd675: 0 65 48 8b 3c 25 00 00 mov %gs:0x0,%rdi
ffffffff804bd67c: 0 00 00
ffffffff804bd67e: 0 e8 3a e0 ff ff callq ffffffff804bb6bd <signal_pending>
ffffffff804bd683: 0 85 c0 test %eax,%eax
ffffffff804bd685: 0 0f 84 ac 00 00 00 je ffffffff804bd737 <tcp_recvmsg+0x2c9>
ffffffff804bd68b: 0 e9 b9 03 00 00 jmpq ffffffff804bda49 <tcp_recvmsg+0x5db>
ffffffff804bd690: 0 be 01 00 00 00 mov $0x1,%esi
ffffffff804bd695: 4166 48 89 df mov %rbx,%rdi
ffffffff804bd698: 0 e8 7b de ff ff callq ffffffff804bb518 <sock_flag>
ffffffff804bd69d: 0 85 c0 test %eax,%eax
ffffffff804bd69f: 276 0f 85 a4 03 00 00 jne ffffffff804bda49 <tcp_recvmsg+0x5db>
ffffffff804bd6a5: 126 83 bb 44 01 00 00 00 cmpl $0x0,0x144(%rbx)
ffffffff804bd6ac: 0 74 10 je ffffffff804bd6be <tcp_recvmsg+0x250>
ffffffff804bd6ae: 0 48 89 df mov %rbx,%rdi
ffffffff804bd6b1: 0 e8 00 df ff ff callq ffffffff804bb5b6 <sock_error>
ffffffff804bd6b6: 0 41 89 c7 mov %eax,%r15d
ffffffff804bd6b9: 0 e9 8b 03 00 00 jmpq ffffffff804bda49 <tcp_recvmsg+0x5db>
ffffffff804bd6be: 112 f6 43 38 01 testb $0x1,0x38(%rbx)
ffffffff804bd6c2: 3451 0f 85 81 03 00 00 jne ffffffff804bda49 <tcp_recvmsg+0x5db>
ffffffff804bd6c8: 497 8a 43 02 mov 0x2(%rbx),%al
ffffffff804bd6cb: 0 3c 07 cmp $0x7,%al
ffffffff804bd6cd: 113 75 20 jne ffffffff804bd6ef <tcp_recvmsg+0x281>
ffffffff804bd6cf: 0 be 01 00 00 00 mov $0x1,%esi
ffffffff804bd6d4: 0 48 89 df mov %rbx,%rdi
ffffffff804bd6d7: 0 e8 3c de ff ff callq ffffffff804bb518 <sock_flag>
ffffffff804bd6dc: 0 85 c0 test %eax,%eax
ffffffff804bd6de: 0 0f 85 65 03 00 00 jne ffffffff804bda49 <tcp_recvmsg+0x5db>
ffffffff804bd6e4: 0 41 bf 95 ff ff ff mov $0xffffff95,%r15d
ffffffff804bd6ea: 0 e9 5a 03 00 00 jmpq ffffffff804bda49 <tcp_recvmsg+0x5db>
ffffffff804bd6ef: 118 48 83 7c 24 58 00 cmpq $0x0,0x58(%rsp)
ffffffff804bd6f5: 398 75 0b jne ffffffff804bd702 <tcp_recvmsg+0x294>
ffffffff804bd6f7: 0 41 bf f5 ff ff ff mov $0xfffffff5,%r15d
ffffffff804bd6fd: 0 e9 47 03 00 00 jmpq ffffffff804bda49 <tcp_recvmsg+0x5db>
ffffffff804bd702: 0 65 48 8b 3c 25 00 00 mov %gs:0x0,%rdi
ffffffff804bd709: 0 00 00
ffffffff804bd70b: 2993 e8 ad df ff ff callq ffffffff804bb6bd <signal_pending>
ffffffff804bd710: 200 85 c0 test %eax,%eax
ffffffff804bd712: 0 74 23 je ffffffff804bd737 <tcp_recvmsg+0x2c9>
ffffffff804bd714: 0 48 b8 ff ff ff ff ff mov $0x7fffffffffffffff,%rax
ffffffff804bd71b: 0 ff ff 7f
ffffffff804bd71e: 0 48 39 44 24 58 cmp %rax,0x58(%rsp)
ffffffff804bd723: 0 41 bf 00 fe ff ff mov $0xfffffe00,%r15d
ffffffff804bd729: 0 b8 fc ff ff ff mov $0xfffffffc,%eax
ffffffff804bd72e: 0 44 0f 45 f8 cmovne %eax,%r15d
ffffffff804bd732: 0 e9 12 03 00 00 jmpq ffffffff804bda49 <tcp_recvmsg+0x5db>
ffffffff804bd737: 207 44 89 fe mov %r15d,%esi
ffffffff804bd73a: 198 48 89 df mov %rbx,%rdi
ffffffff804bd73d: 0 e8 cc e9 ff ff callq ffffffff804bc10e <tcp_cleanup_rbuf>
ffffffff804bd742: 227 83 3d 9b ad 3f 00 00 cmpl $0x0,0x3fad9b(%rip) # ffffffff808b84e4 <sysctl_tcp_low_latency>
ffffffff804bd749: 210 0f 85 81 00 00 00 jne ffffffff804bd7d0 <tcp_recvmsg+0x362>
ffffffff804bd74f: 0 48 8b ab 28 04 00 00 mov 0x428(%rbx),%rbp
ffffffff804bd756: 0 48 3b 6c 24 50 cmp 0x50(%rsp),%rbp
ffffffff804bd75b: 232 75 73 jne ffffffff804bd7d0 <tcp_recvmsg+0x362>
ffffffff804bd75d: 0 48 83 7c 24 50 00 cmpq $0x0,0x50(%rsp)
ffffffff804bd763: 7 75 27 jne ffffffff804bd78c <tcp_recvmsg+0x31e>
ffffffff804bd765: 229 83 7c 24 1c 00 cmpl $0x0,0x1c(%rsp)
ffffffff804bd76a: 30 75 20 jne ffffffff804bd78c <tcp_recvmsg+0x31e>
ffffffff804bd76c: 7 48 8b 54 24 30 mov 0x30(%rsp),%rdx
ffffffff804bd771: 191 65 48 8b 2c 25 00 00 mov %gs:0x0,%rbp
ffffffff804bd778: 0 00 00
ffffffff804bd77a: 12 48 89 ab 28 04 00 00 mov %rbp,0x428(%rbx)
ffffffff804bd781: 2617 48 8b 42 10 mov 0x10(%rdx),%rax
ffffffff804bd785: 670 48 89 83 30 04 00 00 mov %rax,0x430(%rbx)
ffffffff804bd78c: 11 8b 83 f4 03 00 00 mov 0x3f4(%rbx),%eax
ffffffff804bd792: 188 3b 83 f0 03 00 00 cmp 0x3f0(%rbx),%eax
ffffffff804bd798: 166 44 89 b3 3c 04 00 00 mov %r14d,0x43c(%rbx)
ffffffff804bd79f: 5 74 18 je ffffffff804bd7b9 <tcp_recvmsg+0x34b>
ffffffff804bd7a1: 0 83 7c 24 1c 00 cmpl $0x0,0x1c(%rsp)
ffffffff804bd7a6: 0 75 11 jne ffffffff804bd7b9 <tcp_recvmsg+0x34b>
ffffffff804bd7a8: 0 be 92 05 00 00 mov $0x592,%esi
ffffffff804bd7ad: 0 48 c7 c7 13 d9 6a 80 mov $0xffffffff806ad913,%rdi
ffffffff804bd7b4: 0 e8 fc 89 d7 ff callq ffffffff802361b5 <warn_on_slowpath>
ffffffff804bd7b9: 336 48 8b 4c 24 20 mov 0x20(%rsp),%rcx
ffffffff804bd7be: 302 48 39 8b 10 04 00 00 cmp %rcx,0x410(%rbx)
ffffffff804bd7c5: 1176 48 89 6c 24 50 mov %rbp,0x50(%rsp)
ffffffff804bd7ca: 244 0f 85 81 00 00 00 jne ffffffff804bd851 <tcp_recvmsg+0x3e3>
ffffffff804bd7d0: 135 44 3b 7c 24 4c cmp 0x4c(%rsp),%r15d
ffffffff804bd7d5: 112 7c 12 jl ffffffff804bd7e9 <tcp_recvmsg+0x37b>
ffffffff804bd7d7: 0 48 89 df mov %rbx,%rdi
ffffffff804bd7da: 0 e8 57 7f fc ff callq ffffffff80485736 <release_sock>
ffffffff804bd7df: 0 48 89 df mov %rbx,%rdi
ffffffff804bd7e2: 0 e8 96 e5 ff ff callq ffffffff804bbd7d <lock_sock>
ffffffff804bd7e7: 0 eb 0d jmp ffffffff804bd7f6 <tcp_recvmsg+0x388>
ffffffff804bd7e9: 152 48 8d 74 24 58 lea 0x58(%rsp),%rsi
ffffffff804bd7ee: 563 48 89 df mov %rbx,%rdi
ffffffff804bd7f1: 59 e8 83 99 fc ff callq ffffffff80487179 <sk_wait_data>
ffffffff804bd7f6: 86 48 83 7c 24 50 00 cmpq $0x0,0x50(%rsp)
ffffffff804bd7fc: 8550 0f 84 8a 00 00 00 je ffffffff804bd88c <tcp_recvmsg+0x41e>
ffffffff804bd802: 4038 44 89 f1 mov %r14d,%ecx
ffffffff804bd805: 900 2b 8b 3c 04 00 00 sub 0x43c(%rbx),%ecx
ffffffff804bd80b: 5 74 28 je ffffffff804bd835 <tcp_recvmsg+0x3c7>
ffffffff804bd80d: 0 48 8b 05 ac 3e 5f 00 mov 0x5f3eac(%rip),%rax # ffffffff80ab16c0 <init_net+0xf0>
ffffffff804bd814: 1 41 01 cf add %ecx,%r15d
ffffffff804bd817: 0 65 8b 14 25 24 00 00 mov %gs:0x24,%edx
ffffffff804bd81e: 0 00
ffffffff804bd81f: 0 89 d2 mov %edx,%edx
ffffffff804bd821: 0 48 f7 d0 not %rax
ffffffff804bd824: 0 48 8b 04 d0 mov (%rax,%rdx,8),%rax
ffffffff804bd828: 0 48 63 d1 movslq %ecx,%rdx
ffffffff804bd82b: 0 49 29 d6 sub %rdx,%r14
ffffffff804bd82e: 0 48 01 90 b8 00 00 00 add %rdx,0xb8(%rax)
ffffffff804bd835: 4 8b 83 f0 03 00 00 mov 0x3f0(%rbx),%eax
ffffffff804bd83b: 373 3b 83 f4 03 00 00 cmp 0x3f4(%rbx),%eax
ffffffff804bd841: 3604 75 49 jne ffffffff804bd88c <tcp_recvmsg+0x41e>
ffffffff804bd843: 0 48 8b 44 24 20 mov 0x20(%rsp),%rax
ffffffff804bd848: 971 48 39 83 10 04 00 00 cmp %rax,0x410(%rbx)
ffffffff804bd84f: 11 74 3b je ffffffff804bd88c <tcp_recvmsg+0x41e>
ffffffff804bd851: 6 48 89 df mov %rbx,%rdi
ffffffff804bd854: 267 e8 94 e6 ff ff callq ffffffff804bbeed <tcp_prequeue_process>
ffffffff804bd859: 0 44 89 f1 mov %r14d,%ecx
ffffffff804bd85c: 879 2b 8b 3c 04 00 00 sub 0x43c(%rbx),%ecx
ffffffff804bd862: 256 74 28 je ffffffff804bd88c <tcp_recvmsg+0x41e>
ffffffff804bd864: 0 48 8b 05 55 3e 5f 00 mov 0x5f3e55(%rip),%rax # ffffffff80ab16c0 <init_net+0xf0>
ffffffff804bd86b: 116 41 01 cf add %ecx,%r15d
ffffffff804bd86e: 17 65 8b 14 25 24 00 00 mov %gs:0x24,%edx
ffffffff804bd875: 0 00
ffffffff804bd876: 0 89 d2 mov %edx,%edx
ffffffff804bd878: 1 48 f7 d0 not %rax
ffffffff804bd87b: 5 48 8b 04 d0 mov (%rax,%rdx,8),%rax
ffffffff804bd87f: 0 48 63 d1 movslq %ecx,%rdx
ffffffff804bd882: 6 49 29 d6 sub %rdx,%r14
ffffffff804bd885: 7 48 01 90 c0 00 00 00 add %rdx,0xc0(%rax)
ffffffff804bd88c: 11 83 7c 24 3c 00 cmpl $0x0,0x3c(%rsp)
ffffffff804bd891: 438 0f 84 a9 01 00 00 je ffffffff804bda40 <tcp_recvmsg+0x5d2>
ffffffff804bd897: 0 8b 44 24 60 mov 0x60(%rsp),%eax
ffffffff804bd89b: 0 3b 83 f4 03 00 00 cmp 0x3f4(%rbx),%eax
ffffffff804bd8a1: 0 0f 84 99 01 00 00 je ffffffff804bda40 <tcp_recvmsg+0x5d2>
ffffffff804bd8a7: 0 e8 19 ad fd ff callq ffffffff804985c5 <net_ratelimit>
ffffffff804bd8ac: 0 85 c0 test %eax,%eax
ffffffff804bd8ae: 0 74 24 je ffffffff804bd8d4 <tcp_recvmsg+0x466>
ffffffff804bd8b0: 0 65 48 8b 34 25 00 00 mov %gs:0x0,%rsi
ffffffff804bd8b7: 0 00 00
ffffffff804bd8b9: 0 8b 96 70 01 00 00 mov 0x170(%rsi),%edx
ffffffff804bd8bf: 0 48 c7 c7 6a d9 6a 80 mov $0xffffffff806ad96a,%rdi
ffffffff804bd8c6: 0 48 81 c6 68 03 00 00 add $0x368,%rsi
ffffffff804bd8cd: 0 31 c0 xor %eax,%eax
ffffffff804bd8cf: 0 e8 a0 94 d7 ff callq ffffffff80236d74 <printk>
ffffffff804bd8d4: 0 8b 83 f4 03 00 00 mov 0x3f4(%rbx),%eax
ffffffff804bd8da: 0 89 44 24 60 mov %eax,0x60(%rsp)
ffffffff804bd8de: 0 e9 5d 01 00 00 jmpq ffffffff804bda40 <tcp_recvmsg+0x5d2>
ffffffff804bd8e3: 4077 44 29 e8 sub %r13d,%eax
ffffffff804bd8e6: 6031 4d 89 f4 mov %r14,%r12
ffffffff804bd8e9: 0 4c 39 f0 cmp %r14,%rax
ffffffff804bd8ec: 0 4c 0f 46 e0 cmovbe %rax,%r12
ffffffff804bd8f0: 934 66 83 bb 7c 04 00 00 cmpw $0x0,0x47c(%rbx)
ffffffff804bd8f7: 0 00
ffffffff804bd8f8: 0 74 38 je ffffffff804bd932 <tcp_recvmsg+0x4c4>
ffffffff804bd8fa: 0 8b 83 84 05 00 00 mov 0x584(%rbx),%eax
ffffffff804bd900: 0 29 f0 sub %esi,%eax
ffffffff804bd902: 0 89 c2 mov %eax,%edx
ffffffff804bd904: 0 4c 39 e2 cmp %r12,%rdx
ffffffff804bd907: 0 73 29 jae ffffffff804bd932 <tcp_recvmsg+0x4c4>
ffffffff804bd909: 0 85 c0 test %eax,%eax
ffffffff804bd90b: 0 74 05 je ffffffff804bd912 <tcp_recvmsg+0x4a4>
ffffffff804bd90d: 0 49 89 d4 mov %rdx,%r12
ffffffff804bd910: 0 eb 20 jmp ffffffff804bd932 <tcp_recvmsg+0x4c4>
ffffffff804bd912: 0 be 02 00 00 00 mov $0x2,%esi
ffffffff804bd917: 0 48 89 df mov %rbx,%rdi
ffffffff804bd91a: 0 e8 f9 db ff ff callq ffffffff804bb518 <sock_flag>
ffffffff804bd91f: 0 85 c0 test %eax,%eax
ffffffff804bd921: 0 75 0f jne ffffffff804bd932 <tcp_recvmsg+0x4c4>
ffffffff804bd923: 0 48 8b 54 24 40 mov 0x40(%rsp),%rdx
ffffffff804bd928: 0 41 ff c5 inc %r13d
ffffffff804bd92b: 0 ff 02 incl (%rdx)
ffffffff804bd92d: 0 49 ff cc dec %r12
ffffffff804bd930: 0 74 4c je ffffffff804bd97e <tcp_recvmsg+0x510>
ffffffff804bd932: 906 83 7c 24 0c 00 cmpl $0x0,0xc(%rsp)
ffffffff804bd937: 6039 75 2f jne ffffffff804bd968 <tcp_recvmsg+0x4fa>
ffffffff804bd939: 48 48 8b 4c 24 30 mov 0x30(%rsp),%rcx
ffffffff804bd93e: 1412 44 89 ee mov %r13d,%esi
ffffffff804bd941: 6648 48 89 ef mov %rbp,%rdi
ffffffff804bd944: 0 48 8b 51 10 mov 0x10(%rcx),%rdx
ffffffff804bd948: 1524 44 89 e1 mov %r12d,%ecx
ffffffff804bd94b: 167 e8 c5 d3 fc ff callq ffffffff8048ad15 <skb_copy_datagram_iovec>
ffffffff804bd950: 0 85 c0 test %eax,%eax
ffffffff804bd952: 1038 74 14 je ffffffff804bd968 <tcp_recvmsg+0x4fa>
ffffffff804bd954: 0 45 85 ff test %r15d,%r15d
ffffffff804bd957: 0 0f 85 ec 00 00 00 jne ffffffff804bda49 <tcp_recvmsg+0x5db>
ffffffff804bd95d: 0 41 bf f2 ff ff ff mov $0xfffffff2,%r15d
ffffffff804bd963: 0 e9 e1 00 00 00 jmpq ffffffff804bda49 <tcp_recvmsg+0x5db>
ffffffff804bd968: 28 48 8b 54 24 40 mov 0x40(%rsp),%rdx
ffffffff804bd96d: 5713 48 89 df mov %rbx,%rdi
ffffffff804bd970: 241 45 01 e7 add %r12d,%r15d
ffffffff804bd973: 27 4d 29 e6 sub %r12,%r14
ffffffff804bd976: 626 44 01 22 add %r12d,(%rdx)
ffffffff804bd979: 221 e8 fe 11 00 00 callq ffffffff804beb7c <tcp_rcv_space_adjust>
ffffffff804bd97e: 1425 66 83 bb 7c 04 00 00 cmpw $0x0,0x47c(%rbx)
ffffffff804bd985: 0 00
ffffffff804bd986: 3430 74 63 je ffffffff804bd9eb <tcp_recvmsg+0x57d>
ffffffff804bd988: 0 8b 8b f4 03 00 00 mov 0x3f4(%rbx),%ecx
ffffffff804bd98e: 0 39 8b 84 05 00 00 cmp %ecx,0x584(%rbx)
ffffffff804bd994: 0 79 55 jns ffffffff804bd9eb <tcp_recvmsg+0x57d>
ffffffff804bd996: 0 48 8b 44 24 10 mov 0x10(%rsp),%rax
ffffffff804bd99b: 0 48 39 83 f8 04 00 00 cmp %rax,0x4f8(%rbx)
ffffffff804bd9a2: 0 66 c7 83 7c 04 00 00 movw $0x0,0x47c(%rbx)
ffffffff804bd9a9: 0 00 00
ffffffff804bd9ab: 0 75 3e jne ffffffff804bd9eb <tcp_recvmsg+0x57d>
ffffffff804bd9ad: 0 83 bb c0 04 00 00 00 cmpl $0x0,0x4c0(%rbx)
ffffffff804bd9b4: 0 74 35 je ffffffff804bd9eb <tcp_recvmsg+0x57d>
ffffffff804bd9b6: 0 8b 83 94 00 00 00 mov 0x94(%rbx),%eax
ffffffff804bd9bc: 0 3b 43 3c cmp 0x3c(%rbx),%eax
ffffffff804bd9bf: 0 7d 2a jge ffffffff804bd9eb <tcp_recvmsg+0x57d>
ffffffff804bd9c1: 0 0f b7 83 e8 03 00 00 movzwl 0x3e8(%rbx),%eax
ffffffff804bd9c8: 0 8a 8b 9d 04 00 00 mov 0x49d(%rbx),%cl
ffffffff804bd9ce: 0 8b 93 44 04 00 00 mov 0x444(%rbx),%edx
ffffffff804bd9d4: 0 83 e1 0f and $0xf,%ecx
ffffffff804bd9d7: 0 c1 e0 1a shl $0x1a,%eax
ffffffff804bd9da: 0 d3 ea shr %cl,%edx
ffffffff804bd9dc: 0 09 d0 or %edx,%eax
ffffffff804bd9de: 0 0d 00 00 10 00 or $0x100000,%eax
ffffffff804bd9e3: 0 0f c8 bswap %eax
ffffffff804bd9e5: 0 89 83 ec 03 00 00 mov %eax,0x3ec(%rbx)
ffffffff804bd9eb: 0 8b 55 68 mov 0x68(%rbp),%edx
ffffffff804bd9ee: 1655 44 89 e8 mov %r13d,%eax
ffffffff804bd9f1: 32 4c 01 e0 add %r12,%rax
ffffffff804bd9f4: 0 48 39 d0 cmp %rdx,%rax
ffffffff804bd9f7: 847 72 47 jb ffffffff804bda40 <tcp_recvmsg+0x5d2>
ffffffff804bd9f9: 0 8b 95 b8 00 00 00 mov 0xb8(%rbp),%edx
ffffffff804bd9ff: 80 48 8b 85 d0 00 00 00 mov 0xd0(%rbp),%rax
ffffffff804bda06: 441 f6 44 02 0d 01 testb $0x1,0xd(%rdx,%rax,1)
ffffffff804bda0b: 0 75 16 jne ffffffff804bda23 <tcp_recvmsg+0x5b5>
ffffffff804bda0d: 0 83 7c 24 3c 00 cmpl $0x0,0x3c(%rsp)
ffffffff804bda12: 453 75 2c jne ffffffff804bda40 <tcp_recvmsg+0x5d2>
ffffffff804bda14: 0 31 d2 xor %edx,%edx
ffffffff804bda16: 0 48 89 ee mov %rbp,%rsi
ffffffff804bda19: 477 48 89 df mov %rbx,%rdi
ffffffff804bda1c: 0 e8 0f e4 ff ff callq ffffffff804bbe30 <sk_eat_skb>
ffffffff804bda21: 562 eb 1d jmp ffffffff804bda40 <tcp_recvmsg+0x5d2>
ffffffff804bda23: 0 48 8b 54 24 40 mov 0x40(%rsp),%rdx
ffffffff804bda28: 0 ff 02 incl (%rdx)
ffffffff804bda2a: 0 83 7c 24 3c 00 cmpl $0x0,0x3c(%rsp)
ffffffff804bda2f: 0 75 18 jne ffffffff804bda49 <tcp_recvmsg+0x5db>
ffffffff804bda31: 0 31 d2 xor %edx,%edx
ffffffff804bda33: 0 48 89 ee mov %rbp,%rsi
ffffffff804bda36: 0 48 89 df mov %rbx,%rdi
ffffffff804bda39: 0 e8 f2 e3 ff ff callq ffffffff804bbe30 <sk_eat_skb>
ffffffff804bda3e: 0 eb 09 jmp ffffffff804bda49 <tcp_recvmsg+0x5db>
ffffffff804bda40: 959 4d 85 f6 test %r14,%r14
ffffffff804bda43: 4766 0f 85 f8 fa ff ff jne ffffffff804bd541 <tcp_recvmsg+0xd3>
ffffffff804bda49: 217 48 83 7c 24 50 00 cmpq $0x0,0x50(%rsp)
ffffffff804bda4f: 2084 74 71 je ffffffff804bdac2 <tcp_recvmsg+0x654>
ffffffff804bda51: 40 48 8d 83 10 04 00 00 lea 0x410(%rbx),%rax
ffffffff804bda58: 448 48 39 83 10 04 00 00 cmp %rax,0x410(%rbx)
ffffffff804bda5f: 4 74 4c je ffffffff804bdaad <tcp_recvmsg+0x63f>
ffffffff804bda61: 0 31 c0 xor %eax,%eax
ffffffff804bda63: 0 45 85 ff test %r15d,%r15d
ffffffff804bda66: 0 48 89 df mov %rbx,%rdi
ffffffff804bda69: 0 41 0f 4f c6 cmovg %r14d,%eax
ffffffff804bda6d: 0 89 83 3c 04 00 00 mov %eax,0x43c(%rbx)
ffffffff804bda73: 0 e8 75 e4 ff ff callq ffffffff804bbeed <tcp_prequeue_process>
ffffffff804bda78: 0 45 85 ff test %r15d,%r15d
ffffffff804bda7b: 0 7e 30 jle ffffffff804bdaad <tcp_recvmsg+0x63f>
ffffffff804bda7d: 0 44 89 f1 mov %r14d,%ecx
ffffffff804bda80: 0 2b 8b 3c 04 00 00 sub 0x43c(%rbx),%ecx
ffffffff804bda86: 0 74 25 je ffffffff804bdaad <tcp_recvmsg+0x63f>
ffffffff804bda88: 0 48 8b 05 31 3c 5f 00 mov 0x5f3c31(%rip),%rax # ffffffff80ab16c0 <init_net+0xf0>
ffffffff804bda8f: 0 41 01 cf add %ecx,%r15d
ffffffff804bda92: 0 65 8b 14 25 24 00 00 mov %gs:0x24,%edx
ffffffff804bda99: 0 00
ffffffff804bda9a: 0 89 d2 mov %edx,%edx
ffffffff804bda9c: 0 48 f7 d0 not %rax
ffffffff804bda9f: 0 48 8b 14 d0 mov (%rax,%rdx,8),%rdx
ffffffff804bdaa3: 0 48 63 c1 movslq %ecx,%rax
ffffffff804bdaa6: 0 48 01 82 c0 00 00 00 add %rax,0xc0(%rdx)
ffffffff804bdaad: 214 48 c7 83 28 04 00 00 movq $0x0,0x428(%rbx)
ffffffff804bdab4: 0 00 00 00 00
ffffffff804bdab8: 1530 c7 83 3c 04 00 00 00 movl $0x0,0x43c(%rbx)
ffffffff804bdabf: 0 00 00 00
ffffffff804bdac2: 1135 48 89 df mov %rbx,%rdi
ffffffff804bdac5: 3909 44 89 fe mov %r15d,%esi
ffffffff804bdac8: 0 e8 41 e6 ff ff callq ffffffff804bc10e <tcp_cleanup_rbuf>
ffffffff804bdacd: 1724 48 89 df mov %rbx,%rdi
ffffffff804bdad0: 932 e8 61 7c fc ff callq ffffffff80485736 <release_sock>
ffffffff804bdad5: 4661 e9 12 01 00 00 jmpq ffffffff804bdbec <tcp_recvmsg+0x77e>
ffffffff804bdada: 0 41 bc 95 ff ff ff mov $0xffffff95,%r12d
ffffffff804bdae0: 0 48 89 df mov %rbx,%rdi
ffffffff804bdae3: 0 45 89 e7 mov %r12d,%r15d
ffffffff804bdae6: 0 e8 4b 7c fc ff callq ffffffff80485736 <release_sock>
ffffffff804bdaeb: 0 e9 fc 00 00 00 jmpq ffffffff804bdbec <tcp_recvmsg+0x77e>
ffffffff804bdaf0: 0 be 02 00 00 00 mov $0x2,%esi
ffffffff804bdaf5: 0 48 89 df mov %rbx,%rdi
ffffffff804bdaf8: 0 e8 1b da ff ff callq ffffffff804bb518 <sock_flag>
ffffffff804bdafd: 0 85 c0 test %eax,%eax
ffffffff804bdaff: 0 0f 85 d4 00 00 00 jne ffffffff804bdbd9 <tcp_recvmsg+0x76b>
ffffffff804bdb05: 0 8b 83 7c 04 00 00 mov 0x47c(%rbx),%eax
ffffffff804bdb0b: 0 66 85 c0 test %ax,%ax
ffffffff804bdb0e: 0 0f 84 c5 00 00 00 je ffffffff804bdbd9 <tcp_recvmsg+0x76b>
ffffffff804bdb14: 0 66 3d 00 04 cmp $0x400,%ax
ffffffff804bdb18: 0 0f 84 bb 00 00 00 je ffffffff804bdbd9 <tcp_recvmsg+0x76b>
ffffffff804bdb1e: 0 8a 43 02 mov 0x2(%rbx),%al
ffffffff804bdb21: 0 3c 07 cmp $0x7,%al
ffffffff804bdb23: 0 75 17 jne ffffffff804bdb3c <tcp_recvmsg+0x6ce>
ffffffff804bdb25: 0 be 01 00 00 00 mov $0x1,%esi
ffffffff804bdb2a: 0 48 89 df mov %rbx,%rdi
ffffffff804bdb2d: 0 41 bc 95 ff ff ff mov $0xffffff95,%r12d
ffffffff804bdb33: 0 e8 e0 d9 ff ff callq ffffffff804bb518 <sock_flag>
ffffffff804bdb38: 0 85 c0 test %eax,%eax
ffffffff804bdb3a: 0 74 a4 je ffffffff804bdae0 <tcp_recvmsg+0x672>
ffffffff804bdb3c: 0 8b 83 7c 04 00 00 mov 0x47c(%rbx),%eax
ffffffff804bdb42: 0 f6 c4 01 test $0x1,%ah
ffffffff804bdb45: 0 74 79 je ffffffff804bdbc0 <tcp_recvmsg+0x752>
ffffffff804bdb47: 0 40 f6 c5 02 test $0x2,%bpl
ffffffff804bdb4b: 0 88 44 24 67 mov %al,0x67(%rsp)
ffffffff804bdb4f: 0 75 09 jne ffffffff804bdb5a <tcp_recvmsg+0x6ec>
ffffffff804bdb51: 0 66 c7 83 7c 04 00 00 movw $0x400,0x47c(%rbx)
ffffffff804bdb58: 0 00 04
ffffffff804bdb5a: 0 48 8b 4c 24 30 mov 0x30(%rsp),%rcx
ffffffff804bdb5f: 0 45 89 f4 mov %r14d,%r12d
ffffffff804bdb62: 0 8b 51 30 mov 0x30(%rcx),%edx
ffffffff804bdb65: 0 89 d0 mov %edx,%eax
ffffffff804bdb67: 0 83 c8 01 or $0x1,%eax
ffffffff804bdb6a: 0 45 85 f6 test %r14d,%r14d
ffffffff804bdb6d: 0 89 41 30 mov %eax,0x30(%rcx)
ffffffff804bdb70: 0 7e 33 jle ffffffff804bdba5 <tcp_recvmsg+0x737>
ffffffff804bdb72: 0 40 80 e5 20 and $0x20,%bpl
ffffffff804bdb76: 0 41 bc 01 00 00 00 mov $0x1,%r12d
ffffffff804bdb7c: 0 0f 85 5e ff ff ff jne ffffffff804bdae0 <tcp_recvmsg+0x672>
ffffffff804bdb82: 0 48 8b 79 10 mov 0x10(%rcx),%rdi
ffffffff804bdb86: 0 48 8d 74 24 67 lea 0x67(%rsp),%rsi
ffffffff804bdb8b: 0 ba 01 00 00 00 mov $0x1,%edx
ffffffff804bdb90: 0 41 bc f2 ff ff ff mov $0xfffffff2,%r12d
ffffffff804bdb96: 0 e8 8a cb fc ff callq ffffffff8048a725 <memcpy_toiovec>
ffffffff804bdb9b: 0 85 c0 test %eax,%eax
ffffffff804bdb9d: 0 0f 85 3d ff ff ff jne ffffffff804bdae0 <tcp_recvmsg+0x672>
ffffffff804bdba3: 0 eb 10 jmp ffffffff804bdbb5 <tcp_recvmsg+0x747>
ffffffff804bdba5: 0 48 8b 44 24 30 mov 0x30(%rsp),%rax
ffffffff804bdbaa: 0 83 ca 21 or $0x21,%edx
ffffffff804bdbad: 0 89 50 30 mov %edx,0x30(%rax)
ffffffff804bdbb0: 0 e9 2b ff ff ff jmpq ffffffff804bdae0 <tcp_recvmsg+0x672>
ffffffff804bdbb5: 0 41 bc 01 00 00 00 mov $0x1,%r12d
ffffffff804bdbbb: 0 e9 20 ff ff ff jmpq ffffffff804bdae0 <tcp_recvmsg+0x672>
ffffffff804bdbc0: 0 8a 43 02 mov 0x2(%rbx),%al
ffffffff804bdbc3: 0 3c 07 cmp $0x7,%al
ffffffff804bdbc5: 0 74 1d je ffffffff804bdbe4 <tcp_recvmsg+0x776>
ffffffff804bdbc7: 0 f6 43 38 01 testb $0x1,0x38(%rbx)
ffffffff804bdbcb: 0 41 bc f5 ff ff ff mov $0xfffffff5,%r12d
ffffffff804bdbd1: 0 0f 84 09 ff ff ff je ffffffff804bdae0 <tcp_recvmsg+0x672>
ffffffff804bdbd7: 0 eb 0b jmp ffffffff804bdbe4 <tcp_recvmsg+0x776>
ffffffff804bdbd9: 0 41 bc ea ff ff ff mov $0xffffffea,%r12d
ffffffff804bdbdf: 0 e9 fc fe ff ff jmpq ffffffff804bdae0 <tcp_recvmsg+0x672>
ffffffff804bdbe4: 0 45 31 e4 xor %r12d,%r12d
ffffffff804bdbe7: 0 e9 f4 fe ff ff jmpq ffffffff804bdae0 <tcp_recvmsg+0x672>
ffffffff804bdbec: 1206 48 83 c4 68 add $0x68,%rsp
ffffffff804bdbf0: 498 44 89 f8 mov %r15d,%eax
ffffffff804bdbf3: 387 5b pop %rbx
ffffffff804bdbf4: 462 5d pop %rbp
ffffffff804bdbf5: 0 41 5c pop %r12
ffffffff804bdbf7: 485 41 5d pop %r13
ffffffff804bdbf9: 466 41 5e pop %r14
ffffffff804bdbfb: 0 41 5f pop %r15
ffffffff804bdbfd: 796 c3 retq
no real hotspots either - but a bit too fractured code sequence, so
this function's icache footprint is too probably double the size of
what it could be.
a bit of overhead (8%) leaks in from a callsite:
ffffffff804bd46e: 882 41 57 push %r15
ffffffff804bd470: 15507 48 89 f7 mov %rsi,%rdi
(this is used as a dynamic function pointer too so i'm just guessing
that the common callsite would be sock_common_recvmsg().)
perhaps this sequence, about 7% of the total overhead of this
function, warrants mention:
ffffffff804bd7e2: 0 e8 96 e5 ff ff callq ffffffff804bbd7d <lock_sock>
ffffffff804bd7e7: 0 eb 0d jmp ffffffff804bd7f6 <tcp_recvmsg+0x388>
ffffffff804bd7e9: 152 48 8d 74 24 58 lea 0x58(%rsp),%rsi
ffffffff804bd7ee: 563 48 89 df mov %rbx,%rdi
ffffffff804bd7f1: 59 e8 83 99 fc ff callq ffffffff80487179 <sk_wait_data>
ffffffff804bd7f6: 86 48 83 7c 24 50 00 cmpq $0x0,0x50(%rsp)
ffffffff804bd7fc: 8550 0f 84 8a 00 00 00 je ffffffff804bd88c <tcp_recvmsg+0x41e>
ffffffff804bd802: 4038 44 89 f1 mov %r14d,%ecx
that's most likely lock_sock[_nested]()'s overhead leaking over into
this function:
ffffffff804857cb: 9392 <lock_sock_nested>:
ffffffff804857cb: 9392 41 55 push %r13
ffffffff804857cd: 4112 41 54 push %r12
ffffffff804857cf: 2 55 push %rbp
ffffffff804857d0: 7 48 8d 6f 40 lea 0x40(%rdi),%rbp
ffffffff804857d4: 1515 53 push %rbx
ffffffff804857d5: 0 48 89 fb mov %rdi,%rbx
ffffffff804857d8: 4 48 89 ef mov %rbp,%rdi
ffffffff804857db: 1461 48 83 ec 38 sub $0x38,%rsp
ffffffff804857df: 8 e8 78 11 09 00 callq ffffffff8051695c <_spin_lock_bh>
ffffffff804857e4: 4827 83 7b 44 00 cmpl $0x0,0x44(%rbx)
ffffffff804857e8: 2937 74 6d je ffffffff80485857 <lock_sock_nested+0x8c>
ffffffff804857ea: 0 65 48 8b 14 25 00 00 mov %gs:0x0,%rdx
ffffffff804857f1: 0 00 00
ffffffff804857f3: 0 fc cld
ffffffff804857f4: 0 31 c0 xor %eax,%eax
ffffffff804857f6: 0 48 89 e7 mov %rsp,%rdi
ffffffff804857f9: 0 b9 0a 00 00 00 mov $0xa,%ecx
ffffffff804857fe: 0 f3 ab rep stos %eax,%es:(%rdi)
ffffffff80485800: 0 48 8d 44 24 18 lea 0x18(%rsp),%rax
ffffffff80485805: 0 4c 8d 63 48 lea 0x48(%rbx),%r12
ffffffff80485809: 0 48 89 54 24 08 mov %rdx,0x8(%rsp)
ffffffff8048580e: 0 48 c7 44 24 10 80 78 movq $0xffffffff80247880,0x10(%rsp)
ffffffff80485815: 0 24 80
ffffffff80485817: 0 48 89 44 24 18 mov %rax,0x18(%rsp)
ffffffff8048581c: 0 48 89 44 24 20 mov %rax,0x20(%rsp)
ffffffff80485821: 0 ba 02 00 00 00 mov $0x2,%edx
ffffffff80485826: 0 48 89 e6 mov %rsp,%rsi
ffffffff80485829: 0 4c 89 e7 mov %r12,%rdi
ffffffff8048582c: 0 e8 fd 20 dc ff callq ffffffff8024792e <prepare_to_wait_exclusive>
ffffffff80485831: 0 48 89 ef mov %rbp,%rdi
ffffffff80485834: 0 e8 18 11 09 00 callq ffffffff80516951 <_spin_unlock_bh>
ffffffff80485839: 0 e8 52 f9 08 00 callq ffffffff80515190 <schedule>
ffffffff8048583e: 0 48 89 ef mov %rbp,%rdi
ffffffff80485841: 0 e8 16 11 09 00 callq ffffffff8051695c <_spin_lock_bh>
ffffffff80485846: 0 83 7b 44 00 cmpl $0x0,0x44(%rbx)
ffffffff8048584a: 0 75 d5 jne ffffffff80485821 <lock_sock_nested+0x56>
ffffffff8048584c: 0 48 89 e6 mov %rsp,%rsi
ffffffff8048584f: 0 4c 89 e7 mov %r12,%rdi
ffffffff80485852: 0 e8 7a 20 dc ff callq ffffffff802478d1 <finish_wait>
ffffffff80485857: 88 c7 43 44 01 00 00 00 movl $0x1,0x44(%rbx)
ffffffff8048585e: 3431 fe 43 40 incb 0x40(%rbx)
ffffffff80485861: 1568 e8 00 4e db ff callq ffffffff8023a666 <local_bh_enable>
ffffffff80485866: 1548 48 83 c4 38 add $0x38,%rsp
ffffffff8048586a: 61 5b pop %rbx
ffffffff8048586b: 1568 5d pop %rbp
ffffffff8048586c: 36 41 5c pop %r12
ffffffff8048586e: 0 41 5d pop %r13
ffffffff80485870: 2753 c3 retq
which is:
1748 void lock_sock_nested(struct sock *sk, int subclass)
1749 {
1750 might_sleep();
1751 spin_lock_bh(&sk->sk_lock.slock);
1752 if (sk->sk_lock.owned)
1753 __lock_sock(sk);
1754 sk->sk_lock.owned = 1;
1755 spin_unlock(&sk->sk_lock.slock);
that branch in the middle should perhaps be:
if (unlikely(sk->sk_lock.owned))
to make this function fall-through.
Ingo
next prev parent reply other threads:[~2008-11-17 21:19 UTC|newest]
Thread overview: 332+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-11-16 17:38 2.6.28-rc5: Reported regressions 2.6.26 -> 2.6.27 Rafael J. Wysocki
2008-11-16 17:38 ` Rafael J. Wysocki
2008-11-16 17:38 ` [Bug #11207] VolanoMark regression with 2.6.27-rc1 Rafael J. Wysocki
2008-11-16 17:38 ` Rafael J. Wysocki
2008-11-16 17:40 ` [Bug #11308] tbench regression on each kernel release from 2.6.22 -> 2.6.28 Rafael J. Wysocki
2008-11-16 17:40 ` Rafael J. Wysocki
2008-11-17 9:06 ` Ingo Molnar
2008-11-17 9:06 ` Ingo Molnar
[not found] ` <20081117090648.GG28786-X9Un+BFzKDI@public.gmane.org>
2008-11-17 9:14 ` David Miller
2008-11-17 9:14 ` David Miller
[not found] ` <20081117.011403.06989342.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2008-11-17 11:01 ` Ingo Molnar
2008-11-17 11:01 ` Ingo Molnar
2008-11-17 11:20 ` Eric Dumazet
[not found] ` <4921539B.2000002-fPLkHRcR87vqlBn2x/YWAg@public.gmane.org>
2008-11-17 16:11 ` Ingo Molnar
2008-11-17 16:11 ` Ingo Molnar
[not found] ` <20081117161135.GE12081-X9Un+BFzKDI@public.gmane.org>
2008-11-17 16:35 ` Eric Dumazet
2008-11-17 16:35 ` Eric Dumazet
[not found] ` <49219D36.5020801-fPLkHRcR87vqlBn2x/YWAg@public.gmane.org>
2008-11-17 17:08 ` Ingo Molnar
2008-11-17 17:08 ` Ingo Molnar
[not found] ` <20081117170844.GJ12081-X9Un+BFzKDI@public.gmane.org>
2008-11-17 17:25 ` Ingo Molnar
2008-11-17 17:25 ` Ingo Molnar
[not found] ` <20081117172549.GA27974-X9Un+BFzKDI@public.gmane.org>
2008-11-17 17:33 ` Eric Dumazet
2008-11-17 17:33 ` Eric Dumazet
[not found] ` <4921AAD6.3010603-fPLkHRcR87vqlBn2x/YWAg@public.gmane.org>
2008-11-17 17:38 ` Linus Torvalds
2008-11-17 17:38 ` Linus Torvalds
[not found] ` <alpine.LFD.2.00.0811170937540.3468-nfNrOhbfy2R17+2ddN/4kux8cNe9sq/dYPYVAmT7z5s@public.gmane.org>
2008-11-17 17:42 ` Eric Dumazet
2008-11-17 17:42 ` Eric Dumazet
2008-11-17 18:23 ` Ingo Molnar
2008-11-17 18:23 ` Ingo Molnar
[not found] ` <20081117182320.GA26844-X9Un+BFzKDI@public.gmane.org>
2008-11-17 18:33 ` Linus Torvalds
2008-11-17 18:33 ` Linus Torvalds
2008-11-17 18:49 ` Ingo Molnar
2008-11-17 18:49 ` Ingo Molnar
[not found] ` <20081117184951.GA5585-X9Un+BFzKDI@public.gmane.org>
2008-11-17 19:30 ` Eric Dumazet
2008-11-17 19:30 ` Eric Dumazet
2008-11-17 19:39 ` David Miller
2008-11-17 19:39 ` David Miller
[not found] ` <20081117.113936.81699150.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2008-11-17 19:43 ` Eric Dumazet
2008-11-17 19:43 ` Eric Dumazet
2008-11-17 19:55 ` Linus Torvalds
2008-11-17 19:55 ` Linus Torvalds
[not found] ` <alpine.LFD.2.00.0811171149100.18283-nfNrOhbfy2R17+2ddN/4kux8cNe9sq/dYPYVAmT7z5s@public.gmane.org>
2008-11-17 20:16 ` David Miller
2008-11-17 20:16 ` David Miller
[not found] ` <20081117.121641.167690467.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2008-11-17 20:30 ` Linus Torvalds
2008-11-17 20:30 ` Linus Torvalds
[not found] ` <alpine.LFD.2.00.0811171218470.18283-nfNrOhbfy2R17+2ddN/4kux8cNe9sq/dYPYVAmT7z5s@public.gmane.org>
2008-11-17 20:58 ` David Miller
2008-11-17 20:58 ` David Miller
[not found] ` <20081117.125826.193693115.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2008-11-18 9:44 ` Nick Piggin
2008-11-18 9:44 ` Nick Piggin
[not found] ` <200811182044.11055.nickpiggin-/E1597aS9LT0CCvOHzKKcA@public.gmane.org>
2008-11-18 15:58 ` Linus Torvalds
2008-11-18 15:58 ` Linus Torvalds
2008-11-19 4:31 ` Nick Piggin
[not found] ` <alpine.LFD.2.00.0811180731480.18283-nfNrOhbfy2R17+2ddN/4kux8cNe9sq/dYPYVAmT7z5s@public.gmane.org>
2008-11-20 9:14 ` David Miller
2008-11-20 9:14 ` David Miller
2008-11-20 9:06 ` David Miller
2008-11-20 9:06 ` David Miller
2008-11-18 12:29 ` Mike Galbraith
2008-11-18 12:29 ` Mike Galbraith
2008-11-17 19:57 ` Ingo Molnar
2008-11-17 19:57 ` Ingo Molnar
2008-11-17 20:20 ` (avc_has_perm_noaudit()) " Ingo Molnar
2008-11-17 20:20 ` Ingo Molnar
2008-11-17 20:32 ` ip_queue_xmit(): " Ingo Molnar
2008-11-17 20:32 ` Ingo Molnar
[not found] ` <20081117203219.GC12020-X9Un+BFzKDI@public.gmane.org>
2008-11-17 20:57 ` Eric Dumazet
2008-11-17 20:57 ` Eric Dumazet
2008-11-18 9:12 ` Nick Piggin
2008-11-17 20:47 ` Ingo Molnar
2008-11-17 20:47 ` Ingo Molnar
[not found] ` <20081117204743.GD12020-X9Un+BFzKDI@public.gmane.org>
2008-11-17 20:56 ` Eric Dumazet
2008-11-17 20:56 ` Eric Dumazet
2008-11-17 20:55 ` skb_release_head_state(): " Ingo Molnar
2008-11-17 20:55 ` Ingo Molnar
[not found] ` <20081117205530.GE12020-X9Un+BFzKDI@public.gmane.org>
2008-11-17 21:01 ` David Miller
2008-11-17 21:01 ` David Miller
2008-11-17 21:04 ` Eric Dumazet
2008-11-17 21:04 ` Eric Dumazet
2008-11-17 21:34 ` Linus Torvalds
2008-11-17 21:34 ` Linus Torvalds
[not found] ` <alpine.LFD.2.00.0811171325260.18283-nfNrOhbfy2R17+2ddN/4kux8cNe9sq/dYPYVAmT7z5s@public.gmane.org>
2008-11-17 21:38 ` Ingo Molnar
2008-11-17 21:38 ` Ingo Molnar
2008-11-17 21:09 ` tcp_ack(): " Ingo Molnar
2008-11-17 21:09 ` Ingo Molnar
2008-11-17 21:19 ` Ingo Molnar [this message]
2008-11-17 21:19 ` tcp_recvmsg(): " Ingo Molnar
2008-11-17 21:26 ` eth_type_trans(): " Ingo Molnar
2008-11-17 21:26 ` Ingo Molnar
[not found] ` <20081117212657.GH12020-X9Un+BFzKDI@public.gmane.org>
2008-11-17 21:40 ` Eric Dumazet
2008-11-17 21:40 ` Eric Dumazet
[not found] ` <4921E4B0.7010507-fPLkHRcR87vqlBn2x/YWAg@public.gmane.org>
2008-11-17 23:41 ` Eric Dumazet
2008-11-17 23:41 ` Eric Dumazet
[not found] ` <49220144.2010005-fPLkHRcR87vqlBn2x/YWAg@public.gmane.org>
2008-11-18 0:01 ` Linus Torvalds
2008-11-18 0:01 ` Linus Torvalds
2008-11-18 8:35 ` Eric Dumazet
2008-11-17 21:52 ` Linus Torvalds
2008-11-17 21:52 ` Linus Torvalds
2008-11-18 5:16 ` David Miller
2008-11-18 5:16 ` David Miller
2008-11-18 5:35 ` Eric Dumazet
[not found] ` <49225432.6050607-fPLkHRcR87vqlBn2x/YWAg@public.gmane.org>
2008-11-18 7:00 ` David Miller
2008-11-18 7:00 ` David Miller
[not found] ` <20081117.211645.193706814.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2008-11-18 8:30 ` Ingo Molnar
2008-11-18 8:30 ` Ingo Molnar
[not found] ` <20081118083018.GI17838-X9Un+BFzKDI@public.gmane.org>
2008-11-18 8:49 ` Eric Dumazet
2008-11-18 8:49 ` Eric Dumazet
2008-11-17 21:35 ` __inet_lookup_established(): " Ingo Molnar
2008-11-17 21:35 ` Ingo Molnar
[not found] ` <20081117213520.GI12020-X9Un+BFzKDI@public.gmane.org>
2008-11-17 22:14 ` Eric Dumazet
2008-11-17 22:14 ` Eric Dumazet
2008-11-17 21:59 ` system_call() - " Ingo Molnar
2008-11-17 21:59 ` Ingo Molnar
[not found] ` <20081117215950.GA6398-X9Un+BFzKDI@public.gmane.org>
2008-11-17 22:09 ` Linus Torvalds
2008-11-17 22:09 ` Linus Torvalds
2008-11-17 22:14 ` tcp_transmit_skb() " Ingo Molnar
2008-11-17 22:14 ` Ingo Molnar
2008-11-17 22:19 ` Ingo Molnar
2008-11-17 22:19 ` Ingo Molnar
2008-11-17 22:08 ` Ingo Molnar
[not found] ` <20081117220828.GB6398-X9Un+BFzKDI@public.gmane.org>
2008-11-17 22:15 ` Eric Dumazet
2008-11-17 22:15 ` Eric Dumazet
[not found] ` <4921ED16.9050307-fPLkHRcR87vqlBn2x/YWAg@public.gmane.org>
2008-11-17 22:26 ` Ingo Molnar
2008-11-17 22:26 ` Ingo Molnar
[not found] ` <20081117222640.GA17880-X9Un+BFzKDI@public.gmane.org>
2008-11-17 22:39 ` Eric Dumazet
2008-11-17 22:39 ` Eric Dumazet
2008-11-18 5:23 ` David Miller
2008-11-18 5:23 ` David Miller
[not found] ` <20081117.212352.77940634.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2008-11-18 8:45 ` Ingo Molnar
2008-11-18 8:45 ` Ingo Molnar
2008-11-17 19:36 ` David Miller
2008-11-17 19:36 ` David Miller
2008-11-17 19:31 ` David Miller
2008-11-17 19:31 ` David Miller
[not found] ` <20081117.113158.200497613.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2008-11-17 19:47 ` Linus Torvalds
2008-11-17 19:47 ` Linus Torvalds
[not found] ` <alpine.LFD.2.00.0811171134480.18283-nfNrOhbfy2R17+2ddN/4kux8cNe9sq/dYPYVAmT7z5s@public.gmane.org>
2008-11-17 19:51 ` David Miller
2008-11-17 19:51 ` David Miller
2008-11-17 19:53 ` Ingo Molnar
2008-11-17 19:53 ` Ingo Molnar
2008-11-17 22:47 ` Ingo Molnar
2008-11-17 22:47 ` Ingo Molnar
[not found] ` <20081117110119.GL28786-X9Un+BFzKDI@public.gmane.org>
2008-11-17 19:21 ` David Miller
2008-11-17 19:21 ` David Miller
[not found] ` <20081117.112157.146825192.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2008-11-17 19:48 ` Linus Torvalds
2008-11-17 19:48 ` Linus Torvalds
[not found] ` <alpine.LFD.2.00.0811171147380.18283-nfNrOhbfy2R17+2ddN/4kux8cNe9sq/dYPYVAmT7z5s@public.gmane.org>
2008-11-17 19:52 ` David Miller
2008-11-17 19:52 ` David Miller
[not found] ` <20081117.115258.227376348.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2008-11-17 19:57 ` Linus Torvalds
2008-11-17 19:57 ` Linus Torvalds
[not found] ` <alpine.LFD.2.00.0811171156080.18283-nfNrOhbfy2R17+2ddN/4kux8cNe9sq/dYPYVAmT7z5s@public.gmane.org>
2008-11-17 20:18 ` David Miller
2008-11-17 20:18 ` David Miller
2008-11-19 19:43 ` Christoph Lameter
2008-11-19 19:43 ` Christoph Lameter
[not found] ` <Pine.LNX.4.64.0811191341570.23502-dRBSpnHQED8AvxtiuMwx3w@public.gmane.org>
2008-11-19 20:14 ` Ingo Molnar
2008-11-19 20:14 ` Ingo Molnar
2008-11-20 23:52 ` Christoph Lameter
2008-11-20 23:52 ` Christoph Lameter
[not found] ` <Pine.LNX.4.64.0811201727070.9089-dRBSpnHQED8AvxtiuMwx3w@public.gmane.org>
2008-11-21 8:30 ` Ingo Molnar
2008-11-21 8:30 ` Ingo Molnar
[not found] ` <20081121083044.GL16242-X9Un+BFzKDI@public.gmane.org>
2008-11-21 8:51 ` Eric Dumazet
2008-11-21 8:51 ` Eric Dumazet
[not found] ` <49267694.1030506-fPLkHRcR87vqlBn2x/YWAg@public.gmane.org>
2008-11-21 9:05 ` David Miller
2008-11-21 9:05 ` David Miller
[not found] ` <20081121.010508.40225532.davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org>
2008-11-21 12:51 ` Eric Dumazet
2008-11-21 12:51 ` Eric Dumazet
[not found] ` <4926AEDB.10007-fPLkHRcR87vqlBn2x/YWAg@public.gmane.org>
2008-11-21 15:13 ` [PATCH] fs: pipe/sockets/anon dentries should not have a parent Eric Dumazet
2008-11-21 15:13 ` Eric Dumazet
[not found] ` <4926D022.5060008-fPLkHRcR87vqlBn2x/YWAg@public.gmane.org>
2008-11-21 15:21 ` Ingo Molnar
2008-11-21 15:21 ` Ingo Molnar
[not found] ` <20081121152148.GA20388-X9Un+BFzKDI@public.gmane.org>
2008-11-21 15:28 ` Eric Dumazet
2008-11-21 15:28 ` Eric Dumazet
[not found] ` <4926D39D.9050603-fPLkHRcR87vqlBn2x/YWAg@public.gmane.org>
2008-11-21 15:34 ` Ingo Molnar
2008-11-21 15:34 ` Ingo Molnar
2008-11-26 23:27 ` [PATCH 0/6] fs: Scalability of sockets/pipes allocation/deallocation on SMP Eric Dumazet
[not found] ` <492DDB6A.8090806-fPLkHRcR87vqlBn2x/YWAg@public.gmane.org>
2008-11-27 1:37 ` Christoph Lameter
2008-11-27 1:37 ` Christoph Lameter
[not found] ` <Pine.LNX.4.64.0811261935330.31159-dRBSpnHQED8AvxtiuMwx3w@public.gmane.org>
2008-11-27 6:27 ` Eric Dumazet
2008-11-27 6:27 ` Eric Dumazet
[not found] ` <492E3DEF.8030602-fPLkHRcR87vqlBn2x/YWAg@public.gmane.org>
2008-11-27 14:44 ` Christoph Lameter
2008-11-27 14:44 ` Christoph Lameter
2008-11-29 8:43 ` [PATCH v2 1/5] fs: Use a percpu_counter to track nr_dentry Eric Dumazet
2008-11-29 8:43 ` Eric Dumazet
2008-11-29 8:43 ` [PATCH v2 2/5] fs: Use a percpu_counter to track nr_inodes Eric Dumazet
2008-11-29 8:43 ` Eric Dumazet
2008-11-29 8:44 ` [PATCH v2 4/5] fs: Introduce SINGLE dentries for pipes, socket, anon fd Eric Dumazet
2008-11-29 8:44 ` Eric Dumazet
[not found] ` <493100E7.3030907-fPLkHRcR87vqlBn2x/YWAg@public.gmane.org>
2008-11-29 10:38 ` Jörn Engel
2008-11-29 10:38 ` Jörn Engel
2008-11-29 10:38 ` Jörn Engel
[not found] ` <20081129103836.GA11959-PCqxUs/MD9bYtjvyW6yDsg@public.gmane.org>
2008-11-29 11:14 ` Eric Dumazet
2008-11-29 11:14 ` Eric Dumazet
2008-11-29 8:45 ` [PATCH v2 5/5] fs: new_inode_single() and iput_single() Eric Dumazet
2008-11-29 8:45 ` Eric Dumazet
2008-11-29 11:14 ` Jörn Engel
2008-11-29 11:14 ` Jörn Engel
2008-11-27 9:39 ` [PATCH 0/6] fs: Scalability of sockets/pipes allocation/deallocation on SMP Christoph Hellwig
2008-11-28 18:03 ` Ingo Molnar
[not found] ` <20081128180318.GL10487-X9Un+BFzKDI@public.gmane.org>
2008-11-28 18:47 ` Peter Zijlstra
2008-11-28 18:47 ` Peter Zijlstra
2008-11-29 6:38 ` Christoph Hellwig
2008-11-29 6:38 ` Christoph Hellwig
[not found] ` <20081129063816.GA869-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2008-11-29 8:07 ` Eric Dumazet
2008-11-29 8:07 ` Eric Dumazet
2008-11-29 8:43 ` [PATCH v2 0/5] " Eric Dumazet
2008-12-11 22:38 ` [PATCH v3 0/7] " Eric Dumazet
2008-12-11 22:38 ` [PATCH v3 1/7] fs: Use a percpu_counter to track nr_dentry Eric Dumazet
2007-07-24 1:24 ` Nick Piggin
[not found] ` <49419680.8010409-fPLkHRcR87vqlBn2x/YWAg@public.gmane.org>
2008-12-16 21:04 ` Paul E. McKenney
2008-12-16 21:04 ` Paul E. McKenney
2008-12-11 22:39 ` [PATCH v3 2/7] fs: Use a percpu_counter to track nr_inodes Eric Dumazet
[not found] ` <4941968E.3020201-fPLkHRcR87vqlBn2x/YWAg@public.gmane.org>
2007-07-24 1:30 ` Nick Piggin
2007-07-24 1:30 ` Nick Piggin
[not found] ` <200707241130.56767.nickpiggin-/E1597aS9LT0CCvOHzKKcA@public.gmane.org>
2008-12-12 5:11 ` Eric Dumazet
2008-12-12 5:11 ` Eric Dumazet
2008-12-16 21:10 ` Paul E. McKenney
2008-12-16 21:10 ` Paul E. McKenney
2008-12-11 22:39 ` [PATCH v3 3/7] fs: Introduce a per_cpu last_ino allocator Eric Dumazet
2007-07-24 1:34 ` Nick Piggin
2008-12-16 21:26 ` Paul E. McKenney
2008-12-11 22:39 ` [PATCH v3 4/7] fs: Introduce SINGLE dentries for pipes, socket, anon fd Eric Dumazet
[not found] ` <494196AA.6080002-fPLkHRcR87vqlBn2x/YWAg@public.gmane.org>
2008-12-16 21:40 ` Paul E. McKenney
2008-12-16 21:40 ` Paul E. McKenney
2008-12-11 22:40 ` [PATCH v3 5/7] fs: new_inode_single() and iput_single() Eric Dumazet
2008-12-16 21:41 ` Paul E. McKenney
[not found] ` <493100B0.6090104-fPLkHRcR87vqlBn2x/YWAg@public.gmane.org>
2008-12-11 22:40 ` [PATCH v3 6/7] fs: struct file move from call_rcu() to SLAB_DESTROY_BY_RCU Eric Dumazet
2008-12-11 22:40 ` Eric Dumazet
2007-07-24 1:13 ` Nick Piggin
2007-07-24 1:13 ` Nick Piggin
2008-12-12 2:50 ` Nick Piggin
2008-12-12 4:45 ` Eric Dumazet
[not found] ` <4941EC65.5040903-fPLkHRcR87vqlBn2x/YWAg@public.gmane.org>
2008-12-12 16:48 ` Eric Dumazet
2008-12-12 16:48 ` Eric Dumazet
[not found] ` <494295C6.2020906-fPLkHRcR87vqlBn2x/YWAg@public.gmane.org>
2008-12-13 2:07 ` Christoph Lameter
2008-12-13 2:07 ` Christoph Lameter
[not found] ` <Pine.LNX.4.64.0812121958470.15781-dRBSpnHQED8AvxtiuMwx3w@public.gmane.org>
2008-12-17 20:25 ` Eric Dumazet
2008-12-17 20:25 ` Eric Dumazet
2008-12-13 1:41 ` Christoph Lameter
2008-12-13 1:41 ` Christoph Lameter
2008-12-11 22:41 ` [PATCH v3 7/7] fs: MS_NOREFCOUNT Eric Dumazet
2008-11-29 8:44 ` [PATCH v2 3/5] fs: Introduce a per_cpu last_ino allocator Eric Dumazet
[not found] ` <20081121153453.GA23713-X9Un+BFzKDI@public.gmane.org>
2008-11-26 23:30 ` [PATCH 1/6] fs: Introduce a per_cpu nr_dentry Eric Dumazet
2008-11-26 23:30 ` Eric Dumazet
[not found] ` <492DDC0B.8060804-fPLkHRcR87vqlBn2x/YWAg@public.gmane.org>
2008-11-27 9:41 ` Christoph Hellwig
2008-11-27 9:41 ` Christoph Hellwig
2008-11-26 23:32 ` [PATCH 4/6] fs: Introduce a per_cpu nr_inodes Eric Dumazet
2008-11-26 23:32 ` Eric Dumazet
2008-11-27 9:32 ` Peter Zijlstra
2008-11-27 9:39 ` Peter Zijlstra
2008-11-27 9:39 ` Peter Zijlstra
2008-11-27 9:48 ` Christoph Hellwig
2008-11-27 10:01 ` Eric Dumazet
2008-11-27 10:01 ` Eric Dumazet
2008-11-27 10:07 ` Andi Kleen
2008-11-27 14:46 ` Christoph Lameter
2008-11-26 23:32 ` [PATCH 5/6] fs: Introduce special inodes Eric Dumazet
2008-11-26 23:32 ` Eric Dumazet
[not found] ` <492DDC99.5060106-fPLkHRcR87vqlBn2x/YWAg@public.gmane.org>
2008-11-27 8:20 ` David Miller
2008-11-27 8:20 ` David Miller
2008-11-26 23:32 ` [PATCH 3/6] fs: Introduce a per_cpu last_ino allocator Eric Dumazet
[not found] ` <492DDC88.2050305-fPLkHRcR87vqlBn2x/YWAg@public.gmane.org>
2008-11-27 9:46 ` Christoph Hellwig
2008-11-27 9:46 ` Christoph Hellwig
2008-11-26 23:32 ` [PATCH 6/6] fs: Introduce kern_mount_special() to mount special vfs Eric Dumazet
[not found] ` <492DDCAB.1070204-fPLkHRcR87vqlBn2x/YWAg@public.gmane.org>
2008-11-27 8:21 ` David Miller
2008-11-27 8:21 ` David Miller
2008-11-28 9:26 ` Al Viro
2008-11-28 9:26 ` Al Viro
[not found] ` <20081128092604.GL28946-3bDd1+5oDREiFSDQTTA3OLVCufUGDwFn@public.gmane.org>
2008-11-28 9:34 ` Al Viro
2008-11-28 9:34 ` Al Viro
2008-11-28 18:02 ` Ingo Molnar
2008-11-28 18:02 ` Ingo Molnar
2008-11-28 18:58 ` Ingo Molnar
[not found] ` <20081128180220.GK10487-X9Un+BFzKDI@public.gmane.org>
2008-11-28 22:20 ` Eric Dumazet
2008-11-28 22:20 ` Eric Dumazet
2008-11-28 22:37 ` Eric Dumazet
2008-11-28 22:43 ` Eric Dumazet
2008-11-27 9:53 ` Christoph Hellwig
[not found] ` <20081127095321.GE13860-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2008-11-27 10:04 ` Eric Dumazet
2008-11-27 10:04 ` Eric Dumazet
[not found] ` <492E70B6.70108-fPLkHRcR87vqlBn2x/YWAg@public.gmane.org>
2008-11-27 10:10 ` Christoph Hellwig
2008-11-27 10:10 ` Christoph Hellwig
2008-11-21 15:36 ` [PATCH] fs: pipe/sockets/anon dentries should not have a parent Christoph Hellwig
2008-11-21 17:58 ` [PATCH] fs: pipe/sockets/anon dentries should have themselves as parent Eric Dumazet
[not found] ` <4926F6C5.9030108-fPLkHRcR87vqlBn2x/YWAg@public.gmane.org>
2008-11-21 18:43 ` Matthew Wilcox
2008-11-21 18:43 ` Matthew Wilcox
2008-11-23 3:53 ` Eric Dumazet
2008-11-21 9:18 ` [Bug #11308] tbench regression on each kernel release from 2.6.22 -> 2.6.28 Ingo Molnar
2008-11-21 9:18 ` Ingo Molnar
2008-11-21 9:03 ` David Miller
2008-11-21 9:03 ` David Miller
2008-11-21 16:11 ` Christoph Lameter
2008-11-21 16:11 ` Christoph Lameter
[not found] ` <Pine.LNX.4.64.0811210936580.25354-dRBSpnHQED8AvxtiuMwx3w@public.gmane.org>
2008-11-21 18:06 ` Christoph Lameter
2008-11-21 18:06 ` Christoph Lameter
[not found] ` <Pine.LNX.4.64.0811211119550.27777-dRBSpnHQED8AvxtiuMwx3w@public.gmane.org>
2008-11-21 18:16 ` Eric Dumazet
2008-11-21 18:16 ` Eric Dumazet
[not found] ` <4926FB13.3080808-fPLkHRcR87vqlBn2x/YWAg@public.gmane.org>
2008-11-21 18:19 ` Eric Dumazet
2008-11-21 18:19 ` Eric Dumazet
2008-11-16 17:40 ` [Bug #11215] INFO: possible recursive locking detected ps2_command Rafael J. Wysocki
2008-11-16 17:40 ` Rafael J. Wysocki
2008-11-16 17:40 ` [Bug #11569] Panic stop CPUs regression Rafael J. Wysocki
2008-11-16 17:40 ` Rafael J. Wysocki
2008-11-16 17:40 ` [Bug #11543] kernel panic: softlockup in tick_periodic() ??? Rafael J. Wysocki
2008-11-16 17:40 ` Rafael J. Wysocki
2008-11-16 17:40 ` [Bug #11698] 2.6.27-rc7, freezes with > 1 s2ram cycle Rafael J. Wysocki
2008-11-16 17:40 ` Rafael J. Wysocki
2008-11-16 17:40 ` [Bug #11404] BUG: in 2.6.23-rc3-git7 in do_cciss_intr Rafael J. Wysocki
2008-11-16 17:40 ` Rafael J. Wysocki
2008-11-17 16:19 ` Randy Dunlap
2008-11-16 17:40 ` [Bug #11664] acpi errors and random freeze on sony vaio sr Rafael J. Wysocki
2008-11-16 17:40 ` Rafael J. Wysocki
2008-11-16 17:40 ` [Bug #11805] mounting XFS produces a segfault Rafael J. Wysocki
2008-11-16 17:40 ` Rafael J. Wysocki
2008-11-17 14:44 ` Christoph Hellwig
2008-11-17 14:44 ` Christoph Hellwig
2008-11-16 17:40 ` [Bug #11795] ks959-sir dongle no longer works under 2.6.27 (REGRESSION) Rafael J. Wysocki
2008-11-16 17:40 ` Rafael J. Wysocki
2008-11-16 17:40 ` [Bug #11836] Scheduler on C2D CPU and latest 2.6.27 kernel Rafael J. Wysocki
2008-11-16 17:40 ` Rafael J. Wysocki
2008-11-16 17:40 ` [Bug #11876] RCU hang on cpu re-hotplug with 2.6.27rc8 Rafael J. Wysocki
2008-11-16 17:40 ` Rafael J. Wysocki
2008-11-16 17:40 ` [Bug #11865] WOL for E100 Doesn't Work Anymore Rafael J. Wysocki
2008-11-16 17:40 ` Rafael J. Wysocki
2008-11-16 17:40 ` [Bug #11886] without serial console system doesn't poweroff Rafael J. Wysocki
2008-11-16 17:40 ` Rafael J. Wysocki
2008-11-16 17:40 ` [Bug #11843] usb hdd problems with 2.6.27.2 Rafael J. Wysocki
2008-11-16 17:40 ` Rafael J. Wysocki
2008-11-16 21:37 ` Luciano Rocha
2008-11-16 17:41 ` [Bug #12039] Regression: USB/DVB 2.6.26.8 --> 2.6.27.6 Rafael J. Wysocki
2008-11-16 17:41 ` Rafael J. Wysocki
2008-11-16 17:41 ` [Bug #11983] iwlagn: wrong command queue 31, command id 0x0 Rafael J. Wysocki
2008-11-16 17:41 ` Rafael J. Wysocki
2008-11-16 17:41 ` [Bug #12048] Regression in bonding between 2.6.26.8 and 2.6.27.6 Rafael J. Wysocki
2008-11-16 17:41 ` Rafael J. Wysocki
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20081117211920.GG12020@elte.hu \
--to=mingo-x9un+bfzkdi@public.gmane.org \
--cc=a.p.zijlstra-/NLkJaSkS4VmR6Xm/wNWPw@public.gmane.org \
--cc=cl-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org \
--cc=dada1-fPLkHRcR87vqlBn2x/YWAg@public.gmane.org \
--cc=davem-fT/PcQaiUtIeIZ0/mPfg9Q@public.gmane.org \
--cc=efault-Mmb7MZpHnFY@public.gmane.org \
--cc=kernel-testers-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=rjw-KKrjLPT3xs0@public.gmane.org \
--cc=shemminger-ZtmgI6mnKB3QT0dZR+AlfA@public.gmane.org \
--cc=torvalds-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.