Skip to content

UDP memory accounting and limitation (take 9)

Hideo AOKI netdev 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest4 patches 12 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/4udp: fix send buffer checknet/ipv4/ip_output.c+5 -00 replies
2/4datagram: mem_scheudle functionsinclude/net/sock.h net/core/datagram.c+65 -04 replies
3/4udp: add udp_mem, udp_rmem_min and udp_wmem_minDocumentation/networking/ip-sysctl.txt include/net/udp.h net/ipv4/af_inet.c +3 more+90 -10 replies
4/4udp: memory accounting in IPv4net/ipv4/af_inet.c net/ipv4/ip_output.c net/ipv4/udp.c+87 -88 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH 0/4] UDP memory accounting and limitation (take 9)

Hello,

This is the latest patch set of UDP memory accounting and limitation.

I implemented memory schedule functions for datagram protocols like stream protocols. Moreover, to call memory schedule functions from IP layer, I added a wrapper function, sk_wmem_schedule(), as I proposed last week:

http://www.spinics.net/lists/netdev/msg47950.html

I would like to know whether this is acceptable.

In addition, I restructured patch set. I merged UDP IPv4 memory accounting code at once and re-divided into introducing sysctls patch and accounting patch. I think that new structure is easier to review than previous ones.

The patch set is for net-2.6.

By the way, sk_forward_alloc support is my future work. I'm going to do it if this patch set is acceptable.

Changelog take 8 -> take 9:
* introduced mem_schdeule functions for datargram protocols
* removed protocol check function, from patch set
* restructured patch set

Changelog take 7 -> take 8:

* sk_datagram_pages(): avoided using divide instruction
* udp_recvmsg(): fixed referring released truesize in accounting

Changelog take 6 -> take 7:
* renamed /proc/sys/net/ipv4/udp_rmem to
/proc/sys/net/ipv4/udp_rmem_min
* renamed /proc/sys/net/ipv4/udp_wmem to
/proc/sys/net/ipv4/udp_wmem_min
* rebased to net-2.6

Changelog take 5 -> take 6:

* removed minimal limit of /proc/sys/net/ipv4/udp_mem
* added udp_init() for default value calculation of parameters
* added /proc/sys/net/ipv4/udp_rmem and /proc/sys/net/ipv4/udp_rmem
* added limitation code to ip_ufo_append_data()
* improved accounting for receiving packet
* fixed typos
* rebased to 2.6.24-rc1

Changelog take 4 -> take 5:

* removing unnessesary EXPORT_SYMBOLs
* adding minimal limit of /proc/sys/net/ipv4/udp_mem
* bugfix of UDP limit affecting protocol other than UDP
* introducing __ip_check_max_skb_pages()
* using CTL_UNNUMBERED
* adding udp_mem usage to Documentation/networking/ip_sysctl.txt

Best regards,
Hideo Aoki

--
Hitachi Computer Products (America) Inc.