netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4] [UDP]: memory accounting and limitation (take 11)
@ 2007-12-18  2:33 Hideo AOKI
  2007-12-18  2:38 ` [PATCH 1/4] [UDP]: fix send buffer check Hideo AOKI
                   ` (3 more replies)
  0 siblings, 4 replies; 16+ messages in thread
From: Hideo AOKI @ 2007-12-18  2:33 UTC (permalink / raw)
  To: David Miller, Herbert Xu, netdev
  Cc: haoki, Takahiro Yasui, Masami Hiramatsu, Satoshi Oshima,
	Bill Fink, Andi Kleen, Evgeniy Polyakov, Stephen Hemminger,
	yoshfuji, Yumiko Sugita

Hello,

I updated patch set of  UDP memory accounting and limitation.

The spin lock that I used in previous take was removed from datagram
memory accounting functions. As David commented, I used socket lock
and backlog processing to keep consistency of memory accounting like
TCP. I added socket lock to places where skbuff is freed, since the
locking is needed to change sk_forward_alloc only.

Moreover, I revised memory accounting functions. As Herbert commented,
I stopped using large inline function and tried to reduce amount of
inline functions.

The patch set was tested on net-2.6 tree.


Changelog take 10 -> take 11:
 * stopped using spin lock in memory accounting function
 * socket lock and backlog processing were used to avoid conflict
   between receive system call processing and BH
 * revised memory accounting functions
 * stooped changing sock_queue_rcv_skb() and skb_set_owner_r()
 * added __udp_queue_rcv_skb to set proper destructor
 * removed udp_set_owner_r()
 * removed reclaim in inet_sock_destruct()

Changelog take 9 -> take 10:
 * supported using sk_forward_alloc
 * introduced several memory accounting functions with spin lock
 * changed detagram receive functions to be able to customize
   destructor
 * fixed accounting bugs in previous takes

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

Best regards,
Hideo Aoki

--
Hitachi Computer Products (America) Inc.


^ permalink raw reply	[flat|nested] 16+ messages in thread
* [PATCH 0/4] [UDP]: memory accounting and limitation (take 10)
@ 2007-12-15  5:07 Hideo AOKI
  2007-12-15  5:15 ` [PATCH 3/4] [UDP]: add udp_mem, udp_rmem_min and udp_wmem_min Hideo AOKI
  0 siblings, 1 reply; 16+ messages in thread
From: Hideo AOKI @ 2007-12-15  5:07 UTC (permalink / raw)
  To: David Miller, Herbert Xu, netdev
  Cc: haoki, Takahiro Yasui, Masami Hiramatsu, Satoshi Oshima, billfink,
	Andi Kleen, Evgeniy Polyakov, Stephen Hemminger, yoshfuji,
	Yumiko Sugita

Hello,

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

To reduce number of atomic access to global variable, the patch set
supports per socket accounting using sk_forward_alloc like stream
protocols.

My colleagues and I tested the patch set on net-2.6 tree.

Please consider applying.


Changelog take 9 -> take 10:
 * supported using sk_forward_alloc
 * introduced several memory accounting functions with spin lock
 * changed detagram receive functions to be able to customize
   destructor
 * fixed accounting bugs in previous takes

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

Best regards,
Hideo Aoki

--
Hitachi Computer Products (America) Inc.

^ permalink raw reply	[flat|nested] 16+ messages in thread
* [PATCH 0/4] UDP memory accounting and limitation (take 9)
@ 2007-11-28 18:48 Hideo AOKI
  2007-11-28 18:53 ` [PATCH 3/4] udp: add udp_mem, udp_rmem_min and udp_wmem_min Hideo AOKI
  0 siblings, 1 reply; 16+ messages in thread
From: Hideo AOKI @ 2007-11-28 18:48 UTC (permalink / raw)
  To: Herbert Xu, netdev
  Cc: haoki, David Miller, Satoshi Oshima, Bill Fink, Andi Kleen,
	Evgeniy Polyakov, Stephen Hemminger, yoshfuji, Yumiko Sugita

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.

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2007-12-22  0:32 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-12-18  2:33 [PATCH 0/4] [UDP]: memory accounting and limitation (take 11) Hideo AOKI
2007-12-18  2:38 ` [PATCH 1/4] [UDP]: fix send buffer check Hideo AOKI
2007-12-20 11:31   ` David Miller
2007-12-21  3:43     ` Hideo AOKI
2007-12-18  2:38 ` [PATCH 2/4] [CORE]: datagram: basic memory accounting functions Hideo AOKI
2007-12-19  3:21   ` Hideo AOKI
2007-12-20 11:43   ` David Miller
2007-12-21  4:18     ` Hideo AOKI
2007-12-21  4:31       ` David Miller
2007-12-22  0:22         ` Hideo AOKI
2007-12-18  2:38 ` [PATCH 3/4] [UDP]: add udp_mem, udp_rmem_min and udp_wmem_min Hideo AOKI
2007-12-18  2:38 ` [PATCH 4/4] [UDP]: memory accounting in IPv4 Hideo AOKI
2007-12-20 11:44   ` David Miller
2007-12-21  3:58     ` Hideo AOKI
  -- strict thread matches above, loose matches on Subject: below --
2007-12-15  5:07 [PATCH 0/4] [UDP]: memory accounting and limitation (take 10) Hideo AOKI
2007-12-15  5:15 ` [PATCH 3/4] [UDP]: add udp_mem, udp_rmem_min and udp_wmem_min Hideo AOKI
2007-11-28 18:48 [PATCH 0/4] UDP memory accounting and limitation (take 9) Hideo AOKI
2007-11-28 18:53 ` [PATCH 3/4] udp: add udp_mem, udp_rmem_min and udp_wmem_min Hideo AOKI

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).