twx-linux/net
Eric Dumazet ea33537d82 tcp: add receive queue awareness in tcp_rcv_space_adjust()
If the application can not drain fast enough a TCP socket queue,
tcp_rcv_space_adjust() can overestimate tp->rcvq_space.space.

Then sk->sk_rcvbuf can grow and hit tcp_rmem[2] for no good reason.

Fix this by taking into acount the number of available bytes.

Keeping sk->sk_rcvbuf at the right size allows better cache efficiency.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Wei Wang <weiwan@google.com>
Link: https://patch.msgid.link/20250513193919.1089692-5-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-05-15 11:30:08 -07:00
..
6lowpan
9p 9p: Use hashtable.h for hash_errmap 2025-03-23 06:20:48 +09:00
802 net: 802: Remove unused p8022 code 2025-04-22 07:04:02 -07:00
8021q net: 802: Remove unused p8022 code 2025-04-22 07:04:02 -07:00
appletalk treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
atm treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
ax25 treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
batman-adv Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2025-05-15 11:28:30 -07:00
bluetooth Bluetooth: hci_event: Fix not using key encryption size when its known 2025-05-08 10:24:15 -04:00
bpf
bridge netfilter: bridge: Move specific fragmented packet to slow_path instead of dropping it 2025-05-05 13:13:08 +02:00
caif rtnetlink: Pack newlink() params into struct 2025-02-21 15:28:02 -08:00
can can: gw: fix RCU/BH usage in cgw_create_job() 2025-05-06 15:55:36 +02:00
ceph A small CephFS encryption-related fix and a dead code cleanup. 2025-04-25 15:51:28 -07:00
core Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2025-05-15 11:28:30 -07:00
dcb
devlink devlink: use DEVLINK_VAR_ATTR_TYPE_* instead of NLA_* in fmsg 2025-05-06 18:21:11 -07:00
dns_resolver
dsa net: dsa: convert to ndo_hwtstamp_get() and ndo_hwtstamp_set() 2025-05-09 16:34:09 -07:00
ethernet
ethtool ethtool: Block setting of symmetric RSS when non-symmetric rx-flow-hash is requested 2025-05-09 16:24:28 -07:00
handshake
hsr net: hsr: sync hw addr of slave2 according to slave1 hw addr on PRP 2025-04-14 12:40:06 +01:00
ieee802154 inet: frags: save a pair of atomic operations in reassembly 2025-03-18 13:18:36 +01:00
ife
ipv4 tcp: add receive queue awareness in tcp_rcv_space_adjust() 2025-05-15 11:30:08 -07:00
ipv6 ipv6: sr: Use nested-BH locking for hmac_storage 2025-05-15 15:23:31 +02:00
iucv s390: Convert MACHINE_IS_[LPAR|VM|KVM], etc, machine_is_[lpar|vm|kvm]() 2025-03-04 17:18:07 +01:00
kcm
key
l2tp net: move misc netdev_lock flavors to a separate header 2025-03-08 09:06:50 -08:00
l3mdev net: fib_rules: Fix iif / oif matching on L3 master device 2025-04-15 17:54:56 -07:00
lapb treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
llc treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
mac80211 Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2025-05-15 11:28:30 -07:00
mac802154 mac802154: Switch to use hrtimer_setup() 2025-02-18 10:35:44 +01:00
mctp net: mctp: Ensure keys maintain only one ref to corresponding dev 2025-05-09 16:22:53 -07:00
mpls mpls: Use nlmsg_payload in mpls_valid_getroute_req 2025-04-15 08:28:54 -07:00
mptcp mptcp: Use nested-BH locking for hmac_storage 2025-05-15 15:23:31 +02:00
ncsi net: ncsi: Fix GCPS 64-bit member variables 2025-04-15 15:19:55 +02:00
netfilter Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2025-05-08 08:59:02 -07:00
netlabel
netlink netlink: fix policy dump for int with validation callback 2025-05-12 18:50:09 -07:00
netrom treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
nfc treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
nsh
openvswitch openvswitch: Move ovs_frag_data_storage into the struct ovs_pcpu_storage 2025-05-15 15:23:31 +02:00
packet treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
phonet
psample
qrtr
rds rds: Use nested-BH locking for rds_page_remainder 2025-05-15 15:23:31 +02:00
rfkill
rose treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
rxrpc rxrpc: rxgk: Fix some reference count leaks 2025-04-24 18:06:05 -07:00
sched Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2025-05-15 11:28:30 -07:00
sctp sctp: Remove unused sctp_assoc_del_peer and sctp_chunk_iif 2025-05-05 16:51:12 -07:00
shaper
smc smc: Fix lockdep false-positive for IPPROTO_SMC. 2025-04-11 14:14:26 -07:00
strparser strparser: Remove unused __strp_unpause 2025-05-05 16:48:12 -07:00
sunrpc nfsd-6.15 fixes: 2025-04-26 10:43:03 -07:00
switchdev net: switchdev: Convert blocking notification chain to a raw one 2025-03-11 11:30:28 +01:00
tipc Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2025-04-24 11:20:52 -07:00
tls net/tls: fix kernel panic when alloc_page failed 2025-05-15 07:40:51 -07:00
unix af_unix: Remove unix_unhash() 2025-04-10 17:32:57 -07:00
vmw_vsock net: devmem: Implement TX path 2025-05-13 11:12:48 +02:00
wireless Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2025-05-08 08:59:02 -07:00
x25 treewide: Switch/rename to timer_delete[_sync]() 2025-04-05 10:30:12 +02:00
xdp Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2025-05-01 15:11:38 -07:00
xfrm xfrm: Use nested-BH locking for nat_keepalive_sk_ipv[46] 2025-05-15 15:23:31 +02:00
compat.c
devres.c
Kconfig net: Retire DCCP socket. 2025-04-11 18:58:10 -07:00
Kconfig.debug
Makefile net: Retire DCCP socket. 2025-04-11 18:58:10 -07:00
socket.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2025-03-26 09:32:10 -07:00
sysctl_net.c