OpenCloudOS-Kernel/net
Arnaldo Carvalho de Melo 2e6599cb89 [NET] Generalise TCP's struct open_request minisock infrastructure
Kept this first changeset minimal, without changing existing names to
ease peer review.

Basicaly tcp_openreq_alloc now receives the or_calltable, that in turn
has two new members:

->slab, that replaces tcp_openreq_cachep
->obj_size, to inform the size of the openreq descendant for
  a specific protocol

The protocol specific fields in struct open_request were moved to a
class hierarchy, with the things that are common to all connection
oriented PF_INET protocols in struct inet_request_sock, the TCP ones
in tcp_request_sock, that is an inet_request_sock, that is an
open_request.

I.e. this uses the same approach used for the struct sock class
hierarchy, with sk_prot indicating if the protocol wants to use the
open_request infrastructure by filling in sk_prot->rsk_prot with an
or_calltable.

Results? Performance is improved and TCP v4 now uses only 64 bytes per
open request minisock, down from 96 without this patch :-)

Next changeset will rename some of the structs, fields and functions
mentioned above, struct or_calltable is way unclear, better name it
struct request_sock_ops, s/struct open_request/struct request_sock/g,
etc.

Signed-off-by: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-06-18 22:46:52 -07:00
..
802 [TOKENRING]: net/802/tr.c: s/struct rif_cache_s/struct rif_cache/ 2005-05-26 12:59:42 -07:00
8021q [PATCH] misc verify_area cleanups 2005-05-01 08:59:08 -07:00
appletalk [ATALK]: Add alloc_ltalkdev(). 2005-05-05 14:25:59 -07:00
atm [PATCH] misc verify_area cleanups 2005-05-01 08:59:08 -07:00
ax25 [AX25] Introduce ax25_type_trans 2005-04-24 18:53:06 -07:00
bluetooth [NET]: kill gratitious includes of major.h 2005-04-25 21:40:39 -07:00
bridge [BRIDGE]: receive path optimization 2005-05-29 14:16:48 -07:00
core [NET] Generalise TCP's struct open_request minisock infrastructure 2005-06-18 22:46:52 -07:00
decnet [DECNET]: Fix build after C99 netlink initializer change. 2005-05-05 13:13:29 -07:00
econet Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ethernet [PATCH] update Ross Biro bouncing email address 2005-05-05 16:36:49 -07:00
ipv4 [NET] Generalise TCP's struct open_request minisock infrastructure 2005-06-18 22:46:52 -07:00
ipv6 [NET] Generalise TCP's struct open_request minisock infrastructure 2005-06-18 22:46:52 -07:00
ipx Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
irda [PATCH] ISA DMA Kconfig fixes - part 4 (irda) 2005-05-04 07:33:14 -07:00
key [IPSEC] Fix xfrm_state leaks in error path 2005-06-18 22:45:31 -07:00
lapb Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
llc Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
netlink [NETLINK]: Defer socket destruction a bit 2005-05-19 13:07:32 -07:00
netrom Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
packet [PATCH] update Ross Biro bouncing email address 2005-05-05 16:36:49 -07:00
rose Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
rxrpc Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sched [NET]: Move the netdev list to vger.kernel.org. 2005-06-13 14:30:40 -07:00
sctp [SCTP] Fix incorrect setting of sk_bound_dev_if when binding/sending to a ipv6 2005-06-13 15:13:05 -07:00
sunrpc [PATCH] DocBook: changes and extensions to the kernel documentation 2005-05-01 08:59:25 -07:00
unix [AF_UNIX]: Use lookup_create(). 2005-05-19 12:26:43 -07:00
wanrouter [PATCH] misc verify_area cleanups 2005-05-01 08:59:08 -07:00
x25 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
xfrm [IPSEC] Use NLMSG_LENGTH in xfrm_exp_state_notify 2005-06-18 22:45:56 -07:00
Kconfig Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Makefile Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
TUNABLE Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
compat.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
nonet.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
socket.c AUDIT: Fix user pointer deref thinko in sys_socketcall(). 2005-06-02 12:13:21 +01:00
sysctl_net.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00