On Tue, 2016-09-27 at 18:58 +0200, Paolo Abeni wrote:
> > Since the new memory accounting model does not require socket > locking, remove the lock on enqueue and free and avoid using the > backlog on enqueue. ... > __UDP_INC_STATS(sock_net(sk), UDP_MIB_CSUMERRORS, is_udplite); > @@ -2345,6 +2325,7 @@ struct proto udp_prot = { > .connect = ip4_datagram_connect, > .disconnect = udp_disconnect, > .ioctl = udp_ioctl, > + .init = udp_init_sock, > .destroy = udp_destroy_sock, > .setsockopt = udp_setsockopt, > .getsockopt = udp_getsockopt, > @@ -2357,7 +2338,10 @@ struct proto udp_prot = { > .unhash = udp_lib_unhash, > .rehash = udp_v4_rehash, > .get_port = udp_v4_get_port, > + .enter_memory_pressure = udp_enter_memory_pressure, > + .sockets_allocated = &udp_sockets_allocated, > .memory_allocated = &udp_memory_allocated, > + .memory_pressure = &udp_memory_pressure, > .sysctl_mem = sysctl_udp_mem, > .sysctl_wmem = &sysctl_udp_wmem_min, > .sysctl_rmem = &sysctl_udp_rmem_min, I find disturbing you did not remove .backlog_rcv = __udp_queue_rcv_skb,