lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 17 Nov 2008 22:09:06 +0100
From:	Ingo Molnar <mingo@...e.hu>
To:	Linus Torvalds <torvalds@...ux-foundation.org>
Cc:	Eric Dumazet <dada1@...mosbay.com>,
	David Miller <davem@...emloft.net>, rjw@...k.pl,
	linux-kernel@...r.kernel.org, kernel-testers@...r.kernel.org,
	cl@...ux-foundation.org, efault@....de, a.p.zijlstra@...llo.nl,
	Stephen Hemminger <shemminger@...tta.com>
Subject: tcp_ack(): Re: [Bug #11308] tbench regression on each kernel
	release from 2.6.22 -&gt; 2.6.28


* Ingo Molnar <mingo@...e.hu> wrote:

> 100.000000 total
> ................
>   1.997533 tcp_ack

                      hits (total: 199753)
                 .........
ffffffff804c0b17:      452 <tcp_ack>:
ffffffff804c0b17:      452 	41 57                	push   %r15
ffffffff804c0b19:     9569 	41 56                	push   %r14
ffffffff804c0b1b:        0 	41 55                	push   %r13
ffffffff804c0b1d:        0 	49 89 f5             	mov    %rsi,%r13
ffffffff804c0b20:      493 	41 54                	push   %r12
ffffffff804c0b22:      104 	41 89 d4             	mov    %edx,%r12d
ffffffff804c0b25:        0 	55                   	push   %rbp
ffffffff804c0b26:      425 	48 89 fd             	mov    %rdi,%rbp
ffffffff804c0b29:       21 	53                   	push   %rbx
ffffffff804c0b2a:        0 	48 81 ec 88 00 00 00 	sub    $0x88,%rsp
ffffffff804c0b31:      445 	8b 87 00 04 00 00    	mov    0x400(%rdi),%eax
ffffffff804c0b37:        0 	89 44 24 18          	mov    %eax,0x18(%rsp)
ffffffff804c0b3b:      443 	48 8d 46 38          	lea    0x38(%rsi),%rax
ffffffff804c0b3f:       18 	8b 50 28             	mov    0x28(%rax),%edx
ffffffff804c0b42:     2565 	44 8b 70 18          	mov    0x18(%rax),%r14d
ffffffff804c0b46:      358 	89 54 24 1c          	mov    %edx,0x1c(%rsp)
ffffffff804c0b4a:        2 	39 97 fc 03 00 00    	cmp    %edx,0x3fc(%rdi)
ffffffff804c0b50:      368 	0f 88 af 13 00 00    	js     ffffffff804c1f05 <tcp_ack+0x13ee>
ffffffff804c0b56:      106 	89 d1                	mov    %edx,%ecx
ffffffff804c0b58:        2 	2b 4c 24 18          	sub    0x18(%rsp),%ecx
ffffffff804c0b5c:      328 	0f 88 83 13 00 00    	js     ffffffff804c1ee5 <tcp_ack+0x13ce>
ffffffff804c0b62:     1440 	8b 44 24 18          	mov    0x18(%rsp),%eax
ffffffff804c0b66:        2 	29 d0                	sub    %edx,%eax
ffffffff804c0b68:       77 	44 89 e2             	mov    %r12d,%edx
ffffffff804c0b6b:      398 	89 c6                	mov    %eax,%esi
ffffffff804c0b6d:        3 	80 ce 04             	or     $0x4,%dh
ffffffff804c0b70:       65 	c1 ee 1f             	shr    $0x1f,%esi
ffffffff804c0b73:      362 	44 0f 45 e2          	cmovne %edx,%r12d
ffffffff804c0b77:        1 	83 3d ea 78 3f 00 00 	cmpl   $0x0,0x3f78ea(%rip)        # ffffffff808b8468 <sysctl_tcp_abc>
ffffffff804c0b7e:       64 	74 27                	je     ffffffff804c0ba7 <tcp_ack+0x90>
ffffffff804c0b80:        0 	8a 87 78 03 00 00    	mov    0x378(%rdi),%al
ffffffff804c0b86:        0 	3c 01                	cmp    $0x1,%al
ffffffff804c0b88:        0 	77 08                	ja     ffffffff804c0b92 <tcp_ack+0x7b>
ffffffff804c0b8a:        0 	01 8f dc 04 00 00    	add    %ecx,0x4dc(%rdi)
ffffffff804c0b90:        0 	eb 15                	jmp    ffffffff804c0ba7 <tcp_ack+0x90>
ffffffff804c0b92:        0 	3c 04                	cmp    $0x4,%al
ffffffff804c0b94:        0 	75 11                	jne    ffffffff804c0ba7 <tcp_ack+0x90>
ffffffff804c0b96:        0 	8b 87 4c 04 00 00    	mov    0x44c(%rdi),%eax
ffffffff804c0b9c:        0 	39 c1                	cmp    %eax,%ecx
ffffffff804c0b9e:        0 	0f 46 c1             	cmovbe %ecx,%eax
ffffffff804c0ba1:        0 	01 87 dc 04 00 00    	add    %eax,0x4dc(%rdi)
ffffffff804c0ba7:      377 	8b 9d d4 04 00 00    	mov    0x4d4(%rbp),%ebx
ffffffff804c0bad:     3672 	41 f7 c4 00 01 00 00 	test   $0x100,%r12d
ffffffff804c0bb4:      282 	89 5c 24 20          	mov    %ebx,0x20(%rsp)
ffffffff804c0bb8:        0 	8b 85 74 04 00 00    	mov    0x474(%rbp),%eax
ffffffff804c0bbe:      140 	89 44 24 30          	mov    %eax,0x30(%rsp)
ffffffff804c0bc2:     7592 	8b 95 d0 04 00 00    	mov    0x4d0(%rbp),%edx
ffffffff804c0bc8:     1580 	89 54 24 24          	mov    %edx,0x24(%rsp)
ffffffff804c0bcc:        3 	8b 9d cc 04 00 00    	mov    0x4cc(%rbp),%ebx
ffffffff804c0bd2:       58 	89 5c 24 28          	mov    %ebx,0x28(%rsp)
ffffffff804c0bd6:      419 	8b 85 78 04 00 00    	mov    0x478(%rbp),%eax
ffffffff804c0bdc:        0 	89 44 24 2c          	mov    %eax,0x2c(%rsp)
ffffffff804c0be0:       65 	75 4f                	jne    ffffffff804c0c31 <tcp_ack+0x11a>
ffffffff804c0be2:      423 	85 f6                	test   %esi,%esi
ffffffff804c0be4:       55 	74 4b                	je     ffffffff804c0c31 <tcp_ack+0x11a>
ffffffff804c0be6:       36 	44 89 b5 40 04 00 00 	mov    %r14d,0x440(%rbp)
ffffffff804c0bed:      368 	8b 54 24 1c          	mov    0x1c(%rsp),%edx
ffffffff804c0bf1:        4 	41 83 cc 02          	or     $0x2,%r12d
ffffffff804c0bf5:       32 	be 05 00 00 00       	mov    $0x5,%esi
ffffffff804c0bfa:      392 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c0bfd:        4 	89 95 00 04 00 00    	mov    %edx,0x400(%rbp)
ffffffff804c0c03:     3341 	44 89 64 24 5c       	mov    %r12d,0x5c(%rsp)
ffffffff804c0c08:      855 	e8 98 dc ff ff       	callq  ffffffff804be8a5 <tcp_ca_event>
ffffffff804c0c0d:     2018 	48 8b 05 a4 0a 5f 00 	mov    0x5f0aa4(%rip),%rax        # ffffffff80ab16b8 <init_net+0xe8>
ffffffff804c0c14:      858 	65 8b 14 25 24 00 00 	mov    %gs:0x24,%edx
ffffffff804c0c1b:        0 	00 
ffffffff804c0c1c:        0 	89 d2                	mov    %edx,%edx
ffffffff804c0c1e:        0 	48 f7 d0             	not    %rax
ffffffff804c0c21:      425 	48 8b 04 d0          	mov    (%rax,%rdx,8),%rax
ffffffff804c0c25:        0 	48 ff 80 e8 00 00 00 	incq   0xe8(%rax)
ffffffff804c0c2c:        0 	e9 1b 01 00 00       	jmpq   ffffffff804c0d4c <tcp_ack+0x235>
ffffffff804c0c31:       41 	45 3b 75 54          	cmp    0x54(%r13),%r14d
ffffffff804c0c35:      360 	74 06                	je     ffffffff804c0c3d <tcp_ack+0x126>
ffffffff804c0c37:        1 	41 83 cc 01          	or     $0x1,%r12d
ffffffff804c0c3b:       80 	eb 1f                	jmp    ffffffff804c0c5c <tcp_ack+0x145>
ffffffff804c0c3d:        1 	48 8b 05 74 0a 5f 00 	mov    0x5f0a74(%rip),%rax        # ffffffff80ab16b8 <init_net+0xe8>
ffffffff804c0c44:      303 	65 8b 14 25 24 00 00 	mov    %gs:0x24,%edx
ffffffff804c0c4b:        0 	00 
ffffffff804c0c4c:       56 	89 d2                	mov    %edx,%edx
ffffffff804c0c4e:        0 	48 f7 d0             	not    %rax
ffffffff804c0c51:        4 	48 8b 04 d0          	mov    (%rax,%rdx,8),%rax
ffffffff804c0c55:       13 	48 ff 80 e0 00 00 00 	incq   0xe0(%rax)
ffffffff804c0c5c:       12 	41 8b 95 b8 00 00 00 	mov    0xb8(%r13),%edx
ffffffff804c0c63:      300 	49 03 95 d0 00 00 00 	add    0xd0(%r13),%rdx
ffffffff804c0c6a:       17 	66 8b 42 0e          	mov    0xe(%rdx),%ax
ffffffff804c0c6e:        0 	66 c1 c0 08          	rol    $0x8,%ax
ffffffff804c0c72:       22 	f6 42 0d 02          	testb  $0x2,0xd(%rdx)
ffffffff804c0c76:       13 	0f b7 d8             	movzwl %ax,%ebx
ffffffff804c0c79:        0 	75 0b                	jne    ffffffff804c0c86 <tcp_ack+0x16f>
ffffffff804c0c7b:       26 	8a 8d 9d 04 00 00    	mov    0x49d(%rbp),%cl
ffffffff804c0c81:      343 	83 e1 0f             	and    $0xf,%ecx
ffffffff804c0c84:        0 	d3 e3                	shl    %cl,%ebx
ffffffff804c0c86:       82 	8b 74 24 1c          	mov    0x1c(%rsp),%esi
ffffffff804c0c8a:       18 	44 89 f2             	mov    %r14d,%edx
ffffffff804c0c8d:        0 	89 d9                	mov    %ebx,%ecx
ffffffff804c0c8f:       12 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c0c92:       12 	e8 47 e6 ff ff       	callq  ffffffff804bf2de <tcp_may_update_window>
ffffffff804c0c97:       16 	31 d2                	xor    %edx,%edx
ffffffff804c0c99:       66 	85 c0                	test   %eax,%eax
ffffffff804c0c9b:        0 	74 48                	je     ffffffff804c0ce5 <tcp_ack+0x1ce>
ffffffff804c0c9d:       12 	39 9d 44 04 00 00    	cmp    %ebx,0x444(%rbp)
ffffffff804c0ca3:       29 	44 89 b5 40 04 00 00 	mov    %r14d,0x440(%rbp)
ffffffff804c0caa:        0 	74 34                	je     ffffffff804c0ce0 <tcp_ack+0x1c9>
ffffffff804c0cac:        7 	89 9d 44 04 00 00    	mov    %ebx,0x444(%rbp)
ffffffff804c0cb2:       59 	c7 85 ec 03 00 00 00 	movl   $0x0,0x3ec(%rbp)
ffffffff804c0cb9:        0 	00 00 00 
ffffffff804c0cbc:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c0cbf:        7 	e8 13 e8 ff ff       	callq  ffffffff804bf4d7 <tcp_fast_path_check>
ffffffff804c0cc4:       23 	3b 9d 48 04 00 00    	cmp    0x448(%rbp),%ebx
ffffffff804c0cca:       48 	76 14                	jbe    ffffffff804c0ce0 <tcp_ack+0x1c9>
ffffffff804c0ccc:        0 	8b b5 5c 03 00 00    	mov    0x35c(%rbp),%esi
ffffffff804c0cd2:        0 	89 9d 48 04 00 00    	mov    %ebx,0x448(%rbp)
ffffffff804c0cd8:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c0cdb:        0 	e8 40 41 00 00       	callq  ffffffff804c4e20 <tcp_sync_mss>
ffffffff804c0ce0:        6 	ba 02 00 00 00       	mov    $0x2,%edx
ffffffff804c0ce5:      141 	8b 5c 24 1c          	mov    0x1c(%rsp),%ebx
ffffffff804c0ce9:        1 	44 09 e2             	or     %r12d,%edx
ffffffff804c0cec:        3 	89 9d 00 04 00 00    	mov    %ebx,0x400(%rbp)
ffffffff804c0cf2:       34 	89 54 24 5c          	mov    %edx,0x5c(%rsp)
ffffffff804c0cf6:        0 	41 80 7d 5d 00       	cmpb   $0x0,0x5d(%r13)
ffffffff804c0cfb:        6 	74 13                	je     ffffffff804c0d10 <tcp_ack+0x1f9>
ffffffff804c0cfd:        0 	8b 54 24 18          	mov    0x18(%rsp),%edx
ffffffff804c0d01:        0 	4c 89 ee             	mov    %r13,%rsi
ffffffff804c0d04:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c0d07:        0 	e8 b4 f5 ff ff       	callq  ffffffff804c02c0 <tcp_sacktag_write_queue>
ffffffff804c0d0c:        0 	09 44 24 5c          	or     %eax,0x5c(%rsp)
ffffffff804c0d10:       29 	41 8b 85 b8 00 00 00 	mov    0xb8(%r13),%eax
ffffffff804c0d17:      128 	49 03 85 d0 00 00 00 	add    0xd0(%r13),%rax
ffffffff804c0d1e:        0 	8a 40 0d             	mov    0xd(%rax),%al
ffffffff804c0d21:       33 	83 e0 42             	and    $0x42,%eax
ffffffff804c0d24:        0 	3c 40                	cmp    $0x40,%al
ffffffff804c0d26:        0 	75 17                	jne    ffffffff804c0d3f <tcp_ack+0x228>
ffffffff804c0d28:        0 	8b 44 24 5c          	mov    0x5c(%rsp),%eax
ffffffff804c0d2c:        0 	83 c8 40             	or     $0x40,%eax
ffffffff804c0d2f:        0 	f6 85 7e 04 00 00 01 	testb  $0x1,0x47e(%rbp)
ffffffff804c0d36:        0 	0f 44 44 24 5c       	cmove  0x5c(%rsp),%eax
ffffffff804c0d3b:        0 	89 44 24 5c          	mov    %eax,0x5c(%rsp)
ffffffff804c0d3f:       36 	be 06 00 00 00       	mov    $0x6,%esi
ffffffff804c0d44:      167 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c0d47:        1 	e8 59 db ff ff       	callq  ffffffff804be8a5 <tcp_ca_event>
ffffffff804c0d4c:      581 	c7 85 48 01 00 00 00 	movl   $0x0,0x148(%rbp)
ffffffff804c0d53:        0 	00 00 00 
ffffffff804c0d56:     6076 	c6 85 7d 03 00 00 00 	movb   $0x0,0x37d(%rbp)
ffffffff804c0d5d:        0 	48 8b 05 1c 8b 3f 00 	mov    0x3f8b1c(%rip),%rax        # ffffffff808b9880 <jiffies>
ffffffff804c0d64:      443 	89 85 08 04 00 00    	mov    %eax,0x408(%rbp)
ffffffff804c0d6a:        0 	8b 85 74 04 00 00    	mov    0x474(%rbp),%eax
ffffffff804c0d70:        0 	85 c0                	test   %eax,%eax
ffffffff804c0d72:      845 	89 44 24 14          	mov    %eax,0x14(%rsp)
ffffffff804c0d76:        0 	0f 84 fb 10 00 00    	je     ffffffff804c1e77 <tcp_ack+0x1360>
ffffffff804c0d7c:        0 	48 8b 05 fd 8a 3f 00 	mov    0x3f8afd(%rip),%rax        # ffffffff808b9880 <jiffies>
ffffffff804c0d83:      586 	8b 54 24 14          	mov    0x14(%rsp),%edx
ffffffff804c0d87:        1 	41 83 cc ff          	or     $0xffffffffffffffff,%r12d
ffffffff804c0d8b:        2 	89 44 24 48          	mov    %eax,0x48(%rsp)
ffffffff804c0d8f:      879 	89 54 24 34          	mov    %edx,0x34(%rsp)
ffffffff804c0d93:        1 	8b 9d d0 04 00 00    	mov    0x4d0(%rbp),%ebx
ffffffff804c0d99:        0 	89 5c 24 40          	mov    %ebx,0x40(%rsp)
ffffffff804c0d9d:      889 	e8 e2 e8 ff ff       	callq  ffffffff804bf684 <net_invalid_timestamp>
ffffffff804c0da2:        0 	48 89 44 24 08       	mov    %rax,0x8(%rsp)
ffffffff804c0da7:       16 	48 8d 85 c0 00 00 00 	lea    0xc0(%rbp),%rax
ffffffff804c0dae:      445 	c7 44 24 44 01 00 00 	movl   $0x1,0x44(%rsp)
ffffffff804c0db5:        0 	00 
ffffffff804c0db6:        0 	c7 44 24 50 00 00 00 	movl   $0x0,0x50(%rsp)
ffffffff804c0dbd:        0 	00 
ffffffff804c0dbe:       10 	c7 44 24 38 00 00 00 	movl   $0x0,0x38(%rsp)
ffffffff804c0dc5:        0 	00 
ffffffff804c0dc6:     1308 	44 89 64 24 4c       	mov    %r12d,0x4c(%rsp)
ffffffff804c0dcb:      225 	48 89 04 24          	mov    %rax,(%rsp)
ffffffff804c0dcf:        2 	e9 8b 02 00 00       	jmpq   ffffffff804c105f <tcp_ack+0x548>
ffffffff804c0dd4:      488 	4d 8d 7d 38          	lea    0x38(%r13),%r15
ffffffff804c0dd8:     2298 	41 8a 57 25          	mov    0x25(%r15),%dl
ffffffff804c0ddc:        0 	88 54 24 3f          	mov    %dl,0x3f(%rsp)
ffffffff804c0de0:        6 	41 8b 77 1c          	mov    0x1c(%r15),%esi
ffffffff804c0de4:      455 	8b 95 00 04 00 00    	mov    0x400(%rbp),%edx
ffffffff804c0dea:        3 	49 8b 8d d0 00 00 00 	mov    0xd0(%r13),%rcx
ffffffff804c0df1:        0 	41 8b 85 c8 00 00 00 	mov    0xc8(%r13),%eax
ffffffff804c0df8:      440 	39 f2                	cmp    %esi,%edx
ffffffff804c0dfa:        0 	79 6f                	jns    ffffffff804c0e6b <tcp_ack+0x354>
ffffffff804c0dfc:        0 	89 c0                	mov    %eax,%eax
ffffffff804c0dfe:       39 	8b 5c 08 08          	mov    0x8(%rax,%rcx,1),%ebx
ffffffff804c0e02:        0 	66 83 fb 01          	cmp    $0x1,%bx
ffffffff804c0e06:        2 	0f 84 77 02 00 00    	je     ffffffff804c1083 <tcp_ack+0x56c>
ffffffff804c0e0c:        0 	41 8b 47 18          	mov    0x18(%r15),%eax
ffffffff804c0e10:        0 	39 d0                	cmp    %edx,%eax
ffffffff804c0e12:        0 	0f 89 6b 02 00 00    	jns    ffffffff804c1083 <tcp_ack+0x56c>
ffffffff804c0e18:        0 	29 c2                	sub    %eax,%edx
ffffffff804c0e1a:        0 	4c 89 ee             	mov    %r13,%rsi
ffffffff804c0e1d:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c0e20:        0 	e8 8f 4f 00 00       	callq  ffffffff804c5db4 <tcp_trim_head>
ffffffff804c0e25:        0 	85 c0                	test   %eax,%eax
ffffffff804c0e27:        0 	0f 85 56 02 00 00    	jne    ffffffff804c1083 <tcp_ack+0x56c>
ffffffff804c0e2d:        0 	41 8b 85 c8 00 00 00 	mov    0xc8(%r13),%eax
ffffffff804c0e34:        0 	0f b7 d3             	movzwl %bx,%edx
ffffffff804c0e37:        0 	49 03 85 d0 00 00 00 	add    0xd0(%r13),%rax
ffffffff804c0e3e:        0 	41 89 d6             	mov    %edx,%r14d
ffffffff804c0e41:        0 	8b 48 08             	mov    0x8(%rax),%ecx
ffffffff804c0e44:        0 	0f b7 c1             	movzwl %cx,%eax
ffffffff804c0e47:        0 	41 29 c6             	sub    %eax,%r14d
ffffffff804c0e4a:        0 	0f 84 33 02 00 00    	je     ffffffff804c1083 <tcp_ack+0x56c>
ffffffff804c0e50:        0 	66 85 c9             	test   %cx,%cx
ffffffff804c0e53:        0 	75 04                	jne    ffffffff804c0e59 <tcp_ack+0x342>
ffffffff804c0e55:        0 	0f 0b                	ud2a   
ffffffff804c0e57:        0 	eb fe                	jmp    ffffffff804c0e57 <tcp_ack+0x340>
ffffffff804c0e59:        0 	41 8b 5f 1c          	mov    0x1c(%r15),%ebx
ffffffff804c0e5d:        0 	41 39 5f 18          	cmp    %ebx,0x18(%r15)
ffffffff804c0e61:        0 	0f 88 d6 10 00 00    	js     ffffffff804c1f3d <tcp_ack+0x1426>
ffffffff804c0e67:        0 	0f 0b                	ud2a   
ffffffff804c0e69:        0 	eb fe                	jmp    ffffffff804c0e69 <tcp_ack+0x352>
ffffffff804c0e6b:        0 	83 7c 24 44 00       	cmpl   $0x0,0x44(%rsp)
ffffffff804c0e70:     6326 	89 c0                	mov    %eax,%eax
ffffffff804c0e72:      348 	44 0f b7 74 08 08    	movzwl 0x8(%rax,%rcx,1),%r14d
ffffffff804c0e78:        0 	0f 84 8f 00 00 00    	je     ffffffff804c0f0d <tcp_ack+0x3f6>
ffffffff804c0e7e:      132 	83 bd a4 03 00 00 00 	cmpl   $0x0,0x3a4(%rbp)
ffffffff804c0e85:     5840 	0f 84 82 00 00 00    	je     ffffffff804c0f0d <tcp_ack+0x3f6>
ffffffff804c0e8b:        0 	3b b5 b4 05 00 00    	cmp    0x5b4(%rbp),%esi
ffffffff804c0e91:        0 	78 7a                	js     ffffffff804c0f0d <tcp_ack+0x3f6>
ffffffff804c0e93:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c0e96:        0 	e8 21 da ff ff       	callq  ffffffff804be8bc <tcp_current_ssthresh>
ffffffff804c0e9b:        0 	8b b5 4c 04 00 00    	mov    0x44c(%rbp),%esi
ffffffff804c0ea1:        0 	44 8b a5 ac 04 00 00 	mov    0x4ac(%rbp),%r12d
ffffffff804c0ea8:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c0eab:        0 	89 85 6c 05 00 00    	mov    %eax,0x56c(%rbp)
ffffffff804c0eb1:        0 	e8 c7 3e 00 00       	callq  ffffffff804c4d7d <tcp_mss_to_mtu>
ffffffff804c0eb6:        0 	8b 9d a4 03 00 00    	mov    0x3a4(%rbp),%ebx
ffffffff804c0ebc:        0 	31 d2                	xor    %edx,%edx
ffffffff804c0ebe:        0 	c7 85 b0 04 00 00 00 	movl   $0x0,0x4b0(%rbp)
ffffffff804c0ec5:        0 	00 00 00 
ffffffff804c0ec8:        0 	41 0f af c4          	imul   %r12d,%eax
ffffffff804c0ecc:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c0ecf:        0 	f7 f3                	div    %ebx
ffffffff804c0ed1:        0 	89 85 ac 04 00 00    	mov    %eax,0x4ac(%rbp)
ffffffff804c0ed7:        0 	48 8b 05 a2 89 3f 00 	mov    0x3f89a2(%rip),%rax        # ffffffff808b9880 <jiffies>
ffffffff804c0ede:        0 	89 85 bc 04 00 00    	mov    %eax,0x4bc(%rbp)
ffffffff804c0ee4:        0 	e8 d3 d9 ff ff       	callq  ffffffff804be8bc <tcp_current_ssthresh>
ffffffff804c0ee9:        0 	8b b5 5c 03 00 00    	mov    0x35c(%rbp),%esi
ffffffff804c0eef:        0 	89 85 54 04 00 00    	mov    %eax,0x454(%rbp)
ffffffff804c0ef5:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c0ef8:        0 	89 9d a0 03 00 00    	mov    %ebx,0x3a0(%rbp)
ffffffff804c0efe:        0 	c7 85 a4 03 00 00 00 	movl   $0x0,0x3a4(%rbp)
ffffffff804c0f05:        0 	00 00 00 
ffffffff804c0f08:        0 	e8 13 3f 00 00       	callq  ffffffff804c4e20 <tcp_sync_mss>
ffffffff804c0f0d:      945 	0f b6 44 24 3f       	movzbl 0x3f(%rsp),%eax
ffffffff804c0f12:     6361 	a8 82                	test   $0x82,%al
ffffffff804c0f14:        0 	74 30                	je     ffffffff804c0f46 <tcp_ack+0x42f>
ffffffff804c0f16:        0 	a8 02                	test   $0x2,%al
ffffffff804c0f18:        0 	74 07                	je     ffffffff804c0f21 <tcp_ack+0x40a>
ffffffff804c0f1a:        0 	44 29 b5 78 04 00 00 	sub    %r14d,0x478(%rbp)
ffffffff804c0f21:        0 	83 4c 24 50 08       	orl    $0x8,0x50(%rsp)
ffffffff804c0f26:        0 	f6 44 24 50 04       	testb  $0x4,0x50(%rsp)
ffffffff804c0f2b:        0 	75 06                	jne    ffffffff804c0f33 <tcp_ack+0x41c>
ffffffff804c0f2d:        0 	41 83 fe 01          	cmp    $0x1,%r14d
ffffffff804c0f31:        0 	76 08                	jbe    ffffffff804c0f3b <tcp_ack+0x424>
ffffffff804c0f33:        0 	81 4c 24 50 00 10 00 	orl    $0x1000,0x50(%rsp)
ffffffff804c0f3a:        0 	00 
ffffffff804c0f3b:        0 	41 83 cc ff          	or     $0xffffffffffffffff,%r12d
ffffffff804c0f3f:        0 	44 89 64 24 4c       	mov    %r12d,0x4c(%rsp)
ffffffff804c0f44:        0 	eb 38                	jmp    ffffffff804c0f7e <tcp_ack+0x467>
ffffffff804c0f46:        0 	44 8b 64 24 48       	mov    0x48(%rsp),%r12d
ffffffff804c0f4b:     5837 	45 2b 67 20          	sub    0x20(%r15),%r12d
ffffffff804c0f4f:        1 	83 7c 24 4c 00       	cmpl   $0x0,0x4c(%rsp)
ffffffff804c0f54:      167 	8b 5c 24 4c          	mov    0x4c(%rsp),%ebx
ffffffff804c0f58:      514 	49 8b 55 18          	mov    0x18(%r13),%rdx
ffffffff804c0f5c:        0 	41 0f 48 dc          	cmovs  %r12d,%ebx
ffffffff804c0f60:      164 	a8 01                	test   $0x1,%al
ffffffff804c0f62:      413 	48 89 54 24 08       	mov    %rdx,0x8(%rsp)
ffffffff804c0f67:        0 	89 5c 24 4c          	mov    %ebx,0x4c(%rsp)
ffffffff804c0f6b:      148 	75 11                	jne    ffffffff804c0f7e <tcp_ack+0x467>
ffffffff804c0f6d:     1608 	8b 54 24 38          	mov    0x38(%rsp),%edx
ffffffff804c0f71:        0 	39 54 24 34          	cmp    %edx,0x34(%rsp)
ffffffff804c0f75:      272 	0f 46 54 24 34       	cmovbe 0x34(%rsp),%edx
ffffffff804c0f7a:      266 	89 54 24 34          	mov    %edx,0x34(%rsp)
ffffffff804c0f7e:        0 	a8 01                	test   $0x1,%al
ffffffff804c0f80:      164 	74 07                	je     ffffffff804c0f89 <tcp_ack+0x472>
ffffffff804c0f82:        0 	44 29 b5 d0 04 00 00 	sub    %r14d,0x4d0(%rbp)
ffffffff804c0f89:     3955 	a8 04                	test   $0x4,%al
ffffffff804c0f8b:     8510 	74 07                	je     ffffffff804c0f94 <tcp_ack+0x47d>
ffffffff804c0f8d:        0 	44 29 b5 cc 04 00 00 	sub    %r14d,0x4cc(%rbp)
ffffffff804c0f94:       11 	44 29 b5 74 04 00 00 	sub    %r14d,0x474(%rbp)
ffffffff804c0f9b:     1426 	44 01 74 24 38       	add    %r14d,0x38(%rsp)
ffffffff804c0fa0:        6 	41 f6 47 24 02       	testb  $0x2,0x24(%r15)
ffffffff804c0fa5:      548 	75 07                	jne    ffffffff804c0fae <tcp_ack+0x497>
ffffffff804c0fa7:        2 	83 4c 24 50 04       	orl    $0x4,0x50(%rsp)
ffffffff804c0fac:        0 	eb 0f                	jmp    ffffffff804c0fbd <tcp_ack+0x4a6>
ffffffff804c0fae:        0 	83 4c 24 50 10       	orl    $0x10,0x50(%rsp)
ffffffff804c0fb3:        0 	c7 85 74 05 00 00 00 	movl   $0x0,0x574(%rbp)
ffffffff804c0fba:        0 	00 00 00 
ffffffff804c0fbd:      517 	83 7c 24 44 00       	cmpl   $0x0,0x44(%rsp)
ffffffff804c0fc2:     6012 	0f 84 bb 00 00 00    	je     ffffffff804c1083 <tcp_ack+0x56c>
ffffffff804c0fc8:     1111 	48 8b 34 24          	mov    (%rsp),%rsi
ffffffff804c0fcc:        0 	4c 89 ef             	mov    %r13,%rdi
ffffffff804c0fcf:      184 	e8 0d d8 ff ff       	callq  ffffffff804be7e1 <__skb_unlink>
ffffffff804c0fd4:        5 	41 8b 45 68          	mov    0x68(%r13),%eax
ffffffff804c0fd8:      517 	05 e8 00 00 00       	add    $0xe8,%eax
ffffffff804c0fdd:        0 	41 39 85 e0 00 00 00 	cmp    %eax,0xe0(%r13)
ffffffff804c0fe4:       31 	7d 08                	jge    ffffffff804c0fee <tcp_ack+0x4d7>
ffffffff804c0fe6:        0 	4c 89 ef             	mov    %r13,%rdi
ffffffff804c0fe9:        0 	e8 d4 66 fc ff       	callq  ffffffff804876c2 <skb_truesize_bug>
ffffffff804c0fee:     1142 	0f ba ad 10 01 00 00 	btsl   $0xe,0x110(%rbp)
ffffffff804c0ff5:        0 	0e 
ffffffff804c0ff6:     2576 	8b 85 f0 00 00 00    	mov    0xf0(%rbp),%eax
ffffffff804c0ffc:      433 	41 2b 85 e0 00 00 00 	sub    0xe0(%r13),%eax
ffffffff804c1003:     4843 	89 85 f0 00 00 00    	mov    %eax,0xf0(%rbp)
ffffffff804c1009:     1730 	48 8b 45 30          	mov    0x30(%rbp),%rax
ffffffff804c100d:      311 	41 8b 95 e0 00 00 00 	mov    0xe0(%r13),%edx
ffffffff804c1014:        0 	48 83 b8 b0 00 00 00 	cmpq   $0x0,0xb0(%rax)
ffffffff804c101b:        0 	00 
ffffffff804c101c:      418 	74 06                	je     ffffffff804c1024 <tcp_ack+0x50d>
ffffffff804c101e:       37 	01 95 f4 00 00 00    	add    %edx,0xf4(%rbp)
ffffffff804c1024:        2 	4c 89 ef             	mov    %r13,%rdi
ffffffff804c1027:      432 	e8 56 7b fc ff       	callq  ffffffff80488b82 <__kfree_skb>
ffffffff804c102c:       44 	4c 3b ad f0 04 00 00 	cmp    0x4f0(%rbp),%r13
ffffffff804c1033:      511 	48 c7 85 e8 04 00 00 	movq   $0x0,0x4e8(%rbp)
ffffffff804c103a:        0 	00 00 00 00 
ffffffff804c103e:        1 	75 0b                	jne    ffffffff804c104b <tcp_ack+0x534>
ffffffff804c1040:        0 	48 c7 85 f0 04 00 00 	movq   $0x0,0x4f0(%rbp)
ffffffff804c1047:        0 	00 00 00 00 
ffffffff804c104b:        0 	4c 3b ad e0 04 00 00 	cmp    0x4e0(%rbp),%r13
ffffffff804c1052:      518 	75 0b                	jne    ffffffff804c105f <tcp_ack+0x548>
ffffffff804c1054:        0 	48 c7 85 e0 04 00 00 	movq   $0x0,0x4e0(%rbp)
ffffffff804c105b:        0 	00 00 00 00 
ffffffff804c105f:      439 	4c 8b ad c0 00 00 00 	mov    0xc0(%rbp),%r13
ffffffff804c1066:     5655 	4c 3b 2c 24          	cmp    (%rsp),%r13
ffffffff804c106a:        0 	75 05                	jne    ffffffff804c1071 <tcp_ack+0x55a>
ffffffff804c106c:        0 	45 31 ed             	xor    %r13d,%r13d
ffffffff804c106f:      810 	eb 12                	jmp    ffffffff804c1083 <tcp_ack+0x56c>
ffffffff804c1071:        0 	4d 85 ed             	test   %r13,%r13
ffffffff804c1074:     2574 	74 0d                	je     ffffffff804c1083 <tcp_ack+0x56c>
ffffffff804c1076:        0 	4c 3b ad d8 01 00 00 	cmp    0x1d8(%rbp),%r13
ffffffff804c107d:        0 	0f 85 51 fd ff ff    	jne    ffffffff804c0dd4 <tcp_ack+0x2bd>
ffffffff804c1083:      454 	8b 8d 00 04 00 00    	mov    0x400(%rbp),%ecx
ffffffff804c1089:      497 	8b 85 80 04 00 00    	mov    0x480(%rbp),%eax
ffffffff804c108f:        0 	2b 44 24 18          	sub    0x18(%rsp),%eax
ffffffff804c1093:        0 	89 ca                	mov    %ecx,%edx
ffffffff804c1095:      534 	2b 54 24 18          	sub    0x18(%rsp),%edx
ffffffff804c1099:        0 	39 c2                	cmp    %eax,%edx
ffffffff804c109b:        0 	72 06                	jb     ffffffff804c10a3 <tcp_ack+0x58c>
ffffffff804c109d:      458 	89 8d 80 04 00 00    	mov    %ecx,0x480(%rbp)
ffffffff804c10a3:        0 	4d 85 ed             	test   %r13,%r13
ffffffff804c10a6:        0 	74 15                	je     ffffffff804c10bd <tcp_ack+0x5a6>
ffffffff804c10a8:        0 	8b 44 24 50          	mov    0x50(%rsp),%eax
ffffffff804c10ac:        2 	80 cc 20             	or     $0x20,%ah
ffffffff804c10af:        3 	41 f6 45 5d 01       	testb  $0x1,0x5d(%r13)
ffffffff804c10b4:        0 	0f 44 44 24 50       	cmove  0x50(%rsp),%eax
ffffffff804c10b9:        0 	89 44 24 50          	mov    %eax,0x50(%rsp)
ffffffff804c10bd:      444 	f6 44 24 50 14       	testb  $0x14,0x50(%rsp)
ffffffff804c10c2:      551 	0f 84 e1 01 00 00    	je     ffffffff804c12a9 <tcp_ack+0x792>
ffffffff804c10c8:        1 	f6 85 9c 04 00 00 01 	testb  $0x1,0x49c(%rbp)
ffffffff804c10cf:        2 	48 8b 9d 60 03 00 00 	mov    0x360(%rbp),%rbx
ffffffff804c10d6:      462 	74 17                	je     ffffffff804c10ef <tcp_ack+0x5d8>
ffffffff804c10d8:        0 	83 bd 98 04 00 00 00 	cmpl   $0x0,0x498(%rbp)
ffffffff804c10df:        0 	74 0e                	je     ffffffff804c10ef <tcp_ack+0x5d8>
ffffffff804c10e1:      451 	8b 74 24 50          	mov    0x50(%rsp),%esi
ffffffff804c10e5:       43 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c10e8:        0 	e8 ea e8 ff ff       	callq  ffffffff804bf9d7 <tcp_ack_saw_tstamp>
ffffffff804c10ed:       66 	eb 47                	jmp    ffffffff804c1136 <tcp_ack+0x61f>
ffffffff804c10ef:        0 	83 7c 24 4c 00       	cmpl   $0x0,0x4c(%rsp)
ffffffff804c10f4:        0 	78 40                	js     ffffffff804c1136 <tcp_ack+0x61f>
ffffffff804c10f6:        0 	f6 44 24 50 08       	testb  $0x8,0x50(%rsp)
ffffffff804c10fb:        0 	75 39                	jne    ffffffff804c1136 <tcp_ack+0x61f>
ffffffff804c10fd:        0 	8b 74 24 4c          	mov    0x4c(%rsp),%esi
ffffffff804c1101:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c1104:        0 	e8 b5 e7 ff ff       	callq  ffffffff804bf8be <tcp_rtt_estimator>
ffffffff804c1109:        0 	8b 85 60 04 00 00    	mov    0x460(%rbp),%eax
ffffffff804c110f:        0 	c6 85 7b 03 00 00 00 	movb   $0x0,0x37b(%rbp)
ffffffff804c1116:        0 	c1 e8 03             	shr    $0x3,%eax
ffffffff804c1119:        0 	03 85 6c 04 00 00    	add    0x46c(%rbp),%eax
ffffffff804c111f:        0 	3d 30 75 00 00       	cmp    $0x7530,%eax
ffffffff804c1124:        0 	89 85 58 03 00 00    	mov    %eax,0x358(%rbp)
ffffffff804c112a:        0 	76 0a                	jbe    ffffffff804c1136 <tcp_ack+0x61f>
ffffffff804c112c:        0 	c7 85 58 03 00 00 30 	movl   $0x7530,0x358(%rbp)
ffffffff804c1133:        0 	75 00 00 
ffffffff804c1136:      732 	83 bd 74 04 00 00 00 	cmpl   $0x0,0x474(%rbp)
ffffffff804c113d:     1833 	75 0f                	jne    ffffffff804c114e <tcp_ack+0x637>
ffffffff804c113f:        0 	be 01 00 00 00       	mov    $0x1,%esi
ffffffff804c1144:      493 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c1147:        0 	e8 07 d7 ff ff       	callq  ffffffff804be853 <inet_csk_clear_xmit_timer>
ffffffff804c114c:        0 	eb 18                	jmp    ffffffff804c1166 <tcp_ack+0x64f>
ffffffff804c114e:        0 	8b 95 58 03 00 00    	mov    0x358(%rbp),%edx
ffffffff804c1154:        0 	b9 30 75 00 00       	mov    $0x7530,%ecx
ffffffff804c1159:        0 	be 01 00 00 00       	mov    $0x1,%esi
ffffffff804c115e:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c1161:        0 	e8 7d e4 ff ff       	callq  ffffffff804bf5e3 <inet_csk_reset_xmit_timer>
ffffffff804c1166:      881 	8a 85 9c 04 00 00    	mov    0x49c(%rbp),%al
ffffffff804c116c:      845 	c0 e8 04             	shr    $0x4,%al
ffffffff804c116f:        1 	75 63                	jne    ffffffff804c11d4 <tcp_ack+0x6bd>
ffffffff804c1171:        0 	83 7c 24 38 00       	cmpl   $0x0,0x38(%rsp)
ffffffff804c1176:        0 	7e 29                	jle    ffffffff804c11a1 <tcp_ack+0x68a>
ffffffff804c1178:        0 	8b 44 24 38          	mov    0x38(%rsp),%eax
ffffffff804c117c:        0 	8b 95 d0 04 00 00    	mov    0x4d0(%rbp),%edx
ffffffff804c1182:        0 	ff c8                	dec    %eax
ffffffff804c1184:        0 	39 d0                	cmp    %edx,%eax
ffffffff804c1186:        0 	72 0c                	jb     ffffffff804c1194 <tcp_ack+0x67d>
ffffffff804c1188:        0 	c7 85 d0 04 00 00 00 	movl   $0x0,0x4d0(%rbp)
ffffffff804c118f:        0 	00 00 00 
ffffffff804c1192:        0 	eb 0d                	jmp    ffffffff804c11a1 <tcp_ack+0x68a>
ffffffff804c1194:        0 	8d 42 01             	lea    0x1(%rdx),%eax
ffffffff804c1197:        0 	2b 44 24 38          	sub    0x38(%rsp),%eax
ffffffff804c119b:        0 	89 85 d0 04 00 00    	mov    %eax,0x4d0(%rbp)
ffffffff804c11a1:        0 	8b 74 24 38          	mov    0x38(%rsp),%esi
ffffffff804c11a5:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c11a8:        0 	e8 2d dd ff ff       	callq  ffffffff804beeda <tcp_check_reno_reordering>
ffffffff804c11ad:        0 	8b 85 cc 04 00 00    	mov    0x4cc(%rbp),%eax
ffffffff804c11b3:        0 	03 85 d0 04 00 00    	add    0x4d0(%rbp),%eax
ffffffff804c11b9:        0 	3b 85 74 04 00 00    	cmp    0x474(%rbp),%eax
ffffffff804c11bf:        0 	76 5e                	jbe    ffffffff804c121f <tcp_ack+0x708>
ffffffff804c11c1:        0 	be b0 06 00 00       	mov    $0x6b0,%esi
ffffffff804c11c6:        0 	48 c7 c7 9d d9 6a 80 	mov    $0xffffffff806ad99d,%rdi
ffffffff804c11cd:        0 	e8 e3 4f d7 ff       	callq  ffffffff802361b5 <warn_on_slowpath>
ffffffff804c11d2:        0 	eb 4b                	jmp    ffffffff804c121f <tcp_ack+0x708>
ffffffff804c11d4:      414 	8b 44 24 20          	mov    0x20(%rsp),%eax
ffffffff804c11d8:     1591 	39 44 24 34          	cmp    %eax,0x34(%rsp)
ffffffff804c11dc:        2 	73 14                	jae    ffffffff804c11f2 <tcp_ack+0x6db>
ffffffff804c11de:        0 	8b b5 d4 04 00 00    	mov    0x4d4(%rbp),%esi
ffffffff804c11e4:        0 	2b 74 24 34          	sub    0x34(%rsp),%esi
ffffffff804c11e8:        0 	31 d2                	xor    %edx,%edx
ffffffff804c11ea:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c11ed:        0 	e8 9c db ff ff       	callq  ffffffff804bed8e <tcp_update_reordering>
ffffffff804c11f2:        0 	8a 85 9c 04 00 00    	mov    0x49c(%rbp),%al
ffffffff804c11f8:      865 	c0 e8 04             	shr    $0x4,%al
ffffffff804c11fb:        3 	a8 02                	test   $0x2,%al
ffffffff804c11fd:        0 	8b 85 60 05 00 00    	mov    0x560(%rbp),%eax
ffffffff804c1203:      453 	74 06                	je     ffffffff804c120b <tcp_ack+0x6f4>
ffffffff804c1205:        8 	2b 44 24 38          	sub    0x38(%rsp),%eax
ffffffff804c1209:        0 	eb 0e                	jmp    ffffffff804c1219 <tcp_ack+0x702>
ffffffff804c120b:        0 	8b 95 d0 04 00 00    	mov    0x4d0(%rbp),%edx
ffffffff804c1211:        0 	29 54 24 40          	sub    %edx,0x40(%rsp)
ffffffff804c1215:        0 	2b 44 24 40          	sub    0x40(%rsp),%eax
ffffffff804c1219:      423 	89 85 60 05 00 00    	mov    %eax,0x560(%rbp)
ffffffff804c121f:      492 	8b 85 d4 04 00 00    	mov    0x4d4(%rbp),%eax
ffffffff804c1225:      489 	39 44 24 38          	cmp    %eax,0x38(%rsp)
ffffffff804c1229:        0 	8b 54 24 38          	mov    0x38(%rsp),%edx
ffffffff804c122d:        0 	0f 47 d0             	cmova  %eax,%edx
ffffffff804c1230:      438 	29 d0                	sub    %edx,%eax
ffffffff804c1232:        0 	89 85 d4 04 00 00    	mov    %eax,0x4d4(%rbp)
ffffffff804c1238:        1 	48 83 7b 58 00       	cmpq   $0x0,0x58(%rbx)
ffffffff804c123d:      446 	74 6a                	je     ffffffff804c12a9 <tcp_ack+0x792>
ffffffff804c123f:        0 	f6 44 24 50 08       	testb  $0x8,0x50(%rsp)
ffffffff804c1244:        3 	75 54                	jne    ffffffff804c129a <tcp_ack+0x783>
ffffffff804c1246:      441 	f6 43 10 02          	testb  $0x2,0x10(%rbx)
ffffffff804c124a:        8 	74 3f                	je     ffffffff804c128b <tcp_ack+0x774>
ffffffff804c124c:        0 	e8 33 e4 ff ff       	callq  ffffffff804bf684 <net_invalid_timestamp>
ffffffff804c1251:        0 	48 39 44 24 08       	cmp    %rax,0x8(%rsp)
ffffffff804c1256:        0 	74 33                	je     ffffffff804c128b <tcp_ack+0x774>
ffffffff804c1258:        0 	e8 17 8b d8 ff       	callq  ffffffff80249d74 <ktime_get_real>
ffffffff804c125d:        0 	48 89 c7             	mov    %rax,%rdi
ffffffff804c1260:        0 	48 2b 7c 24 08       	sub    0x8(%rsp),%rdi
ffffffff804c1265:        0 	e8 e3 8e d7 ff       	callq  ffffffff8023a14d <ns_to_timeval>
ffffffff804c126a:        0 	48 89 44 24 60       	mov    %rax,0x60(%rsp)
ffffffff804c126f:        0 	48 89 44 24 70       	mov    %rax,0x70(%rsp)
ffffffff804c1274:        0 	48 69 c0 40 42 0f 00 	imul   $0xf4240,%rax,%rax
ffffffff804c127b:        0 	48 89 54 24 78       	mov    %rdx,0x78(%rsp)
ffffffff804c1280:        0 	48 89 54 24 68       	mov    %rdx,0x68(%rsp)
ffffffff804c1285:        0 	03 44 24 78          	add    0x78(%rsp),%eax
ffffffff804c1289:        0 	eb 12                	jmp    ffffffff804c129d <tcp_ack+0x786>
ffffffff804c128b:       89 	45 85 e4             	test   %r12d,%r12d
ffffffff804c128e:      414 	7e 0a                	jle    ffffffff804c129a <tcp_ack+0x783>
ffffffff804c1290:        0 	49 63 fc             	movslq %r12d,%rdi
ffffffff804c1293:       65 	e8 a8 8b d7 ff       	callq  ffffffff80239e40 <jiffies_to_usecs>
ffffffff804c1298:        0 	eb 03                	jmp    ffffffff804c129d <tcp_ack+0x786>
ffffffff804c129a:        0 	83 c8 ff             	or     $0xffffffffffffffff,%eax
ffffffff804c129d:     1136 	89 c2                	mov    %eax,%edx
ffffffff804c129f:        7 	8b 74 24 38          	mov    0x38(%rsp),%esi
ffffffff804c12a3:      444 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c12a6:        1 	ff 53 58             	callq  *0x58(%rbx)
ffffffff804c12a9:      305 	83 bd d0 04 00 00 00 	cmpl   $0x0,0x4d0(%rbp)
ffffffff804c12b0:      518 	79 11                	jns    ffffffff804c12c3 <tcp_ack+0x7ac>
ffffffff804c12b2:        0 	be ac 0b 00 00       	mov    $0xbac,%esi
ffffffff804c12b7:        0 	48 c7 c7 9d d9 6a 80 	mov    $0xffffffff806ad99d,%rdi
ffffffff804c12be:        0 	e8 f2 4e d7 ff       	callq  ffffffff802361b5 <warn_on_slowpath>
ffffffff804c12c3:      415 	83 bd cc 04 00 00 00 	cmpl   $0x0,0x4cc(%rbp)
ffffffff804c12ca:     2204 	79 11                	jns    ffffffff804c12dd <tcp_ack+0x7c6>
ffffffff804c12cc:        0 	be ad 0b 00 00       	mov    $0xbad,%esi
ffffffff804c12d1:        0 	48 c7 c7 9d d9 6a 80 	mov    $0xffffffff806ad99d,%rdi
ffffffff804c12d8:        0 	e8 d8 4e d7 ff       	callq  ffffffff802361b5 <warn_on_slowpath>
ffffffff804c12dd:        0 	83 bd 78 04 00 00 00 	cmpl   $0x0,0x478(%rbp)
ffffffff804c12e4:     1747 	79 11                	jns    ffffffff804c12f7 <tcp_ack+0x7e0>
ffffffff804c12e6:        0 	be ae 0b 00 00       	mov    $0xbae,%esi
ffffffff804c12eb:        0 	48 c7 c7 9d d9 6a 80 	mov    $0xffffffff806ad99d,%rdi
ffffffff804c12f2:        0 	e8 be 4e d7 ff       	callq  ffffffff802361b5 <warn_on_slowpath>
ffffffff804c12f7:        0 	83 bd 74 04 00 00 00 	cmpl   $0x0,0x474(%rbp)
ffffffff804c12fe:      878 	0f 85 86 00 00 00    	jne    ffffffff804c138a <tcp_ack+0x873>
ffffffff804c1304:     4721 	8a 85 9c 04 00 00    	mov    0x49c(%rbp),%al
ffffffff804c130a:      968 	c0 e8 04             	shr    $0x4,%al
ffffffff804c130d:        2 	74 7b                	je     ffffffff804c138a <tcp_ack+0x873>
ffffffff804c130f:      171 	8b b5 cc 04 00 00    	mov    0x4cc(%rbp),%esi
ffffffff804c1315:      282 	85 f6                	test   %esi,%esi
ffffffff804c1317:        0 	74 1f                	je     ffffffff804c1338 <tcp_ack+0x821>
ffffffff804c1319:        0 	0f b6 95 78 03 00 00 	movzbl 0x378(%rbp),%edx
ffffffff804c1320:        0 	48 c7 c7 b2 d9 6a 80 	mov    $0xffffffff806ad9b2,%rdi
ffffffff804c1327:        0 	31 c0                	xor    %eax,%eax
ffffffff804c1329:        0 	e8 46 5a d7 ff       	callq  ffffffff80236d74 <printk>
ffffffff804c132e:        0 	c7 85 cc 04 00 00 00 	movl   $0x0,0x4cc(%rbp)
ffffffff804c1335:        0 	00 00 00 
ffffffff804c1338:      198 	8b b5 d0 04 00 00    	mov    0x4d0(%rbp),%esi
ffffffff804c133e:      257 	85 f6                	test   %esi,%esi
ffffffff804c1340:        0 	74 1f                	je     ffffffff804c1361 <tcp_ack+0x84a>
ffffffff804c1342:        0 	0f b6 95 78 03 00 00 	movzbl 0x378(%rbp),%edx
ffffffff804c1349:        0 	48 c7 c7 c3 d9 6a 80 	mov    $0xffffffff806ad9c3,%rdi
ffffffff804c1350:        0 	31 c0                	xor    %eax,%eax
ffffffff804c1352:        0 	e8 1d 5a d7 ff       	callq  ffffffff80236d74 <printk>
ffffffff804c1357:        0 	c7 85 d0 04 00 00 00 	movl   $0x0,0x4d0(%rbp)
ffffffff804c135e:        0 	00 00 00 
ffffffff804c1361:     2524 	8b b5 78 04 00 00    	mov    0x478(%rbp),%esi
ffffffff804c1367:     1825 	85 f6                	test   %esi,%esi
ffffffff804c1369:        0 	74 1f                	je     ffffffff804c138a <tcp_ack+0x873>
ffffffff804c136b:        0 	0f b6 95 78 03 00 00 	movzbl 0x378(%rbp),%edx
ffffffff804c1372:        0 	48 c7 c7 d4 d9 6a 80 	mov    $0xffffffff806ad9d4,%rdi
ffffffff804c1379:        0 	31 c0                	xor    %eax,%eax
ffffffff804c137b:        0 	e8 f4 59 d7 ff       	callq  ffffffff80236d74 <printk>
ffffffff804c1380:        0 	c7 85 78 04 00 00 00 	movl   $0x0,0x478(%rbp)
ffffffff804c1387:        0 	00 00 00 
ffffffff804c138a:       46 	44 8b 64 24 50       	mov    0x50(%rsp),%r12d
ffffffff804c138f:     7369 	31 c9                	xor    %ecx,%ecx
ffffffff804c1391:      348 	44 0b 64 24 5c       	or     0x5c(%rsp),%r12d
ffffffff804c1396:        0 	80 bd 5e 04 00 00 00 	cmpb   $0x0,0x45e(%rbp)
ffffffff804c139d:       96 	0f 84 26 02 00 00    	je     ffffffff804c15c9 <tcp_ack+0xab2>
ffffffff804c13a3:        0 	8b 85 cc 04 00 00    	mov    0x4cc(%rbp),%eax
ffffffff804c13a9:        0 	03 85 d0 04 00 00    	add    0x4d0(%rbp),%eax
ffffffff804c13af:        0 	3b 85 74 04 00 00    	cmp    0x474(%rbp),%eax
ffffffff804c13b5:        0 	76 11                	jbe    ffffffff804c13c8 <tcp_ack+0x8b1>
ffffffff804c13b7:        0 	be 58 0c 00 00       	mov    $0xc58,%esi
ffffffff804c13bc:        0 	48 c7 c7 9d d9 6a 80 	mov    $0xffffffff806ad99d,%rdi
ffffffff804c13c3:        0 	e8 ed 4d d7 ff       	callq  ffffffff802361b5 <warn_on_slowpath>
ffffffff804c13c8:        0 	44 89 e3             	mov    %r12d,%ebx
ffffffff804c13cb:        0 	83 e3 04             	and    $0x4,%ebx
ffffffff804c13ce:        0 	74 07                	je     ffffffff804c13d7 <tcp_ack+0x8c0>
ffffffff804c13d0:        0 	c6 85 79 03 00 00 00 	movb   $0x0,0x379(%rbp)
ffffffff804c13d7:        0 	41 f7 c4 00 10 00 00 	test   $0x1000,%r12d
ffffffff804c13de:        0 	75 0f                	jne    ffffffff804c13ef <tcp_ack+0x8d8>
ffffffff804c13e0:        0 	80 bd 5e 04 00 00 01 	cmpb   $0x1,0x45e(%rbp)
ffffffff804c13e7:        0 	76 10                	jbe    ffffffff804c13f9 <tcp_ack+0x8e2>
ffffffff804c13e9:        0 	41 f6 c4 08          	test   $0x8,%r12b
ffffffff804c13ed:        0 	74 0a                	je     ffffffff804c13f9 <tcp_ack+0x8e2>
ffffffff804c13ef:        0 	c7 85 78 05 00 00 00 	movl   $0x0,0x578(%rbp)
ffffffff804c13f6:        0 	00 00 00 
ffffffff804c13f9:        0 	8b 85 58 04 00 00    	mov    0x458(%rbp),%eax
ffffffff804c13ff:        0 	39 85 00 04 00 00    	cmp    %eax,0x400(%rbp)
ffffffff804c1405:        0 	78 12                	js     ffffffff804c1419 <tcp_ack+0x902>
ffffffff804c1407:        0 	31 f6                	xor    %esi,%esi
ffffffff804c1409:        0 	80 bd 5e 04 00 00 01 	cmpb   $0x1,0x45e(%rbp)
ffffffff804c1410:        0 	40 0f 95 c6          	setne  %sil
ffffffff804c1414:        0 	83 c6 02             	add    $0x2,%esi
ffffffff804c1417:        0 	eb 37                	jmp    ffffffff804c1450 <tcp_ack+0x939>
ffffffff804c1419:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c141c:        0 	e8 e0 da ff ff       	callq  ffffffff804bef01 <tcp_is_sackfrto>
ffffffff804c1421:        0 	85 c0                	test   %eax,%eax
ffffffff804c1423:        0 	75 3b                	jne    ffffffff804c1460 <tcp_ack+0x949>
ffffffff804c1425:        0 	41 f7 c4 34 04 00 00 	test   $0x434,%r12d
ffffffff804c142c:        0 	75 0a                	jne    ffffffff804c1438 <tcp_ack+0x921>
ffffffff804c142e:        0 	41 f6 c4 17          	test   $0x17,%r12b
ffffffff804c1432:        0 	0f 85 8c 01 00 00    	jne    ffffffff804c15c4 <tcp_ack+0xaad>
ffffffff804c1438:        0 	85 db                	test   %ebx,%ebx
ffffffff804c143a:        0 	0f 85 8d 00 00 00    	jne    ffffffff804c14cd <tcp_ack+0x9b6>
ffffffff804c1440:        0 	31 f6                	xor    %esi,%esi
ffffffff804c1442:        0 	80 bd 5e 04 00 00 01 	cmpb   $0x1,0x45e(%rbp)
ffffffff804c1449:        0 	40 0f 95 c6          	setne  %sil
ffffffff804c144d:        0 	8d 34 76             	lea    (%rsi,%rsi,2),%esi
ffffffff804c1450:        0 	44 89 e2             	mov    %r12d,%edx
ffffffff804c1453:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c1456:        0 	e8 b8 e7 ff ff       	callq  ffffffff804bfc13 <tcp_enter_frto_loss>
ffffffff804c145b:        0 	e9 64 01 00 00       	jmpq   ffffffff804c15c4 <tcp_ack+0xaad>
ffffffff804c1460:        0 	85 db                	test   %ebx,%ebx
ffffffff804c1462:        0 	75 37                	jne    ffffffff804c149b <tcp_ack+0x984>
ffffffff804c1464:        0 	80 bd 5e 04 00 00 01 	cmpb   $0x1,0x45e(%rbp)
ffffffff804c146b:        0 	75 2e                	jne    ffffffff804c149b <tcp_ack+0x984>
ffffffff804c146d:        0 	8b 85 78 04 00 00    	mov    0x478(%rbp),%eax
ffffffff804c1473:        0 	03 85 74 04 00 00    	add    0x474(%rbp),%eax
ffffffff804c1479:        0 	2b 85 d0 04 00 00    	sub    0x4d0(%rbp),%eax
ffffffff804c147f:        0 	8b 95 ac 04 00 00    	mov    0x4ac(%rbp),%edx
ffffffff804c1485:        0 	2b 85 cc 04 00 00    	sub    0x4cc(%rbp),%eax
ffffffff804c148b:        0 	39 d0                	cmp    %edx,%eax
ffffffff804c148d:        0 	0f 47 c2             	cmova  %edx,%eax
ffffffff804c1490:        0 	89 85 ac 04 00 00    	mov    %eax,0x4ac(%rbp)
ffffffff804c1496:        0 	e9 29 01 00 00       	jmpq   ffffffff804c15c4 <tcp_ack+0xaad>
ffffffff804c149b:        0 	80 bd 5e 04 00 00 01 	cmpb   $0x1,0x45e(%rbp)
ffffffff804c14a2:        0 	76 29                	jbe    ffffffff804c14cd <tcp_ack+0x9b6>
ffffffff804c14a4:        0 	41 f6 c4 34          	test   $0x34,%r12b
ffffffff804c14a8:        0 	74 0f                	je     ffffffff804c14b9 <tcp_ack+0x9a2>
ffffffff804c14aa:        0 	44 89 e0             	mov    %r12d,%eax
ffffffff804c14ad:        0 	25 20 02 00 00       	and    $0x220,%eax
ffffffff804c14b2:        0 	83 f8 20             	cmp    $0x20,%eax
ffffffff804c14b5:        0 	75 16                	jne    ffffffff804c14cd <tcp_ack+0x9b6>
ffffffff804c14b7:        0 	eb 0a                	jmp    ffffffff804c14c3 <tcp_ack+0x9ac>
ffffffff804c14b9:        0 	41 f6 c4 17          	test   $0x17,%r12b
ffffffff804c14bd:        0 	0f 85 01 01 00 00    	jne    ffffffff804c15c4 <tcp_ack+0xaad>
ffffffff804c14c3:        0 	44 89 e2             	mov    %r12d,%edx
ffffffff804c14c6:        0 	be 03 00 00 00       	mov    $0x3,%esi
ffffffff804c14cb:        0 	eb 86                	jmp    ffffffff804c1453 <tcp_ack+0x93c>
ffffffff804c14cd:        0 	80 bd 5e 04 00 00 01 	cmpb   $0x1,0x45e(%rbp)
ffffffff804c14d4:        0 	75 45                	jne    ffffffff804c151b <tcp_ack+0xa04>
ffffffff804c14d6:        0 	8b 85 78 04 00 00    	mov    0x478(%rbp),%eax
ffffffff804c14dc:        0 	03 85 74 04 00 00    	add    0x474(%rbp),%eax
ffffffff804c14e2:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c14e5:        0 	c6 85 5e 04 00 00 02 	movb   $0x2,0x45e(%rbp)
ffffffff804c14ec:        0 	83 c0 02             	add    $0x2,%eax
ffffffff804c14ef:        0 	2b 85 cc 04 00 00    	sub    0x4cc(%rbp),%eax
ffffffff804c14f5:        0 	2b 85 d0 04 00 00    	sub    0x4d0(%rbp),%eax
ffffffff804c14fb:        0 	89 85 ac 04 00 00    	mov    %eax,0x4ac(%rbp)
ffffffff804c1501:        0 	e8 0a 3e 00 00       	callq  ffffffff804c5310 <tcp_may_send_now>
ffffffff804c1506:        0 	85 c0                	test   %eax,%eax
ffffffff804c1508:        0 	0f 85 b6 00 00 00    	jne    ffffffff804c15c4 <tcp_ack+0xaad>
ffffffff804c150e:        0 	44 89 e2             	mov    %r12d,%edx
ffffffff804c1511:        0 	be 02 00 00 00       	mov    $0x2,%esi
ffffffff804c1516:        0 	e9 38 ff ff ff       	jmpq   ffffffff804c1453 <tcp_ack+0x93c>
ffffffff804c151b:        0 	8b 05 3f 6f 3f 00    	mov    0x3f6f3f(%rip),%eax        # ffffffff808b8460 <sysctl_tcp_frto_response>
ffffffff804c1521:        0 	83 f8 01             	cmp    $0x1,%eax
ffffffff804c1524:        0 	74 1a                	je     ffffffff804c1540 <tcp_ack+0xa29>
ffffffff804c1526:        0 	83 f8 02             	cmp    $0x2,%eax
ffffffff804c1529:        0 	75 5d                	jne    ffffffff804c1588 <tcp_ack+0xa71>
ffffffff804c152b:        0 	41 f6 c4 40          	test   $0x40,%r12b
ffffffff804c152f:        0 	75 57                	jne    ffffffff804c1588 <tcp_ack+0xa71>
ffffffff804c1531:        0 	be 01 00 00 00       	mov    $0x1,%esi
ffffffff804c1536:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c1539:        0 	e8 5a db ff ff       	callq  ffffffff804bf098 <tcp_undo_cwr>
ffffffff804c153e:        0 	eb 50                	jmp    ffffffff804c1590 <tcp_ack+0xa79>
ffffffff804c1540:        0 	8b 85 ac 04 00 00    	mov    0x4ac(%rbp),%eax
ffffffff804c1546:        0 	8b 95 a8 04 00 00    	mov    0x4a8(%rbp),%edx
ffffffff804c154c:        0 	c7 85 b0 04 00 00 00 	movl   $0x0,0x4b0(%rbp)
ffffffff804c1553:        0 	00 00 00 
ffffffff804c1556:        0 	c7 85 dc 04 00 00 00 	movl   $0x0,0x4dc(%rbp)
ffffffff804c155d:        0 	00 00 00 
ffffffff804c1560:        0 	39 c2                	cmp    %eax,%edx
ffffffff804c1562:        0 	0f 46 c2             	cmovbe %edx,%eax
ffffffff804c1565:        0 	89 85 ac 04 00 00    	mov    %eax,0x4ac(%rbp)
ffffffff804c156b:        0 	8a 85 7e 04 00 00    	mov    0x47e(%rbp),%al
ffffffff804c1571:        0 	a8 01                	test   $0x1,%al
ffffffff804c1573:        0 	74 09                	je     ffffffff804c157e <tcp_ack+0xa67>
ffffffff804c1575:        0 	83 c8 02             	or     $0x2,%eax
ffffffff804c1578:        0 	88 85 7e 04 00 00    	mov    %al,0x47e(%rbp)
ffffffff804c157e:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c1581:        0 	e8 27 da ff ff       	callq  ffffffff804befad <tcp_moderate_cwnd>
ffffffff804c1586:        0 	eb 08                	jmp    ffffffff804c1590 <tcp_ack+0xa79>
ffffffff804c1588:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c158b:        0 	e8 78 dd ff ff       	callq  ffffffff804bf308 <tcp_ratehalving_spur_to_response>
ffffffff804c1590:        0 	c6 85 5e 04 00 00 00 	movb   $0x0,0x45e(%rbp)
ffffffff804c1597:        0 	c7 85 78 05 00 00 00 	movl   $0x0,0x578(%rbp)
ffffffff804c159e:        0 	00 00 00 
ffffffff804c15a1:        0 	31 c9                	xor    %ecx,%ecx
ffffffff804c15a3:        0 	48 8b 05 0e 01 5f 00 	mov    0x5f010e(%rip),%rax        # ffffffff80ab16b8 <init_net+0xe8>
ffffffff804c15aa:        0 	65 8b 14 25 24 00 00 	mov    %gs:0x24,%edx
ffffffff804c15b1:        0 	00 
ffffffff804c15b2:        0 	89 d2                	mov    %edx,%edx
ffffffff804c15b4:        0 	48 f7 d0             	not    %rax
ffffffff804c15b7:        0 	48 8b 04 d0          	mov    (%rax,%rdx,8),%rax
ffffffff804c15bb:        0 	48 ff 80 28 02 00 00 	incq   0x228(%rax)
ffffffff804c15c2:        0 	eb 05                	jmp    ffffffff804c15c9 <tcp_ack+0xab2>
ffffffff804c15c4:        0 	b9 01 00 00 00       	mov    $0x1,%ecx
ffffffff804c15c9:      466 	8b 95 00 04 00 00    	mov    0x400(%rbp),%edx
ffffffff804c15cf:     5645 	39 95 58 04 00 00    	cmp    %edx,0x458(%rbp)
ffffffff804c15d5:      176 	79 0a                	jns    ffffffff804c15e1 <tcp_ack+0xaca>
ffffffff804c15d7:       24 	c7 85 58 04 00 00 00 	movl   $0x0,0x458(%rbp)
ffffffff804c15de:        0 	00 00 00 
ffffffff804c15e1:      620 	8b 54 24 2c          	mov    0x2c(%rsp),%edx
ffffffff804c15e5:      639 	03 54 24 30          	add    0x30(%rsp),%edx
ffffffff804c15e9:        2 	44 89 e3             	mov    %r12d,%ebx
ffffffff804c15ec:      283 	2b 54 24 28          	sub    0x28(%rsp),%edx
ffffffff804c15f0:      154 	2b 54 24 24          	sub    0x24(%rsp),%edx
ffffffff804c15f4:        0 	83 e3 17             	and    $0x17,%ebx
ffffffff804c15f7:      266 	89 5c 24 54          	mov    %ebx,0x54(%rsp)
ffffffff804c15fb:      168 	74 13                	je     ffffffff804c1610 <tcp_ack+0xaf9>
ffffffff804c15fd:        0 	41 f6 c4 60          	test   $0x60,%r12b
ffffffff804c1601:     6575 	75 0d                	jne    ffffffff804c1610 <tcp_ack+0xaf9>
ffffffff804c1603:       20 	80 bd 78 03 00 00 00 	cmpb   $0x0,0x378(%rbp)
ffffffff804c160a:     1417 	0f 84 3a 09 00 00    	je     ffffffff804c1f4a <tcp_ack+0x1433>
ffffffff804c1610:        0 	44 89 e0             	mov    %r12d,%eax
ffffffff804c1613:        0 	c1 e8 02             	shr    $0x2,%eax
ffffffff804c1616:        0 	88 c3                	mov    %al,%bl
ffffffff804c1618:        0 	80 e3 01             	and    $0x1,%bl
ffffffff804c161b:        0 	41 88 de             	mov    %bl,%r14b
ffffffff804c161e:        0 	74 36                	je     ffffffff804c1656 <tcp_ack+0xb3f>
ffffffff804c1620:        0 	85 c9                	test   %ecx,%ecx
ffffffff804c1622:        0 	75 32                	jne    ffffffff804c1656 <tcp_ack+0xb3f>
ffffffff804c1624:        0 	41 f6 c4 40          	test   $0x40,%r12b
ffffffff804c1628:        0 	74 0e                	je     ffffffff804c1638 <tcp_ack+0xb21>
ffffffff804c162a:        0 	8b 85 a8 04 00 00    	mov    0x4a8(%rbp),%eax
ffffffff804c1630:        0 	39 85 ac 04 00 00    	cmp    %eax,0x4ac(%rbp)
ffffffff804c1636:        0 	73 1e                	jae    ffffffff804c1656 <tcp_ack+0xb3f>
ffffffff804c1638:        0 	0f b6 8d 78 03 00 00 	movzbl 0x378(%rbp),%ecx
ffffffff804c163f:        0 	b8 0c 00 00 00       	mov    $0xc,%eax
ffffffff804c1644:        0 	d3 f8                	sar    %cl,%eax
ffffffff804c1646:        0 	a8 01                	test   $0x1,%al
ffffffff804c1648:        0 	75 0c                	jne    ffffffff804c1656 <tcp_ack+0xb3f>
ffffffff804c164a:        0 	8b 74 24 1c          	mov    0x1c(%rsp),%esi
ffffffff804c164e:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c1651:        0 	e8 6b dc ff ff       	callq  ffffffff804bf2c1 <tcp_cong_avoid>
ffffffff804c1656:        0 	31 db                	xor    %ebx,%ebx
ffffffff804c1658:        0 	41 f7 c4 17 04 00 00 	test   $0x417,%r12d
ffffffff804c165f:        0 	44 8b bd 74 04 00 00 	mov    0x474(%rbp),%r15d
ffffffff804c1666:        0 	0f 94 c3             	sete   %bl
ffffffff804c1669:        0 	41 bd 01 00 00 00    	mov    $0x1,%r13d
ffffffff804c166f:        0 	85 db                	test   %ebx,%ebx
ffffffff804c1671:        0 	75 21                	jne    ffffffff804c1694 <tcp_ack+0xb7d>
ffffffff804c1673:        0 	45 30 ed             	xor    %r13b,%r13b
ffffffff804c1676:        0 	41 f6 c4 20          	test   $0x20,%r12b
ffffffff804c167a:        0 	74 18                	je     ffffffff804c1694 <tcp_ack+0xb7d>
ffffffff804c167c:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c167f:        0 	45 31 ed             	xor    %r13d,%r13d
ffffffff804c1682:        0 	e8 cf d8 ff ff       	callq  ffffffff804bef56 <tcp_fackets_out>
ffffffff804c1687:        0 	0f b6 95 7f 04 00 00 	movzbl 0x47f(%rbp),%edx
ffffffff804c168e:        0 	39 d0                	cmp    %edx,%eax
ffffffff804c1690:        0 	41 0f 9f c5          	setg   %r13b
ffffffff804c1694:        0 	83 bd 74 04 00 00 00 	cmpl   $0x0,0x474(%rbp)
ffffffff804c169b:        0 	75 24                	jne    ffffffff804c16c1 <tcp_ack+0xbaa>
ffffffff804c169d:        0 	83 bd d0 04 00 00 00 	cmpl   $0x0,0x4d0(%rbp)
ffffffff804c16a4:        0 	74 1b                	je     ffffffff804c16c1 <tcp_ack+0xbaa>
ffffffff804c16a6:        0 	be 16 0a 00 00       	mov    $0xa16,%esi
ffffffff804c16ab:        0 	48 c7 c7 9d d9 6a 80 	mov    $0xffffffff806ad99d,%rdi
ffffffff804c16b2:        0 	e8 fe 4a d7 ff       	callq  ffffffff802361b5 <warn_on_slowpath>
ffffffff804c16b7:        0 	c7 85 d0 04 00 00 00 	movl   $0x0,0x4d0(%rbp)
ffffffff804c16be:        0 	00 00 00 
ffffffff804c16c1:        0 	83 bd d0 04 00 00 00 	cmpl   $0x0,0x4d0(%rbp)
ffffffff804c16c8:        0 	75 24                	jne    ffffffff804c16ee <tcp_ack+0xbd7>
ffffffff804c16ca:        0 	83 bd d4 04 00 00 00 	cmpl   $0x0,0x4d4(%rbp)
ffffffff804c16d1:        0 	74 1b                	je     ffffffff804c16ee <tcp_ack+0xbd7>
ffffffff804c16d3:        0 	be 18 0a 00 00       	mov    $0xa18,%esi
ffffffff804c16d8:        0 	48 c7 c7 9d d9 6a 80 	mov    $0xffffffff806ad99d,%rdi
ffffffff804c16df:        0 	e8 d1 4a d7 ff       	callq  ffffffff802361b5 <warn_on_slowpath>
ffffffff804c16e4:        0 	c7 85 d4 04 00 00 00 	movl   $0x0,0x4d4(%rbp)
ffffffff804c16eb:        0 	00 00 00 
ffffffff804c16ee:        0 	44 89 e0             	mov    %r12d,%eax
ffffffff804c16f1:        0 	83 e0 40             	and    $0x40,%eax
ffffffff804c16f4:        0 	89 44 24 58          	mov    %eax,0x58(%rsp)
ffffffff804c16f8:        0 	74 0a                	je     ffffffff804c1704 <tcp_ack+0xbed>
ffffffff804c16fa:        0 	c7 85 6c 05 00 00 00 	movl   $0x0,0x56c(%rbp)
ffffffff804c1701:        0 	00 00 00 
ffffffff804c1704:        0 	41 f7 c4 00 20 00 00 	test   $0x2000,%r12d
ffffffff804c170b:        0 	0f 84 50 08 00 00    	je     ffffffff804c1f61 <tcp_ack+0x144a>
ffffffff804c1711:        0 	48 8b 15 a0 ff 5e 00 	mov    0x5effa0(%rip),%rdx        # ffffffff80ab16b8 <init_net+0xe8>
ffffffff804c1718:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c171b:        0 	be 01 00 00 00       	mov    $0x1,%esi
ffffffff804c1720:        0 	65 8b 04 25 24 00 00 	mov    %gs:0x24,%eax
ffffffff804c1727:        0 	00 
ffffffff804c1728:        0 	89 c0                	mov    %eax,%eax
ffffffff804c172a:        0 	48 f7 d2             	not    %rdx
ffffffff804c172d:        0 	48 8b 04 c2          	mov    (%rdx,%rax,8),%rax
ffffffff804c1731:        0 	48 ff 80 00 01 00 00 	incq   0x100(%rax)
ffffffff804c1738:        0 	e8 df e2 ff ff       	callq  ffffffff804bfa1c <tcp_enter_loss>
ffffffff804c173d:        0 	48 8b b5 c0 00 00 00 	mov    0xc0(%rbp),%rsi
ffffffff804c1744:        0 	fe 85 79 03 00 00    	incb   0x379(%rbp)
ffffffff804c174a:        0 	48 8d 85 c0 00 00 00 	lea    0xc0(%rbp),%rax
ffffffff804c1751:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c1754:        0 	48 39 c6             	cmp    %rax,%rsi
ffffffff804c1757:        0 	b8 00 00 00 00       	mov    $0x0,%eax
ffffffff804c175c:        0 	48 0f 44 f0          	cmove  %rax,%rsi
ffffffff804c1760:        0 	e8 2d 4b 00 00       	callq  ffffffff804c6292 <tcp_retransmit_skb>
ffffffff804c1765:        0 	8b 95 58 03 00 00    	mov    0x358(%rbp),%edx
ffffffff804c176b:        0 	b9 30 75 00 00       	mov    $0x7530,%ecx
ffffffff804c1770:        0 	be 01 00 00 00       	mov    $0x1,%esi
ffffffff804c1775:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c1778:        0 	e8 66 de ff ff       	callq  ffffffff804bf5e3 <inet_csk_reset_xmit_timer>
ffffffff804c177d:        0 	e9 dd 06 00 00       	jmpq   ffffffff804c1e5f <tcp_ack+0x1348>
ffffffff804c1782:        0 	45 84 e4             	test   %r12b,%r12b
ffffffff804c1785:        0 	79 51                	jns    ffffffff804c17d8 <tcp_ack+0xcc1>
ffffffff804c1787:        0 	8b 95 70 05 00 00    	mov    0x570(%rbp),%edx
ffffffff804c178d:        0 	39 95 00 04 00 00    	cmp    %edx,0x400(%rbp)
ffffffff804c1793:        0 	79 43                	jns    ffffffff804c17d8 <tcp_ack+0xcc1>
ffffffff804c1795:        0 	80 bd 78 03 00 00 00 	cmpb   $0x0,0x378(%rbp)
ffffffff804c179c:        0 	74 3a                	je     ffffffff804c17d8 <tcp_ack+0xcc1>
ffffffff804c179e:        0 	0f b6 85 7f 04 00 00 	movzbl 0x47f(%rbp),%eax
ffffffff804c17a5:        0 	8b b5 d4 04 00 00    	mov    0x4d4(%rbp),%esi
ffffffff804c17ab:        0 	39 c6                	cmp    %eax,%esi
ffffffff804c17ad:        0 	76 29                	jbe    ffffffff804c17d8 <tcp_ack+0xcc1>
ffffffff804c17af:        0 	29 c6                	sub    %eax,%esi
ffffffff804c17b1:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c17b4:        0 	e8 58 e6 ff ff       	callq  ffffffff804bfe11 <tcp_mark_head_lost>
ffffffff804c17b9:        0 	48 8b 05 f8 fe 5e 00 	mov    0x5efef8(%rip),%rax        # ffffffff80ab16b8 <init_net+0xe8>
ffffffff804c17c0:        0 	65 8b 14 25 24 00 00 	mov    %gs:0x24,%edx
ffffffff804c17c7:        0 	00 
ffffffff804c17c8:        0 	89 d2                	mov    %edx,%edx
ffffffff804c17ca:        0 	48 f7 d0             	not    %rax
ffffffff804c17cd:        0 	48 8b 04 d0          	mov    (%rax,%rdx,8),%rax
ffffffff804c17d1:        0 	48 ff 80 48 01 00 00 	incq   0x148(%rax)
ffffffff804c17d8:        0 	8b 85 cc 04 00 00    	mov    0x4cc(%rbp),%eax
ffffffff804c17de:        0 	03 85 d0 04 00 00    	add    0x4d0(%rbp),%eax
ffffffff804c17e4:        0 	3b 85 74 04 00 00    	cmp    0x474(%rbp),%eax
ffffffff804c17ea:        0 	76 11                	jbe    ffffffff804c17fd <tcp_ack+0xce6>
ffffffff804c17ec:        0 	be 2e 0a 00 00       	mov    $0xa2e,%esi
ffffffff804c17f1:        0 	48 c7 c7 9d d9 6a 80 	mov    $0xffffffff806ad99d,%rdi
ffffffff804c17f8:        0 	e8 b8 49 d7 ff       	callq  ffffffff802361b5 <warn_on_slowpath>
ffffffff804c17fd:        0 	8a 85 78 03 00 00    	mov    0x378(%rbp),%al
ffffffff804c1803:        0 	84 c0                	test   %al,%al
ffffffff804c1805:        0 	75 29                	jne    ffffffff804c1830 <tcp_ack+0xd19>
ffffffff804c1807:        0 	83 bd 78 04 00 00 00 	cmpl   $0x0,0x478(%rbp)
ffffffff804c180e:        0 	74 11                	je     ffffffff804c1821 <tcp_ack+0xd0a>
ffffffff804c1810:        0 	be 33 0a 00 00       	mov    $0xa33,%esi
ffffffff804c1815:        0 	48 c7 c7 9d d9 6a 80 	mov    $0xffffffff806ad99d,%rdi
ffffffff804c181c:        0 	e8 94 49 d7 ff       	callq  ffffffff802361b5 <warn_on_slowpath>
ffffffff804c1821:        0 	c7 85 74 05 00 00 00 	movl   $0x0,0x574(%rbp)
ffffffff804c1828:        0 	00 00 00 
ffffffff804c182b:        0 	e9 c4 00 00 00       	jmpq   ffffffff804c18f4 <tcp_ack+0xddd>
ffffffff804c1830:        0 	8b 8d 70 05 00 00    	mov    0x570(%rbp),%ecx
ffffffff804c1836:        0 	8b 95 00 04 00 00    	mov    0x400(%rbp),%edx
ffffffff804c183c:        0 	39 ca                	cmp    %ecx,%edx
ffffffff804c183e:        0 	0f 88 b0 00 00 00    	js     ffffffff804c18f4 <tcp_ack+0xddd>
ffffffff804c1844:        0 	3c 02                	cmp    $0x2,%al
ffffffff804c1846:        0 	74 31                	je     ffffffff804c1879 <tcp_ack+0xd62>
ffffffff804c1848:        0 	77 0a                	ja     ffffffff804c1854 <tcp_ack+0xd3d>
ffffffff804c184a:        0 	fe c8                	dec    %al
ffffffff804c184c:        0 	0f 85 a2 00 00 00    	jne    ffffffff804c18f4 <tcp_ack+0xddd>
ffffffff804c1852:        0 	eb 33                	jmp    ffffffff804c1887 <tcp_ack+0xd70>
ffffffff804c1854:        0 	3c 03                	cmp    $0x3,%al
ffffffff804c1856:        0 	74 6f                	je     ffffffff804c18c7 <tcp_ack+0xdb0>
ffffffff804c1858:        0 	3c 04                	cmp    $0x4,%al
ffffffff804c185a:        0 	0f 85 94 00 00 00    	jne    ffffffff804c18f4 <tcp_ack+0xddd>
ffffffff804c1860:        0 	c6 85 79 03 00 00 00 	movb   $0x0,0x379(%rbp)
ffffffff804c1867:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c186a:        0 	e8 fb d8 ff ff       	callq  ffffffff804bf16a <tcp_try_undo_recovery>
ffffffff804c186f:        0 	85 c0                	test   %eax,%eax
ffffffff804c1871:        0 	0f 85 e8 05 00 00    	jne    ffffffff804c1e5f <tcp_ack+0x1348>
ffffffff804c1877:        0 	eb 7b                	jmp    ffffffff804c18f4 <tcp_ack+0xddd>
ffffffff804c1879:        0 	39 ca                	cmp    %ecx,%edx
ffffffff804c187b:        0 	74 77                	je     ffffffff804c18f4 <tcp_ack+0xddd>
ffffffff804c187d:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c1880:        0 	e8 b8 d9 ff ff       	callq  ffffffff804bf23d <tcp_complete_cwr>
ffffffff804c1885:        0 	eb 34                	jmp    ffffffff804c18bb <tcp_ack+0xda4>
ffffffff804c1887:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c188a:        0 	e8 63 d9 ff ff       	callq  ffffffff804bf1f2 <tcp_try_undo_dsack>
ffffffff804c188f:        0 	83 bd 78 05 00 00 00 	cmpl   $0x0,0x578(%rbp)
ffffffff804c1896:        0 	74 19                	je     ffffffff804c18b1 <tcp_ack+0xd9a>
ffffffff804c1898:        0 	8a 85 9c 04 00 00    	mov    0x49c(%rbp),%al
ffffffff804c189e:        0 	c0 e8 04             	shr    $0x4,%al
ffffffff804c18a1:        0 	74 0e                	je     ffffffff804c18b1 <tcp_ack+0xd9a>
ffffffff804c18a3:        0 	8b 85 70 05 00 00    	mov    0x570(%rbp),%eax
ffffffff804c18a9:        0 	39 85 00 04 00 00    	cmp    %eax,0x400(%rbp)
ffffffff804c18af:        0 	74 43                	je     ffffffff804c18f4 <tcp_ack+0xddd>
ffffffff804c18b1:        0 	c7 85 78 05 00 00 00 	movl   $0x0,0x578(%rbp)
ffffffff804c18b8:        0 	00 00 00 
ffffffff804c18bb:        0 	31 f6                	xor    %esi,%esi
ffffffff804c18bd:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c18c0:        0 	e8 b4 cf ff ff       	callq  ffffffff804be879 <tcp_set_ca_state>
ffffffff804c18c5:        0 	eb 2d                	jmp    ffffffff804c18f4 <tcp_ack+0xddd>
ffffffff804c18c7:        0 	8a 85 9c 04 00 00    	mov    0x49c(%rbp),%al
ffffffff804c18cd:        0 	c0 e8 04             	shr    $0x4,%al
ffffffff804c18d0:        0 	75 0a                	jne    ffffffff804c18dc <tcp_ack+0xdc5>
ffffffff804c18d2:        0 	c7 85 d0 04 00 00 00 	movl   $0x0,0x4d0(%rbp)
ffffffff804c18d9:        0 	00 00 00 
ffffffff804c18dc:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c18df:        0 	e8 86 d8 ff ff       	callq  ffffffff804bf16a <tcp_try_undo_recovery>
ffffffff804c18e4:        0 	85 c0                	test   %eax,%eax
ffffffff804c18e6:        0 	0f 85 73 05 00 00    	jne    ffffffff804c1e5f <tcp_ack+0x1348>
ffffffff804c18ec:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c18ef:        0 	e8 49 d9 ff ff       	callq  ffffffff804bf23d <tcp_complete_cwr>
ffffffff804c18f4:        0 	8a 85 78 03 00 00    	mov    0x378(%rbp),%al
ffffffff804c18fa:        0 	3c 03                	cmp    $0x3,%al
ffffffff804c18fc:        0 	74 0d                	je     ffffffff804c190b <tcp_ack+0xdf4>
ffffffff804c18fe:        0 	3c 04                	cmp    $0x4,%al
ffffffff804c1900:        0 	0f 85 b8 01 00 00    	jne    ffffffff804c1abe <tcp_ack+0xfa7>
ffffffff804c1906:        0 	e9 c4 00 00 00       	jmpq   ffffffff804c19cf <tcp_ack+0xeb8>
ffffffff804c190b:        0 	41 f7 c4 00 04 00 00 	test   $0x400,%r12d
ffffffff804c1912:        0 	8a 85 9c 04 00 00    	mov    0x49c(%rbp),%al
ffffffff804c1918:        0 	75 1e                	jne    ffffffff804c1938 <tcp_ack+0xe21>
ffffffff804c191a:        0 	c0 e8 04             	shr    $0x4,%al
ffffffff804c191d:        0 	0f 85 fd 03 00 00    	jne    ffffffff804c1d20 <tcp_ack+0x1209>
ffffffff804c1923:        0 	85 db                	test   %ebx,%ebx
ffffffff804c1925:        0 	0f 84 f5 03 00 00    	je     ffffffff804c1d20 <tcp_ack+0x1209>
ffffffff804c192b:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c192e:        0 	e8 54 dd ff ff       	callq  ffffffff804bf687 <tcp_add_reno_sack>
ffffffff804c1933:        0 	e9 e8 03 00 00       	jmpq   ffffffff804c1d20 <tcp_ack+0x1209>
ffffffff804c1938:        0 	c0 e8 04             	shr    $0x4,%al
ffffffff804c193b:        0 	41 bd 01 00 00 00    	mov    $0x1,%r13d
ffffffff804c1941:        0 	74 18                	je     ffffffff804c195b <tcp_ack+0xe44>
ffffffff804c1943:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c1946:        0 	45 31 ed             	xor    %r13d,%r13d
ffffffff804c1949:        0 	e8 08 d6 ff ff       	callq  ffffffff804bef56 <tcp_fackets_out>
ffffffff804c194e:        0 	0f b6 95 7f 04 00 00 	movzbl 0x47f(%rbp),%edx
ffffffff804c1955:        0 	39 d0                	cmp    %edx,%eax
ffffffff804c1957:        0 	41 0f 9f c5          	setg   %r13b
ffffffff804c195b:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c195e:        0 	e8 c9 d7 ff ff       	callq  ffffffff804bf12c <tcp_may_undo>
ffffffff804c1963:        0 	85 c0                	test   %eax,%eax
ffffffff804c1965:        0 	0f 84 b5 03 00 00    	je     ffffffff804c1d20 <tcp_ack+0x1209>
ffffffff804c196b:        0 	83 bd 78 04 00 00 00 	cmpl   $0x0,0x478(%rbp)
ffffffff804c1972:        0 	75 0a                	jne    ffffffff804c197e <tcp_ack+0xe67>
ffffffff804c1974:        0 	c7 85 74 05 00 00 00 	movl   $0x0,0x574(%rbp)
ffffffff804c197b:        0 	00 00 00 
ffffffff804c197e:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c1981:        0 	45 31 ed             	xor    %r13d,%r13d
ffffffff804c1984:        0 	e8 cd d5 ff ff       	callq  ffffffff804bef56 <tcp_fackets_out>
ffffffff804c1989:        0 	44 29 7c 24 14       	sub    %r15d,0x14(%rsp)
ffffffff804c198e:        0 	ba 01 00 00 00       	mov    $0x1,%edx
ffffffff804c1993:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c1996:        0 	8b 74 24 14          	mov    0x14(%rsp),%esi
ffffffff804c199a:        0 	01 c6                	add    %eax,%esi
ffffffff804c199c:        0 	e8 ed d3 ff ff       	callq  ffffffff804bed8e <tcp_update_reordering>
ffffffff804c19a1:        0 	31 f6                	xor    %esi,%esi
ffffffff804c19a3:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c19a6:        0 	e8 ed d6 ff ff       	callq  ffffffff804bf098 <tcp_undo_cwr>
ffffffff804c19ab:        0 	48 8b 15 06 fd 5e 00 	mov    0x5efd06(%rip),%rdx        # ffffffff80ab16b8 <init_net+0xe8>
ffffffff804c19b2:        0 	65 8b 04 25 24 00 00 	mov    %gs:0x24,%eax
ffffffff804c19b9:        0 	00 
ffffffff804c19ba:        0 	89 c0                	mov    %eax,%eax
ffffffff804c19bc:        0 	48 f7 d2             	not    %rdx
ffffffff804c19bf:        0 	48 8b 04 c2          	mov    (%rdx,%rax,8),%rax
ffffffff804c19c3:        0 	48 ff 80 30 01 00 00 	incq   0x130(%rax)
ffffffff804c19ca:        0 	e9 51 03 00 00       	jmpq   ffffffff804c1d20 <tcp_ack+0x1209>
ffffffff804c19cf:        0 	45 84 f6             	test   %r14b,%r14b
ffffffff804c19d2:        0 	74 07                	je     ffffffff804c19db <tcp_ack+0xec4>
ffffffff804c19d4:        0 	c6 85 79 03 00 00 00 	movb   $0x0,0x379(%rbp)
ffffffff804c19db:        0 	8a 85 9c 04 00 00    	mov    0x49c(%rbp),%al
ffffffff804c19e1:        0 	c0 e8 04             	shr    $0x4,%al
ffffffff804c19e4:        0 	75 13                	jne    ffffffff804c19f9 <tcp_ack+0xee2>
ffffffff804c19e6:        0 	41 f7 c4 00 04 00 00 	test   $0x400,%r12d
ffffffff804c19ed:        0 	74 0a                	je     ffffffff804c19f9 <tcp_ack+0xee2>
ffffffff804c19ef:        0 	c7 85 d0 04 00 00 00 	movl   $0x0,0x4d0(%rbp)
ffffffff804c19f6:        0 	00 00 00 
ffffffff804c19f9:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c19fc:        0 	e8 2b d7 ff ff       	callq  ffffffff804bf12c <tcp_may_undo>
ffffffff804c1a01:        0 	85 c0                	test   %eax,%eax
ffffffff804c1a03:        0 	0f 84 6e 05 00 00    	je     ffffffff804c1f77 <tcp_ack+0x1460>
ffffffff804c1a09:        0 	48 8b 95 c0 00 00 00 	mov    0xc0(%rbp),%rdx
ffffffff804c1a10:        0 	48 8d 8d c0 00 00 00 	lea    0xc0(%rbp),%rcx
ffffffff804c1a17:        0 	eb 10                	jmp    ffffffff804c1a29 <tcp_ack+0xf12>
ffffffff804c1a19:        0 	48 3b 95 d8 01 00 00 	cmp    0x1d8(%rbp),%rdx
ffffffff804c1a20:        0 	74 12                	je     ffffffff804c1a34 <tcp_ack+0xf1d>
ffffffff804c1a22:        0 	80 62 5d fb          	andb   $0xfb,0x5d(%rdx)
ffffffff804c1a26:        0 	48 8b 12             	mov    (%rdx),%rdx
ffffffff804c1a29:        0 	48 8b 02             	mov    (%rdx),%rax
ffffffff804c1a2c:        0 	48 39 ca             	cmp    %rcx,%rdx
ffffffff804c1a2f:        0 	0f 18 08             	prefetcht0 (%rax)
ffffffff804c1a32:        0 	75 e5                	jne    ffffffff804c1a19 <tcp_ack+0xf02>
ffffffff804c1a34:        0 	48 c7 85 e0 04 00 00 	movq   $0x0,0x4e0(%rbp)
ffffffff804c1a3b:        0 	00 00 00 00 
ffffffff804c1a3f:        0 	48 c7 85 e8 04 00 00 	movq   $0x0,0x4e8(%rbp)
ffffffff804c1a46:        0 	00 00 00 00 
ffffffff804c1a4a:        0 	be 01 00 00 00       	mov    $0x1,%esi
ffffffff804c1a4f:        0 	48 c7 85 f0 04 00 00 	movq   $0x0,0x4f0(%rbp)
ffffffff804c1a56:        0 	00 00 00 00 
ffffffff804c1a5a:        0 	c7 85 cc 04 00 00 00 	movl   $0x0,0x4cc(%rbp)
ffffffff804c1a61:        0 	00 00 00 
ffffffff804c1a64:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c1a67:        0 	e8 2c d6 ff ff       	callq  ffffffff804bf098 <tcp_undo_cwr>
ffffffff804c1a6c:        0 	48 8b 15 45 fc 5e 00 	mov    0x5efc45(%rip),%rdx        # ffffffff80ab16b8 <init_net+0xe8>
ffffffff804c1a73:        0 	65 8b 04 25 24 00 00 	mov    %gs:0x24,%eax
ffffffff804c1a7a:        0 	00 
ffffffff804c1a7b:        0 	89 c0                	mov    %eax,%eax
ffffffff804c1a7d:        0 	48 f7 d2             	not    %rdx
ffffffff804c1a80:        0 	48 8b 04 c2          	mov    (%rdx,%rax,8),%rax
ffffffff804c1a84:        0 	48 ff 80 40 01 00 00 	incq   0x140(%rax)
ffffffff804c1a8b:        0 	c6 85 79 03 00 00 00 	movb   $0x0,0x379(%rbp)
ffffffff804c1a92:        0 	8a 85 9c 04 00 00    	mov    0x49c(%rbp),%al
ffffffff804c1a98:        0 	c7 85 78 05 00 00 00 	movl   $0x0,0x578(%rbp)
ffffffff804c1a9f:        0 	00 00 00 
ffffffff804c1aa2:        0 	c0 e8 04             	shr    $0x4,%al
ffffffff804c1aa5:        0 	74 0a                	je     ffffffff804c1ab1 <tcp_ack+0xf9a>
ffffffff804c1aa7:        0 	31 f6                	xor    %esi,%esi
ffffffff804c1aa9:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c1aac:        0 	e8 c8 cd ff ff       	callq  ffffffff804be879 <tcp_set_ca_state>
ffffffff804c1ab1:        0 	80 bd 78 03 00 00 00 	cmpb   $0x0,0x378(%rbp)
ffffffff804c1ab8:        0 	0f 85 a1 03 00 00    	jne    ffffffff804c1e5f <tcp_ack+0x1348>
ffffffff804c1abe:        0 	8a 85 9c 04 00 00    	mov    0x49c(%rbp),%al
ffffffff804c1ac4:        0 	c0 e8 04             	shr    $0x4,%al
ffffffff804c1ac7:        0 	75 1f                	jne    ffffffff804c1ae8 <tcp_ack+0xfd1>
ffffffff804c1ac9:        0 	41 f7 c4 00 04 00 00 	test   $0x400,%r12d
ffffffff804c1ad0:        0 	74 0a                	je     ffffffff804c1adc <tcp_ack+0xfc5>
ffffffff804c1ad2:        0 	c7 85 d0 04 00 00 00 	movl   $0x0,0x4d0(%rbp)
ffffffff804c1ad9:        0 	00 00 00 
ffffffff804c1adc:        0 	85 db                	test   %ebx,%ebx
ffffffff804c1ade:        0 	74 08                	je     ffffffff804c1ae8 <tcp_ack+0xfd1>
ffffffff804c1ae0:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c1ae3:        0 	e8 9f db ff ff       	callq  ffffffff804bf687 <tcp_add_reno_sack>
ffffffff804c1ae8:        0 	80 bd 78 03 00 00 01 	cmpb   $0x1,0x378(%rbp)
ffffffff804c1aef:        0 	75 08                	jne    ffffffff804c1af9 <tcp_ack+0xfe2>
ffffffff804c1af1:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c1af4:        0 	e8 f9 d6 ff ff       	callq  ffffffff804bf1f2 <tcp_try_undo_dsack>
ffffffff804c1af9:        0 	80 bd 5e 04 00 00 00 	cmpb   $0x0,0x45e(%rbp)
ffffffff804c1b00:        0 	0f 85 90 00 00 00    	jne    ffffffff804c1b96 <tcp_ack+0x107f>
ffffffff804c1b06:        0 	83 bd cc 04 00 00 00 	cmpl   $0x0,0x4cc(%rbp)
ffffffff804c1b0d:        0 	0f 85 79 04 00 00    	jne    ffffffff804c1f8c <tcp_ack+0x1475>
ffffffff804c1b13:        0 	8a 85 9c 04 00 00    	mov    0x49c(%rbp),%al
ffffffff804c1b19:        0 	c0 e8 04             	shr    $0x4,%al
ffffffff804c1b1c:        0 	a8 02                	test   $0x2,%al
ffffffff804c1b1e:        0 	74 08                	je     ffffffff804c1b28 <tcp_ack+0x1011>
ffffffff804c1b20:        0 	8b 95 d4 04 00 00    	mov    0x4d4(%rbp),%edx
ffffffff804c1b26:        0 	eb 08                	jmp    ffffffff804c1b30 <tcp_ack+0x1019>
ffffffff804c1b28:        0 	8b 95 d0 04 00 00    	mov    0x4d0(%rbp),%edx
ffffffff804c1b2e:        0 	ff c2                	inc    %edx
ffffffff804c1b30:        0 	0f b6 85 7f 04 00 00 	movzbl 0x47f(%rbp),%eax
ffffffff804c1b37:        0 	39 c2                	cmp    %eax,%edx
ffffffff804c1b39:        0 	0f 8f 4d 04 00 00    	jg     ffffffff804c1f8c <tcp_ack+0x1475>
ffffffff804c1b3f:        0 	8a 85 9c 04 00 00    	mov    0x49c(%rbp),%al
ffffffff804c1b45:        0 	c0 e8 04             	shr    $0x4,%al
ffffffff804c1b48:        0 	a8 02                	test   $0x2,%al
ffffffff804c1b4a:        0 	74 10                	je     ffffffff804c1b5c <tcp_ack+0x1045>
ffffffff804c1b4c:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c1b4f:        0 	e8 1d d4 ff ff       	callq  ffffffff804bef71 <tcp_head_timedout>
ffffffff804c1b54:        0 	85 c0                	test   %eax,%eax
ffffffff804c1b56:        0 	0f 85 30 04 00 00    	jne    ffffffff804c1f8c <tcp_ack+0x1475>
ffffffff804c1b5c:        0 	0f b6 85 7f 04 00 00 	movzbl 0x47f(%rbp),%eax
ffffffff804c1b63:        0 	8b 95 74 04 00 00    	mov    0x474(%rbp),%edx
ffffffff804c1b69:        0 	39 c2                	cmp    %eax,%edx
ffffffff804c1b6b:        0 	77 29                	ja     ffffffff804c1b96 <tcp_ack+0x107f>
ffffffff804c1b6d:        0 	89 d0                	mov    %edx,%eax
ffffffff804c1b6f:        0 	d1 e8                	shr    %eax
ffffffff804c1b71:        0 	39 05 c1 68 3f 00    	cmp    %eax,0x3f68c1(%rip)        # ffffffff808b8438 <sysctl_tcp_reordering>
ffffffff804c1b77:        0 	0f 43 05 ba 68 3f 00 	cmovae 0x3f68ba(%rip),%eax        # ffffffff808b8438 <sysctl_tcp_reordering>
ffffffff804c1b7e:        0 	39 85 d0 04 00 00    	cmp    %eax,0x4d0(%rbp)
ffffffff804c1b84:        0 	72 10                	jb     ffffffff804c1b96 <tcp_ack+0x107f>
ffffffff804c1b86:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c1b89:        0 	e8 82 37 00 00       	callq  ffffffff804c5310 <tcp_may_send_now>
ffffffff804c1b8e:        0 	85 c0                	test   %eax,%eax
ffffffff804c1b90:        0 	0f 84 f6 03 00 00    	je     ffffffff804c1f8c <tcp_ack+0x1475>
ffffffff804c1b96:        0 	8b 85 cc 04 00 00    	mov    0x4cc(%rbp),%eax
ffffffff804c1b9c:        0 	03 85 d0 04 00 00    	add    0x4d0(%rbp),%eax
ffffffff804c1ba2:        0 	3b 85 74 04 00 00    	cmp    0x474(%rbp),%eax
ffffffff804c1ba8:        0 	76 11                	jbe    ffffffff804c1bbb <tcp_ack+0x10a4>
ffffffff804c1baa:        0 	be d7 09 00 00       	mov    $0x9d7,%esi
ffffffff804c1baf:        0 	48 c7 c7 9d d9 6a 80 	mov    $0xffffffff806ad99d,%rdi
ffffffff804c1bb6:        0 	e8 fa 45 d7 ff       	callq  ffffffff802361b5 <warn_on_slowpath>
ffffffff804c1bbb:        0 	80 bd 5e 04 00 00 00 	cmpb   $0x0,0x45e(%rbp)
ffffffff804c1bc2:        0 	75 13                	jne    ffffffff804c1bd7 <tcp_ack+0x10c0>
ffffffff804c1bc4:        0 	83 bd 78 04 00 00 00 	cmpl   $0x0,0x478(%rbp)
ffffffff804c1bcb:        0 	75 0a                	jne    ffffffff804c1bd7 <tcp_ack+0x10c0>
ffffffff804c1bcd:        0 	c7 85 74 05 00 00 00 	movl   $0x0,0x574(%rbp)
ffffffff804c1bd4:        0 	00 00 00 
ffffffff804c1bd7:        0 	83 7c 24 58 00       	cmpl   $0x0,0x58(%rsp)
ffffffff804c1bdc:        0 	74 0d                	je     ffffffff804c1beb <tcp_ack+0x10d4>
ffffffff804c1bde:        0 	be 01 00 00 00       	mov    $0x1,%esi
ffffffff804c1be3:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c1be6:        0 	e8 cf d0 ff ff       	callq  ffffffff804becba <tcp_enter_cwr>
ffffffff804c1beb:        0 	80 bd 78 03 00 00 02 	cmpb   $0x2,0x378(%rbp)
ffffffff804c1bf2:        0 	74 15                	je     ffffffff804c1c09 <tcp_ack+0x10f2>
ffffffff804c1bf4:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c1bf7:        0 	e8 71 d6 ff ff       	callq  ffffffff804bf26d <tcp_try_keep_open>
ffffffff804c1bfc:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c1bff:        0 	e8 a9 d3 ff ff       	callq  ffffffff804befad <tcp_moderate_cwnd>
ffffffff804c1c04:        0 	e9 56 02 00 00       	jmpq   ffffffff804c1e5f <tcp_ack+0x1348>
ffffffff804c1c09:        0 	44 89 e6             	mov    %r12d,%esi
ffffffff804c1c0c:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c1c0f:        0 	e8 d9 d3 ff ff       	callq  ffffffff804befed <tcp_cwnd_down>
ffffffff804c1c14:        0 	e9 46 02 00 00       	jmpq   ffffffff804c1e5f <tcp_ack+0x1348>
ffffffff804c1c19:        0 	8b 95 a4 03 00 00    	mov    0x3a4(%rbp),%edx
ffffffff804c1c1f:        0 	85 d2                	test   %edx,%edx
ffffffff804c1c21:        0 	74 34                	je     ffffffff804c1c57 <tcp_ack+0x1140>
ffffffff804c1c23:        0 	8b 85 b0 05 00 00    	mov    0x5b0(%rbp),%eax
ffffffff804c1c29:        0 	39 85 00 04 00 00    	cmp    %eax,0x400(%rbp)
ffffffff804c1c2f:        0 	75 26                	jne    ffffffff804c1c57 <tcp_ack+0x1140>
ffffffff804c1c31:        0 	ff 85 ac 04 00 00    	incl   0x4ac(%rbp)
ffffffff804c1c37:        0 	8d 42 ff             	lea    -0x1(%rdx),%eax
ffffffff804c1c3a:        0 	c7 85 a4 03 00 00 00 	movl   $0x0,0x3a4(%rbp)
ffffffff804c1c41:        0 	00 00 00 
ffffffff804c1c44:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c1c47:        0 	89 85 9c 03 00 00    	mov    %eax,0x39c(%rbp)
ffffffff804c1c4d:        0 	e8 86 54 00 00       	callq  ffffffff804c70d8 <tcp_simple_retransmit>
ffffffff804c1c52:        0 	e9 08 02 00 00       	jmpq   ffffffff804c1e5f <tcp_ack+0x1348>
ffffffff804c1c57:        0 	8a 85 9c 04 00 00    	mov    0x49c(%rbp),%al
ffffffff804c1c5d:        0 	48 8b 15 54 fa 5e 00 	mov    0x5efa54(%rip),%rdx        # ffffffff80ab16b8 <init_net+0xe8>
ffffffff804c1c64:        0 	c0 e8 04             	shr    $0x4,%al
ffffffff804c1c67:        0 	48 f7 d2             	not    %rdx
ffffffff804c1c6a:        0 	3c 01                	cmp    $0x1,%al
ffffffff804c1c6c:        0 	19 c9                	sbb    %ecx,%ecx
ffffffff804c1c6e:        0 	65 8b 04 25 24 00 00 	mov    %gs:0x24,%eax
ffffffff804c1c75:        0 	00 
ffffffff804c1c76:        0 	89 c0                	mov    %eax,%eax
ffffffff804c1c78:        0 	83 c1 1f             	add    $0x1f,%ecx
ffffffff804c1c7b:        0 	48 8b 04 c2          	mov    (%rdx,%rax,8),%rax
ffffffff804c1c7f:        0 	48 63 c9             	movslq %ecx,%rcx
ffffffff804c1c82:        0 	48 ff 04 c8          	incq   (%rax,%rcx,8)
ffffffff804c1c86:        0 	c7 85 6c 05 00 00 00 	movl   $0x0,0x56c(%rbp)
ffffffff804c1c8d:        0 	00 00 00 
ffffffff804c1c90:        0 	8b 85 fc 03 00 00    	mov    0x3fc(%rbp),%eax
ffffffff804c1c96:        0 	80 bd 78 03 00 00 01 	cmpb   $0x1,0x378(%rbp)
ffffffff804c1c9d:        0 	89 85 70 05 00 00    	mov    %eax,0x570(%rbp)
ffffffff804c1ca3:        0 	8b 85 00 04 00 00    	mov    0x400(%rbp),%eax
ffffffff804c1ca9:        0 	89 85 78 05 00 00    	mov    %eax,0x578(%rbp)
ffffffff804c1caf:        0 	8b 85 78 04 00 00    	mov    0x478(%rbp),%eax
ffffffff804c1cb5:        0 	89 85 7c 05 00 00    	mov    %eax,0x57c(%rbp)
ffffffff804c1cbb:        0 	77 3b                	ja     ffffffff804c1cf8 <tcp_ack+0x11e1>
ffffffff804c1cbd:        0 	83 7c 24 58 00       	cmpl   $0x0,0x58(%rsp)
ffffffff804c1cc2:        0 	75 0e                	jne    ffffffff804c1cd2 <tcp_ack+0x11bb>
ffffffff804c1cc4:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c1cc7:        0 	e8 f0 cb ff ff       	callq  ffffffff804be8bc <tcp_current_ssthresh>
ffffffff804c1ccc:        0 	89 85 6c 05 00 00    	mov    %eax,0x56c(%rbp)
ffffffff804c1cd2:        0 	48 8b 85 60 03 00 00 	mov    0x360(%rbp),%rax
ffffffff804c1cd9:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c1cdc:        0 	ff 50 28             	callq  *0x28(%rax)
ffffffff804c1cdf:        0 	89 85 a8 04 00 00    	mov    %eax,0x4a8(%rbp)
ffffffff804c1ce5:        0 	8a 85 7e 04 00 00    	mov    0x47e(%rbp),%al
ffffffff804c1ceb:        0 	a8 01                	test   $0x1,%al
ffffffff804c1ced:        0 	74 09                	je     ffffffff804c1cf8 <tcp_ack+0x11e1>
ffffffff804c1cef:        0 	83 c8 02             	or     $0x2,%eax
ffffffff804c1cf2:        0 	88 85 7e 04 00 00    	mov    %al,0x47e(%rbp)
ffffffff804c1cf8:        0 	c7 85 dc 04 00 00 00 	movl   $0x0,0x4dc(%rbp)
ffffffff804c1cff:        0 	00 00 00 
ffffffff804c1d02:        0 	c7 85 b0 04 00 00 00 	movl   $0x0,0x4b0(%rbp)
ffffffff804c1d09:        0 	00 00 00 
ffffffff804c1d0c:        0 	be 03 00 00 00       	mov    $0x3,%esi
ffffffff804c1d11:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c1d14:        0 	bb 01 00 00 00       	mov    $0x1,%ebx
ffffffff804c1d19:        0 	e8 5b cb ff ff       	callq  ffffffff804be879 <tcp_set_ca_state>
ffffffff804c1d1e:        0 	eb 02                	jmp    ffffffff804c1d22 <tcp_ack+0x120b>
ffffffff804c1d20:        0 	31 db                	xor    %ebx,%ebx
ffffffff804c1d22:        0 	45 85 ed             	test   %r13d,%r13d
ffffffff804c1d25:        0 	75 21                	jne    ffffffff804c1d48 <tcp_ack+0x1231>
ffffffff804c1d27:        0 	8a 85 9c 04 00 00    	mov    0x49c(%rbp),%al
ffffffff804c1d2d:        0 	c0 e8 04             	shr    $0x4,%al
ffffffff804c1d30:        0 	a8 02                	test   $0x2,%al
ffffffff804c1d32:        0 	0f 84 0b 01 00 00    	je     ffffffff804c1e43 <tcp_ack+0x132c>
ffffffff804c1d38:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c1d3b:        0 	e8 31 d2 ff ff       	callq  ffffffff804bef71 <tcp_head_timedout>
ffffffff804c1d40:        0 	85 c0                	test   %eax,%eax
ffffffff804c1d42:        0 	0f 84 fb 00 00 00    	je     ffffffff804c1e43 <tcp_ack+0x132c>
ffffffff804c1d48:        0 	8a 85 9c 04 00 00    	mov    0x49c(%rbp),%al
ffffffff804c1d4e:        0 	c0 e8 04             	shr    $0x4,%al
ffffffff804c1d51:        0 	75 07                	jne    ffffffff804c1d5a <tcp_ack+0x1243>
ffffffff804c1d53:        0 	be 01 00 00 00       	mov    $0x1,%esi
ffffffff804c1d58:        0 	eb 31                	jmp    ffffffff804c1d8b <tcp_ack+0x1274>
ffffffff804c1d5a:        0 	a8 02                	test   $0x2,%al
ffffffff804c1d5c:        0 	8a 85 7f 04 00 00    	mov    0x47f(%rbp),%al
ffffffff804c1d62:        0 	74 17                	je     ffffffff804c1d7b <tcp_ack+0x1264>
ffffffff804c1d64:        0 	8b b5 d4 04 00 00    	mov    0x4d4(%rbp),%esi
ffffffff804c1d6a:        0 	0f b6 c0             	movzbl %al,%eax
ffffffff804c1d6d:        0 	29 c6                	sub    %eax,%esi
ffffffff804c1d6f:        0 	b8 01 00 00 00       	mov    $0x1,%eax
ffffffff804c1d74:        0 	85 f6                	test   %esi,%esi
ffffffff804c1d76:        0 	0f 4e f0             	cmovle %eax,%esi
ffffffff804c1d79:        0 	eb 10                	jmp    ffffffff804c1d8b <tcp_ack+0x1274>
ffffffff804c1d7b:        0 	8b b5 d0 04 00 00    	mov    0x4d0(%rbp),%esi
ffffffff804c1d81:        0 	0f b6 c0             	movzbl %al,%eax
ffffffff804c1d84:        0 	29 c6                	sub    %eax,%esi
ffffffff804c1d86:        0 	39 f3                	cmp    %esi,%ebx
ffffffff804c1d88:        0 	0f 4d f3             	cmovge %ebx,%esi
ffffffff804c1d8b:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c1d8e:        0 	e8 7e e0 ff ff       	callq  ffffffff804bfe11 <tcp_mark_head_lost>
ffffffff804c1d93:        0 	8a 85 9c 04 00 00    	mov    0x49c(%rbp),%al
ffffffff804c1d99:        0 	c0 e8 04             	shr    $0x4,%al
ffffffff804c1d9c:        0 	a8 02                	test   $0x2,%al
ffffffff804c1d9e:        0 	0f 84 9f 00 00 00    	je     ffffffff804c1e43 <tcp_ack+0x132c>
ffffffff804c1da4:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c1da7:        0 	e8 c5 d1 ff ff       	callq  ffffffff804bef71 <tcp_head_timedout>
ffffffff804c1dac:        0 	85 c0                	test   %eax,%eax
ffffffff804c1dae:        0 	0f 84 8f 00 00 00    	je     ffffffff804c1e43 <tcp_ack+0x132c>
ffffffff804c1db4:        0 	48 8b 85 e8 04 00 00 	mov    0x4e8(%rbp),%rax
ffffffff804c1dbb:        0 	48 85 c0             	test   %rax,%rax
ffffffff804c1dbe:        0 	48 89 c3             	mov    %rax,%rbx
ffffffff804c1dc1:        0 	75 42                	jne    ffffffff804c1e05 <tcp_ack+0x12ee>
ffffffff804c1dc3:        0 	48 8b 9d c0 00 00 00 	mov    0xc0(%rbp),%rbx
ffffffff804c1dca:        0 	48 8d 85 c0 00 00 00 	lea    0xc0(%rbp),%rax
ffffffff804c1dd1:        0 	48 39 c3             	cmp    %rax,%rbx
ffffffff804c1dd4:        0 	75 2f                	jne    ffffffff804c1e05 <tcp_ack+0x12ee>
ffffffff804c1dd6:        0 	31 db                	xor    %ebx,%ebx
ffffffff804c1dd8:        0 	eb 2b                	jmp    ffffffff804c1e05 <tcp_ack+0x12ee>
ffffffff804c1dda:        0 	48 3b 9d d8 01 00 00 	cmp    0x1d8(%rbp),%rbx
ffffffff804c1de1:        0 	74 34                	je     ffffffff804c1e17 <tcp_ack+0x1300>
ffffffff804c1de3:        0 	48 8b 05 96 7a 3f 00 	mov    0x3f7a96(%rip),%rax        # ffffffff808b9880 <jiffies>
ffffffff804c1dea:        0 	2b 43 58             	sub    0x58(%rbx),%eax
ffffffff804c1ded:        0 	3b 85 58 03 00 00    	cmp    0x358(%rbp),%eax
ffffffff804c1df3:        0 	76 22                	jbe    ffffffff804c1e17 <tcp_ack+0x1300>
ffffffff804c1df5:        0 	48 89 de             	mov    %rbx,%rsi
ffffffff804c1df8:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c1dfb:        0 	e8 28 d0 ff ff       	callq  ffffffff804bee28 <tcp_skb_mark_lost>
ffffffff804c1e00:        0 	48 8b 1b             	mov    (%rbx),%rbx
ffffffff804c1e03:        0 	eb 07                	jmp    ffffffff804c1e0c <tcp_ack+0x12f5>
ffffffff804c1e05:        0 	4c 8d ad c0 00 00 00 	lea    0xc0(%rbp),%r13
ffffffff804c1e0c:        0 	48 8b 03             	mov    (%rbx),%rax
ffffffff804c1e0f:        0 	4c 39 eb             	cmp    %r13,%rbx
ffffffff804c1e12:        0 	0f 18 08             	prefetcht0 (%rax)
ffffffff804c1e15:        0 	75 c3                	jne    ffffffff804c1dda <tcp_ack+0x12c3>
ffffffff804c1e17:        0 	8b 85 cc 04 00 00    	mov    0x4cc(%rbp),%eax
ffffffff804c1e1d:        0 	03 85 d0 04 00 00    	add    0x4d0(%rbp),%eax
ffffffff804c1e23:        0 	3b 85 74 04 00 00    	cmp    0x474(%rbp),%eax
ffffffff804c1e29:        0 	48 89 9d e8 04 00 00 	mov    %rbx,0x4e8(%rbp)
ffffffff804c1e30:        0 	76 11                	jbe    ffffffff804c1e43 <tcp_ack+0x132c>
ffffffff804c1e32:        0 	be e5 08 00 00       	mov    $0x8e5,%esi
ffffffff804c1e37:        0 	48 c7 c7 9d d9 6a 80 	mov    $0xffffffff806ad99d,%rdi
ffffffff804c1e3e:        0 	e8 72 43 d7 ff       	callq  ffffffff802361b5 <warn_on_slowpath>
ffffffff804c1e43:        0 	44 89 e6             	mov    %r12d,%esi
ffffffff804c1e46:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c1e49:        0 	e8 9f d1 ff ff       	callq  ffffffff804befed <tcp_cwnd_down>
ffffffff804c1e4e:        0 	e9 2c 01 00 00       	jmpq   ffffffff804c1f7f <tcp_ack+0x1468>
ffffffff804c1e53:       47 	8b 74 24 1c          	mov    0x1c(%rsp),%esi
ffffffff804c1e57:      513 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c1e5a:        0 	e8 62 d4 ff ff       	callq  ffffffff804bf2c1 <tcp_cong_avoid>
ffffffff804c1e5f:      427 	41 80 e4 34          	and    $0x34,%r12b
ffffffff804c1e63:     1234 	75 07                	jne    ffffffff804c1e6c <tcp_ack+0x1355>
ffffffff804c1e65:        0 	83 7c 24 54 00       	cmpl   $0x0,0x54(%rsp)
ffffffff804c1e6a:        0 	75 3c                	jne    ffffffff804c1ea8 <tcp_ack+0x1391>
ffffffff804c1e6c:        0 	48 8b 7d 78          	mov    0x78(%rbp),%rdi
ffffffff804c1e70:      916 	e8 8d c9 ff ff       	callq  ffffffff804be802 <dst_confirm>
ffffffff804c1e75:        3 	eb 31                	jmp    ffffffff804c1ea8 <tcp_ack+0x1391>
ffffffff804c1e77:        0 	48 8b 95 d8 01 00 00 	mov    0x1d8(%rbp),%rdx
ffffffff804c1e7e:       99 	48 85 d2             	test   %rdx,%rdx
ffffffff804c1e81:       16 	74 25                	je     ffffffff804c1ea8 <tcp_ack+0x1391>
ffffffff804c1e83:        0 	8b 85 44 04 00 00    	mov    0x444(%rbp),%eax
ffffffff804c1e89:        0 	03 85 00 04 00 00    	add    0x400(%rbp),%eax
ffffffff804c1e8f:        0 	3b 42 54             	cmp    0x54(%rdx),%eax
ffffffff804c1e92:        0 	78 1e                	js     ffffffff804c1eb2 <tcp_ack+0x139b>
ffffffff804c1e94:        0 	c6 85 7b 03 00 00 00 	movb   $0x0,0x37b(%rbp)
ffffffff804c1e9b:        0 	be 03 00 00 00       	mov    $0x3,%esi
ffffffff804c1ea0:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c1ea3:        0 	e8 ab c9 ff ff       	callq  ffffffff804be853 <inet_csk_clear_xmit_timer>
ffffffff804c1ea8:      520 	b8 01 00 00 00       	mov    $0x1,%eax
ffffffff804c1ead:      994 	e9 ec 00 00 00       	jmpq   ffffffff804c1f9e <tcp_ack+0x1487>
ffffffff804c1eb2:        0 	0f b6 8d 7b 03 00 00 	movzbl 0x37b(%rbp),%ecx
ffffffff804c1eb9:        0 	8b 95 58 03 00 00    	mov    0x358(%rbp),%edx
ffffffff804c1ebf:        0 	b8 30 75 00 00       	mov    $0x7530,%eax
ffffffff804c1ec4:        0 	be 03 00 00 00       	mov    $0x3,%esi
ffffffff804c1ec9:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c1ecc:        0 	d3 e2                	shl    %cl,%edx
ffffffff804c1ece:        0 	b9 30 75 00 00       	mov    $0x7530,%ecx
ffffffff804c1ed3:        0 	81 fa 30 75 00 00    	cmp    $0x7530,%edx
ffffffff804c1ed9:        0 	0f 47 d0             	cmova  %eax,%edx
ffffffff804c1edc:        0 	89 d2                	mov    %edx,%edx
ffffffff804c1ede:        0 	e8 00 d7 ff ff       	callq  ffffffff804bf5e3 <inet_csk_reset_xmit_timer>
ffffffff804c1ee3:        0 	eb c3                	jmp    ffffffff804c1ea8 <tcp_ack+0x1391>
ffffffff804c1ee5:        0 	80 78 25 00          	cmpb   $0x0,0x25(%rax)
ffffffff804c1ee9:        0 	74 1a                	je     ffffffff804c1f05 <tcp_ack+0x13ee>
ffffffff804c1eeb:        0 	8b 54 24 18          	mov    0x18(%rsp),%edx
ffffffff804c1eef:        0 	e8 cc e3 ff ff       	callq  ffffffff804c02c0 <tcp_sacktag_write_queue>
ffffffff804c1ef4:        0 	80 bd 78 03 00 00 00 	cmpb   $0x0,0x378(%rbp)
ffffffff804c1efb:        0 	75 08                	jne    ffffffff804c1f05 <tcp_ack+0x13ee>
ffffffff804c1efd:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c1f00:        0 	e8 68 d3 ff ff       	callq  ffffffff804bf26d <tcp_try_keep_open>
ffffffff804c1f05:        0 	48 85 ed             	test   %rbp,%rbp
ffffffff804c1f08:        0 	74 2f                	je     ffffffff804c1f39 <tcp_ack+0x1422>
ffffffff804c1f0a:        0 	be 0a 00 00 00       	mov    $0xa,%esi
ffffffff804c1f0f:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c1f12:        0 	e8 f1 d5 ff ff       	callq  ffffffff804bf508 <sock_flag>
ffffffff804c1f17:        0 	85 c0                	test   %eax,%eax
ffffffff804c1f19:        0 	74 1e                	je     ffffffff804c1f39 <tcp_ack+0x1422>
ffffffff804c1f1b:        0 	8b 8d fc 03 00 00    	mov    0x3fc(%rbp),%ecx
ffffffff804c1f21:        0 	8b 95 00 04 00 00    	mov    0x400(%rbp),%edx
ffffffff804c1f27:        0 	48 c7 c7 e5 d9 6a 80 	mov    $0xffffffff806ad9e5,%rdi
ffffffff804c1f2e:        0 	8b 74 24 1c          	mov    0x1c(%rsp),%esi
ffffffff804c1f32:        0 	31 c0                	xor    %eax,%eax
ffffffff804c1f34:        0 	e8 3b 4e d7 ff       	callq  ffffffff80236d74 <printk>
ffffffff804c1f39:        0 	31 c0                	xor    %eax,%eax
ffffffff804c1f3b:        0 	eb 61                	jmp    ffffffff804c1f9e <tcp_ack+0x1487>
ffffffff804c1f3d:        0 	c7 44 24 44 00 00 00 	movl   $0x0,0x44(%rsp)
ffffffff804c1f44:        0 	00 
ffffffff804c1f45:        0 	e9 c3 ef ff ff       	jmpq   ffffffff804c0f0d <tcp_ack+0x3f6>
ffffffff804c1f4a:       54 	41 f6 c4 04          	test   $0x4,%r12b
ffffffff804c1f4e:      424 	0f 84 0b ff ff ff    	je     ffffffff804c1e5f <tcp_ack+0x1348>
ffffffff804c1f54:      364 	85 c9                	test   %ecx,%ecx
ffffffff804c1f56:        0 	0f 84 f7 fe ff ff    	je     ffffffff804c1e53 <tcp_ack+0x133c>
ffffffff804c1f5c:        0 	e9 fe fe ff ff       	jmpq   ffffffff804c1e5f <tcp_ack+0x1348>
ffffffff804c1f61:        0 	8a 85 9c 04 00 00    	mov    0x49c(%rbp),%al
ffffffff804c1f67:        0 	c0 e8 04             	shr    $0x4,%al
ffffffff804c1f6a:        0 	a8 02                	test   $0x2,%al
ffffffff804c1f6c:        0 	0f 85 10 f8 ff ff    	jne    ffffffff804c1782 <tcp_ack+0xc6b>
ffffffff804c1f72:        0 	e9 61 f8 ff ff       	jmpq   ffffffff804c17d8 <tcp_ack+0xcc1>
ffffffff804c1f77:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c1f7a:        0 	e8 2e d0 ff ff       	callq  ffffffff804befad <tcp_moderate_cwnd>
ffffffff804c1f7f:        0 	48 89 ef             	mov    %rbp,%rdi
ffffffff804c1f82:        0 	e8 f7 47 00 00       	callq  ffffffff804c677e <tcp_xmit_retransmit_queue>
ffffffff804c1f87:        0 	e9 d3 fe ff ff       	jmpq   ffffffff804c1e5f <tcp_ack+0x1348>
ffffffff804c1f8c:        0 	80 bd 78 03 00 00 01 	cmpb   $0x1,0x378(%rbp)
ffffffff804c1f93:        0 	0f 87 be fc ff ff    	ja     ffffffff804c1c57 <tcp_ack+0x1140>
ffffffff804c1f99:        0 	e9 7b fc ff ff       	jmpq   ffffffff804c1c19 <tcp_ack+0x1102>
ffffffff804c1f9e:      493 	48 81 c4 88 00 00 00 	add    $0x88,%rsp
ffffffff804c1fa5:     1288 	5b                   	pop    %rbx
ffffffff804c1fa6:        0 	5d                   	pop    %rbp
ffffffff804c1fa7:      446 	41 5c                	pop    %r12
ffffffff804c1fa9:        0 	41 5d                	pop    %r13
ffffffff804c1fab:        2 	41 5e                	pop    %r14
ffffffff804c1fad:      447 	41 5f                	pop    %r15
ffffffff804c1faf:        0 	c3                   	retq   

No real obvious single-instruction hotspots i can see.

But i can see another problem: the function is too large and its flow 
is not fall-through in any way. As you can see it from the profile 
distribution it is broken into 25-30 separate code sequences.

The function consists of more than 1200 instructions and is 5200 bytes 
large. According to the profile above, only 350 instructions are used 
and about 850 of those instructions are never used by this workload. 
So in theory this function should only take up ~1.5K of the 
instruction cache.

But because execution is spread out into 25+ smaller pieces, it takes 
up ~4K of the instruction cache instead (there's a single ~1.2K hole 
in the middle, i subtracted that) - 2-3 times larger than it should.

So this code could make good use of the (brand-new ;-) branch-tracer 
ftrace plugin and grow a few well-placed likely()/unlikely() places - 
at least for this workload. I think.

	Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists