kernel-ark/net/core
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
..
datagram.c [PATCH] DocBook: fix some descriptions 2005-05-01 08:59:26 -07:00
dev_mcast.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dev.c [NET]: Fix sysctl net.core.dev_weight 2005-06-08 14:56:01 -07:00
dst.c [PATCH] Fix dst_destroy() race 2005-04-16 15:24:10 -07:00
dv.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ethtool.c [ETHTOOL]: Check correct pointer in ethtool_set_coalesce(). 2005-06-06 15:07:19 -07:00
filter.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
flow.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
gen_estimator.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
gen_stats.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
iovec.c [PATCH] misc verify_area cleanups 2005-05-01 08:59:08 -07:00
link_watch.c [NET]: Disable queueing when carrier is lost. 2005-05-03 16:18:52 -07:00
Makefile Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
neighbour.c [NET]: /proc/net/stat/* header cleanup 2005-04-28 12:16:08 -07:00
net-sysfs.c [NET]: Allow controlling NAPI device weight with sysfs 2005-06-08 14:55:42 -07:00
netfilter.c [NETFILTER]: Drop conntrack reference in ip_dev_loopback_xmit() 2005-05-03 16:21:37 -07:00
netpoll.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pktgen.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
rtnetlink.c [XFRM/RTNETLINK]: Decrement qlen properly in {xfrm_,rt}netlink_rcv(). 2005-05-03 16:15:59 -07:00
scm.c [PATCH] kill gratitious includes of major.h under net/* 2005-04-25 18:32:13 -07:00
skbuff.c [NET]: Add missing newline for skb_*_panic 2005-04-21 16:43:02 -07:00
sock.c [NET] Generalise TCP's struct open_request minisock infrastructure 2005-06-18 22:46:52 -07:00
stream.c [PATCH] DocBook: changes and extensions to the kernel documentation 2005-05-01 08:59:25 -07:00
sysctl_net_core.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
utils.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
wireless.c [PATCH] Wireless Extensions 18 (aka WPA) 2005-05-12 20:24:19 -04:00