linux/net
Eric Dumazet 270acefafe net: sk_free_datagram() should use sk_mem_reclaim_partial()
I noticed a contention on udp_memory_allocated on regular UDP applications.

While tcp_memory_allocated is seldom used, it appears each incoming UDP frame
is currently touching udp_memory_allocated when queued, and when received by
application.

One possible solution is to use sk_mem_reclaim_partial() instead of
sk_mem_reclaim(), so that we keep a small reserve (less than one page)
of memory for each UDP socket.

We did something very similar on TCP side in commit
9993e7d313
([TCP]: Do not purge sk_forward_alloc entirely in tcp_delack_timer())

A more complex solution would need to convert prot->memory_allocated to
use a percpu_counter with batches of 64 or 128 pages.

Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-11-05 01:38:06 -08:00
..
9p net: remove two duplicated #include 2008-11-03 18:23:09 -08:00
802 net: '&' redux 2008-11-03 18:21:05 -08:00
8021q net/: Kill now superfluous ->last_rx stores. 2008-11-03 22:01:07 -08:00
appletalk net: '&' redux 2008-11-03 18:21:05 -08:00
atm net: replace NIPQUAD() in net/*/ 2008-10-31 00:54:56 -07:00
ax25 net: '&' redux 2008-11-03 18:21:05 -08:00
bluetooth net/: Kill now superfluous ->last_rx stores. 2008-11-03 22:01:07 -08:00
bridge net: '&' redux 2008-11-03 18:21:05 -08:00
can net: Remove CONFIG_KMOD from net/ (towards removing CONFIG_KMOD entirely) 2008-10-16 15:24:51 -07:00
core net: sk_free_datagram() should use sk_mem_reclaim_partial() 2008-11-05 01:38:06 -08:00
dccp dccp: Cleanup routines for feature negotiation 2008-11-04 23:56:30 -08:00
decnet net: '&' redux 2008-11-03 18:21:05 -08:00
dsa net/: Kill now superfluous ->last_rx stores. 2008-11-03 22:01:07 -08:00
econet netns: Use net_eq() to compare net-namespaces for optimization. 2008-07-19 22:34:43 -07:00
ethernet dsa: add support for Trailer tagging format 2008-10-08 17:24:16 -07:00
ieee80211 net/: Kill now superfluous ->last_rx stores. 2008-11-03 22:01:07 -08:00
ipv4 net: '&' redux 2008-11-03 18:21:05 -08:00
ipv6 net: '&' redux 2008-11-03 18:21:05 -08:00
ipx net: '&' redux 2008-11-03 18:21:05 -08:00
irda net: '&' redux 2008-11-03 18:21:05 -08:00
iucv iucv: Fix mismerge again. 2008-09-30 03:03:35 -07:00
key af_key: fix SADB_X_SPDDELETE response 2008-10-10 14:07:03 -07:00
lapb [LAPB] net/lapb/lapb_iface.c: use LIST_HEAD instead of LIST_HEAD_INIT 2008-01-28 14:56:52 -08:00
llc net: '&' redux 2008-11-03 18:21:05 -08:00
mac80211 mac80211: fix two kernel-doc warnings 2008-10-31 19:02:36 -04:00
netfilter net: '&' redux 2008-11-03 18:21:05 -08:00
netlabel net: replace NIPQUAD() in net/*/ 2008-10-31 00:54:56 -07:00
netlink netlink: constify struct nlattr * arg to parsing functions 2008-10-28 11:59:11 -07:00
netrom net: '&' redux 2008-11-03 18:21:05 -08:00
packet net: convert BUG_TRAP to generic WARN_ON 2008-07-25 21:43:18 -07:00
phonet net: '&' redux 2008-11-03 18:21:05 -08:00
rfkill rfkill: rate-limit rfkill-input workqueue usage (v3) 2008-10-31 19:00:10 -04:00
rose net: '&' redux 2008-11-03 18:21:05 -08:00
rxrpc net: replace NIPQUAD() in net/*/ 2008-10-31 00:54:56 -07:00
sched netem: eliminate unneeded return values 2008-11-03 21:13:26 -08:00
sctp net: '&' redux 2008-11-03 18:21:05 -08:00
sunrpc sunrpc: Fix build warning due to typo in %pI4 format changes. 2008-11-02 23:57:06 -08:00
tipc net: convert print_mac to %pM 2008-10-27 17:06:18 -07:00
unix net: '&' redux 2008-11-03 18:21:05 -08:00
wanrouter wanmain.c doesn't need syncppp.h 2008-07-23 23:00:36 +02:00
wireless wireless regulatory: move ignore_request 2008-10-31 19:02:32 -04:00
x25 net: '&' redux 2008-11-03 18:21:05 -08:00
xfrm net: replace NIPQUAD() in net/*/ 2008-10-31 00:54:56 -07:00
Kconfig netns: Coexist with the sysfs limitations v2 2008-10-27 17:51:47 -07:00
Makefile net: Distributed Switch Architecture protocol support 2008-10-08 17:15:19 -07:00
TUNABLE
compat.c flag parameters: paccept 2008-07-24 10:47:27 -07:00
nonet.c
socket.c net: remove two duplicated #include 2008-11-03 18:23:09 -08:00
sysctl_net.c missing bits of net-namespace / sysctl 2008-07-27 09:45:34 -07:00