freebsd-nq/sys
Jonathan T. Looney 4527476029 Currently, when tcp_input() receives a packet on a session that matches a
TCPCB, it checks (so->so_options & SO_ACCEPTCONN) to determine whether or
not the socket is a listening socket. However, this causes the code to
access a different cacheline. If we first check if the socket is in the
LISTEN state, we can avoid accessing so->so_options when processing packets
received for ESTABLISHED sessions.

If INVARIANTS is defined, the code still needs to access both variables to
check that so->so_options is consistent with the state.

Reviewed by:	gallatin
MFC after:	1 week
Sponsored by:	Netflix
2016-10-12 02:30:33 +00:00
..
amd64 In the TCP stack, the hhook(9) framework provides hooks for kernel modules 2016-10-12 02:16:42 +00:00
arm In the TCP stack, the hhook(9) framework provides hooks for kernel modules 2016-10-12 02:16:42 +00:00
arm64 In the TCP stack, the hhook(9) framework provides hooks for kernel modules 2016-10-12 02:16:42 +00:00
boot The bootloader self relocation code was slightly wrong for the 2016-10-07 16:17:51 +00:00
bsm
cam Fix copy/paste bug in r306747. 2016-10-11 15:27:39 +00:00
cddl Limit scope of the optimization in r306608 to dounmount() caller only. 2016-10-07 11:38:28 +00:00
compat linuxkpi: Fix PCI BAR lazy allocation support. 2016-09-30 05:51:11 +00:00
conf In the TCP stack, the hhook(9) framework provides hooks for kernel modules 2016-10-12 02:16:42 +00:00
contrib In case of removal of m_copy() the macro should remain named M_COPY() 2016-10-08 14:57:21 +00:00
crypto Fix typo in skein amd64 assembly 2016-09-08 02:38:55 +00:00
ddb Determine the operand/address size of %cs in a new function 2016-09-25 16:30:29 +00:00
dev Create /dev/efidev to provide an ioctl interface to 2016-10-11 22:24:30 +00:00
fs vfs: remove the __bo_vnode field from struct vnode 2016-09-30 17:11:03 +00:00
gdb
geom Fix possible geom destruction before final provider close. 2016-10-06 15:20:05 +00:00
gnu Revert and redo r306083. 2016-09-22 15:17:36 +00:00
i386 In the TCP stack, the hhook(9) framework provides hooks for kernel modules 2016-10-12 02:16:42 +00:00
isa
kern Use correct size type in do_setopt_accept_filter 2016-10-12 00:56:49 +00:00
kgssapi
libkern
mips In the TCP stack, the hhook(9) framework provides hooks for kernel modules 2016-10-12 02:16:42 +00:00
modules In the TCP stack, the hhook(9) framework provides hooks for kernel modules 2016-10-12 02:16:42 +00:00
net ifnet: Use if_link_state snapshot to invoke ifnet_link_event 2016-10-12 01:52:29 +00:00
net80211 [net80211] extend the ieee80211_rx_stats struct to include more information. 2016-10-08 01:12:29 +00:00
netgraph
netinet Currently, when tcp_input() receives a packet on a session that matches a 2016-10-12 02:30:33 +00:00
netinet6 Lock the ND prefix list and add refcounting for prefixes. 2016-10-07 21:10:53 +00:00
netipsec Remove the 4.3BSD compatible macro m_copy(), use m_copym() instead. 2016-09-15 07:41:48 +00:00
netnatm
netpfil pf: remove fastroute tag 2016-10-04 19:35:14 +00:00
netsmb
nfs
nfsclient
nfsserver
nlm
ofed Move the ConnectX-3 and ConnectX-2 driver from sys/ofed into sys/dev/mlx4 2016-09-30 08:23:06 +00:00
opencrypto
pc98 In the TCP stack, the hhook(9) framework provides hooks for kernel modules 2016-10-12 02:16:42 +00:00
powerpc In the TCP stack, the hhook(9) framework provides hooks for kernel modules 2016-10-12 02:16:42 +00:00
riscv In the TCP stack, the hhook(9) framework provides hooks for kernel modules 2016-10-12 02:16:42 +00:00
rpc
security Don't check aq64_minfree which is unsigned for negative values. 2016-09-08 19:47:57 +00:00
sparc64 In the TCP stack, the hhook(9) framework provides hooks for kernel modules 2016-10-12 02:16:42 +00:00
sys Create /dev/efidev to provide an ioctl interface to 2016-10-11 22:24:30 +00:00
teken
tests
tools
ufs vfs: remove the __bo_vnode field from struct vnode 2016-09-30 17:11:03 +00:00
vm When downgrading exclusively busied page to shared-busy state, wakeup 2016-10-11 18:09:37 +00:00
x86 Merge ACPICA 20160930. 2016-10-04 20:27:15 +00:00
xdr
xen xen/vchan: change license of header from Lesser GPL v2.1 to BSD 2016-09-30 13:41:24 +00:00
Makefile