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
..
bluetooth
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
irda
[PATCH] x86_64: Make IRDA devices are not really ISA devices not depend on CONFIG_ISA
2005-04-16 15:24:56 -07:00
sctp
[SCTP] Fix SCTP sendbuffer accouting.
2005-04-28 12:02:04 -07:00
tc_act
[PKT_SCHED]: Introduce simple actions.
2005-04-24 20:10:16 -07:00
act_api.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
act_generic.h
[PKT_SCHED]: Fixup simple action define.
2005-05-19 12:42:39 -07:00
addrconf.h
[IPV6]: net/addrconf.h needs to include linux/in6.h earlier
2005-05-03 22:17:18 -07:00
af_unix.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
ah.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
arp.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
atmclip.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
ax25.h
[AX25] Introduce ax25_type_trans
2005-04-24 18:53:06 -07:00
checksum.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
compat.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
datalink.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
dn.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
dn_dev.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
dn_fib.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
dn_neigh.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
dn_nsp.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
dn_route.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
dsfield.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
dst.h
[NET]: Shave sizeof(ptr) bytes off dst_entry
2005-04-19 20:46:37 -07:00
esp.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
flow.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
gen_stats.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
icmp.h
[PATCH] update Ross Biro bouncing email address
2005-05-05 16:36:49 -07:00
if_inet6.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
inet_common.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
inet_ecn.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
inetpeer.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
ip.h
[SCTP] Add support for ip_nonlocal_bind sysctl & IP_FREEBIND socket option
2005-06-13 15:12:33 -07:00
ip6_checksum.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
ip6_fib.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
ip6_route.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
ip6_tunnel.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
ip_fib.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
ip_mp_alg.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
ip_vs.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
ipcomp.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
ipconfig.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
ipip.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
ipv6.h
[SELINUX]: Fix ipv6_skip_exthdr() invocation causing OOPS.
2005-04-24 20:16:19 -07:00
ipx.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
iw_handler.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
lapb.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
llc.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
llc_c_ac.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
llc_c_ev.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
llc_c_st.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
llc_conn.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
llc_if.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
llc_pdu.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
llc_s_ac.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
llc_s_ev.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
llc_s_st.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
llc_sap.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
ndisc.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
neighbour.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
netrom.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
p8022.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
pkt_act.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
pkt_cls.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
pkt_sched.h
[PKT_SCHED]: Fix range in PSCHED_TDIFF_SAFE to 0..bound
2005-05-03 14:41:18 -07:00
protocol.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
psnap.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
raw.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
rawv6.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
request_sock.h
[NET] Generalise TCP's struct open_request minisock infrastructure
2005-06-18 22:46:52 -07:00
rose.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
route.h
[IPV4]: Kill MULTIPATHHOLDROUTE flag.
2005-05-29 20:26:44 -07:00
sch_generic.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
scm.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
slhc_vj.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
snmp.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
sock.h
[NET] Generalise TCP's struct open_request minisock infrastructure
2005-06-18 22:46:52 -07:00
syncppp.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
tcp.h
[NET] Generalise TCP's struct open_request minisock infrastructure
2005-06-18 22:46:52 -07:00
tcp_ecn.h
[NET] Generalise TCP's struct open_request minisock infrastructure
2005-06-18 22:46:52 -07:00
transp_v6.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
udp.h
[PATCH] update Ross Biro bouncing email address
2005-05-05 16:36:49 -07:00
x25.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
x25device.h
Linux-2.6.12-rc2
2005-04-16 15:20:36 -07:00
xfrm.h
[IPSEC] Use XFRM_MSG_* instead of XFRM_SAP_*
2005-06-18 22:44:37 -07:00