linux_dsm_epyc7002/include/net
Eric Dumazet cd7d8498c9 tcp: change tcp_skb_pcount() location
Our goal is to access no more than one cache line access per skb in
a write or receive queue when doing the various walks.

After recent TCP_SKB_CB() reorganizations, it is almost done.

Last part is tcp_skb_pcount() which currently uses
skb_shinfo(skb)->gso_segs, which is a terrible choice, because it needs
3 cache lines in current kernel (skb->head, skb->end, and
shinfo->gso_segs are all in 3 different cache lines, far from skb->cb)

This very simple patch reuses space currently taken by tcp_tw_isn
only in input path, as tcp_skb_pcount is only needed for skb stored in
write queue.

This considerably speeds up tcp_ack(), granted we avoid shinfo->tx_flags
to get SKBTX_ACK_TSTAMP, which seems possible.

This also speeds up all sack processing in general.

This speeds up tcp_sendmsg() because it no longer has to access/dirty
shinfo.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-09-28 16:36:48 -04:00
..
9p
bluetooth Bluetooth: Fix mgmt pairing failure when authentication fails 2014-09-09 03:12:15 +02:00
caif
irda
iucv
netfilter netfilter: nf_tables: add new nft_masq expression 2014-09-09 16:31:30 +02:00
netns net/ipv4: bind ip_nonlocal_bind to current netns 2014-09-09 11:27:09 -07:00
nfc NFC: digital: Add 'tg_listen_md' and 'tg_get_rf_tech' driver hooks 2014-07-23 01:17:31 +02:00
phonet
sctp net: sctp: fix ABI mismatch through sctp_assoc_to_state helper 2014-08-29 20:31:08 -07:00
tc_act
6lowpan.h 6lowpan: remove unused function 2014-07-30 19:28:41 +02:00
act_api.h
addrconf.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-09-23 12:09:27 -04:00
af_ieee802154.h
af_rxrpc.h
af_unix.h
af_vsock.h
ah.h
arp.h
atmclip.h
ax25.h
ax88796.h
busy_poll.h
cfg80211-wext.h
cfg80211.h cfg80211: allow requesting SMPS mode on ap start 2014-09-11 13:37:02 +02:00
checksum.h net: optimise csum_replace4() 2014-09-26 16:14:16 -04:00
cipso_ipv4.h
cls_cgroup.h
codel.h net: use ktime_get_ns() and ktime_get_real_ns() helpers 2014-08-22 19:57:23 -07:00
compat.h
datalink.h
dcbevent.h
dcbnl.h
dn_dev.h
dn_fib.h
dn_neigh.h
dn_nsp.h
dn_route.h
dn.h
dsa.h net: dsa: add {get, set}_wol callbacks to slave devices 2014-09-22 14:41:23 -04:00
dsfield.h
dst_ops.h
dst.h xfrm: Generate queueing routes only from route lookup functions 2014-09-16 10:08:49 +02:00
esp.h
ethoc.h
fib_rules.h
firewire.h
flow_keys.h net: Add function for parsing the header length out of linear ethernet frames 2014-09-05 17:47:02 -07:00
flow.h
flowcache.h
garp.h
gen_stats.h
genetlink.h genetlink: add function genl_has_listeners() 2014-09-19 17:28:26 -04:00
gre.h
gro_cells.h
icmp.h
ieee80211_radiotap.h
ieee802154_netdev.h
ieee802154.h
if_inet6.h
inet6_connection_sock.h
inet6_hashtables.h
inet_common.h
inet_connection_sock.h tcp: avoid possible arithmetic overflows 2014-09-22 16:27:10 -04:00
inet_ecn.h
inet_frag.h inet: frags: use kmem_cache for inet_frag_queue 2014-08-02 15:31:31 -07:00
inet_hashtables.h
inet_sock.h
inet_timewait_sock.h
inetpeer.h inet: remove dead inetpeer sequence code 2014-09-08 16:42:42 -07:00
ip6_checksum.h net: add gro_compute_pseudo functions 2014-08-24 18:09:23 -07:00
ip6_fib.h
ip6_route.h
ip6_tunnel.h
ip_fib.h ipv4: harden fnhe_hashfun() 2014-09-05 17:40:33 -07:00
ip_tunnels.h net: Changes to ip_tunnel to support foo-over-udp encapsulation 2014-09-19 17:15:32 -04:00
ip_vs.h
ip.h ipv4: rename ip_options_echo to __ip_options_echo() 2014-09-28 16:35:42 -04:00
ipcomp.h
ipconfig.h
ipv6.h ipv6: add a struct inet6_skb_parm param to ipv6_opt_accepted() 2014-09-28 16:35:43 -04:00
ipx.h
iw_handler.h
lapb.h
lib80211.h
llc_c_ac.h
llc_c_ev.h
llc_c_st.h
llc_conn.h
llc_if.h
llc_pdu.h
llc_s_ac.h
llc_s_ev.h
llc_s_st.h
llc_sap.h
llc.h
mac80211.h mac80211: replace SMPS hw flags with wiphy feature bits 2014-09-11 13:37:02 +02:00
mac802154.h
mip6.h
mld.h ipv6: mld: answer mldv2 queries with mldv1 reports in mldv1 fallback 2014-09-22 16:23:15 -04:00
mrp.h
ndisc.h
neighbour.h
net_namespace.h
net_ratelimit.h
netdma.h
netevent.h
netlabel.h netlabel: fix the netlbl_catmap_setlong() dummy function 2014-08-07 20:55:21 -04:00
netlink.h netlink: Fix shadow warning on jiffies 2014-07-28 17:20:43 -07:00
netprio_cgroup.h
netrom.h
nexthop.h
nl802154.h
p8022.h
ping.h
pkt_cls.h
pkt_sched.h net: use ktime_get_ns() and ktime_get_real_ns() helpers 2014-08-22 19:57:23 -07:00
protocol.h
psnap.h
raw.h
rawv6.h
red.h
regulatory.h regulatory: add NUL to alpha2 2014-08-15 13:51:40 +02:00
request_sock.h
rose.h
route.h
rtnetlink.h
sch_generic.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-09-23 12:09:27 -04:00
scm.h
secure_seq.h
slhc_vj.h
snmp.h net: fix sparse warnings in SNMP_UPD_PO_STATS(_BH) 2014-09-19 17:22:31 -04:00
sock.h net-timestamp: optimize sock_tx_timestamp default path 2014-09-09 17:34:41 -07:00
Space.h
stp.h
tcp_memcontrol.h
tcp_states.h
tcp.h tcp: change tcp_skb_pcount() location 2014-09-28 16:36:48 -04:00
timewait_sock.h
transp_v6.h
tso.h
udp_tunnel.h udp-tunnel: Add a few more UDP tunnel APIs 2014-09-19 15:57:15 -04:00
udp.h udp: additional GRO support 2014-08-24 18:09:24 -07:00
udplite.h
vsock_addr.h
vxlan.h
wext.h
wimax.h net: treewide: Fix typo found in DocBook/networking.xml 2014-09-05 17:35:28 -07:00
wpan-phy.h
x25.h
x25device.h
xfrm.h