tmp_suning_uos_patched/net/ipv4
Eric Dumazet f07d960df3 tcp: avoid frag allocation for small frames
tcp_sendmsg() uses select_size() helper to choose skb head size when a
new skb must be allocated.

If GSO is enabled for the socket, current strategy is to force all
payload data to be outside of headroom, in PAGE fragments.

This strategy is not welcome for small packets, wasting memory.

Experiments show that best results are obtained when using 2048 bytes
for skb head (This includes the skb overhead and various headers)

This patch provides better len/truesize ratios for packets sent to
loopback device, and reduce memory needs for in-flight loopback packets,
particularly on arches with big pages.

If a sender sends many 1-byte packets to an unresponsive application,
receiver rmem_alloc will grow faster and will stop queuing these packets
sooner, or will collapse its receive queue to free excess memory.

netperf -t TCP_RR results are improved by ~4 %, and many workloads are
improved as well (tbench, mysql...)

Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2011-11-29 13:17:03 -05:00
..
netfilter net: dont call jump_label_dec from irq context 2011-11-29 00:26:25 -05:00
af_inet.c net: introduce and use netdev_features_t for device features sets 2011-11-16 17:43:10 -05:00
ah4.c ah: Don't return NET_XMIT_DROP on input. 2011-11-12 18:13:32 -05:00
arp.c ipv4: Remove all uses of LL_ALLOCATED_SPACE 2011-11-18 14:37:08 -05:00
cipso_ipv4.c
datagram.c
devinet.c
esp4.c
fib_frontend.c
fib_lookup.h
fib_rules.c
fib_semantics.c
fib_trie.c
gre.c
icmp.c
igmp.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2011-11-26 14:47:03 -05:00
inet_connection_sock.c net: rename sk_clone to sk_clone_lock 2011-11-08 17:07:07 -05:00
inet_diag.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2011-11-26 14:47:03 -05:00
inet_fragment.c
inet_hashtables.c
inet_lro.c
inet_timewait_sock.c
inetpeer.c
ip_forward.c ipv4: Save nexthop address of LSRR/SSRR option to IPCB. 2011-11-23 19:19:32 -05:00
ip_fragment.c
ip_gre.c ip_gre: Set needed_headroom dynamically again 2011-11-18 14:37:10 -05:00
ip_input.c
ip_options.c ipv4: Save nexthop address of LSRR/SSRR option to IPCB. 2011-11-23 19:19:32 -05:00
ip_output.c
ip_sockglue.c ipv4: PKTINFO doesnt need dst reference 2011-11-09 16:36:27 -05:00
ipcomp.c
ipconfig.c ipv4: Remove all uses of LL_ALLOCATED_SPACE 2011-11-18 14:37:08 -05:00
ipip.c net: better pcpu data alignment 2011-11-08 15:10:59 -05:00
ipmr.c
Kconfig
Makefile
netfilter.c
ping.c ping: dont increment ICMP_MIB_INERRORS 2011-11-18 14:38:59 -05:00
proc.c ipv4: reduce percpu needs for icmpmsg mibs 2011-11-09 16:04:20 -05:00
protocol.c
raw.c ipv4: Remove all uses of LL_ALLOCATED_SPACE 2011-11-18 14:37:08 -05:00
route.c ipv4: Don't use the cached pmtu informations for input routes 2011-11-26 14:29:52 -05:00
syncookies.c
sysctl_net_ipv4.c
tcp_bic.c
tcp_cong.c tcp: do not scale TSO segment size with reordering degree 2011-11-29 00:29:41 -05:00
tcp_cubic.c
tcp_diag.c
tcp_highspeed.c
tcp_htcp.c
tcp_hybla.c
tcp_illinois.c
tcp_input.c tcp: skip cwnd moderation in TCP_CA_Open in tcp_try_to_open 2011-11-27 18:54:09 -05:00
tcp_ipv4.c tcp: clear xmit timers in tcp_v4_syn_recv_sock() 2011-11-16 16:57:45 -05:00
tcp_lp.c
tcp_minisocks.c net: remove ipv6_addr_copy() 2011-11-22 16:43:32 -05:00
tcp_output.c tcp: do not scale TSO segment size with reordering degree 2011-11-29 00:29:41 -05:00
tcp_probe.c
tcp_scalable.c
tcp_timer.c
tcp_vegas.c
tcp_vegas.h
tcp_veno.c
tcp_westwood.c
tcp_yeah.c
tcp.c tcp: avoid frag allocation for small frames 2011-11-29 13:17:03 -05:00
tunnel4.c
udp_impl.h
udp.c net: introduce and use netdev_features_t for device features sets 2011-11-16 17:43:10 -05:00
udplite.c
xfrm4_input.c
xfrm4_mode_beet.c
xfrm4_mode_transport.c
xfrm4_mode_tunnel.c
xfrm4_output.c
xfrm4_policy.c
xfrm4_state.c
xfrm4_tunnel.c