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. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html