Arnaldo Carvalho de Melo
8feaf0c0a5
[INET]: Generalise tcp_tw_bucket, aka TIME_WAIT sockets
...
This paves the way to generalise the rest of the sock ID lookup
routines and saves some bytes in TCPv4 TIME_WAIT sockets on distro
kernels (where IPv6 is always built as a module):
[root@qemu ~]# grep tw_sock /proc/slabinfo
tw_sock_TCPv6 0 0 128 31 1
tw_sock_TCP 0 0 96 41 1
[root@qemu ~]#
Now if a protocol wants to use the TIME_WAIT generic infrastructure it
only has to set the sk_prot->twsk_obj_size field with the size of its
inet_timewait_sock derived sock and proto_register will create
sk_prot->twsk_slab, for now its only for INET sockets, but we can
introduce timewait_sock later if some non INET transport protocolo
wants to use this stuff.
Next changesets will take advantage of this new infrastructure to
generalise even more TCP code.
[acme@toy net-2.6.14]$ grep built-in /tmp/before.size /tmp/after.size
/tmp/before.size: 188646 11764 5068 205478 322a6 net/ipv4/built-in.o
/tmp/after.size: 188144 11764 5068 204976 320b0 net/ipv4/built-in.o
[acme@toy net-2.6.14]$
Tested with both IPv4 & IPv6 (::1 (localhost) & ::ffff:172.20.0.1
(qemu host)).
Signed-off-by: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-08-29 15:42:13 -07:00
..
2005-06-28 21:20:31 -07:00
2005-06-22 16:07:42 -04:00
2005-08-19 09:42:52 +01:00
2005-07-07 16:50:16 +02:00
2005-08-29 15:40:09 -07:00
2005-08-29 15:38:54 -07:00
2005-08-29 15:38:07 -07:00
2005-07-07 18:24:11 -07:00
2005-08-04 13:00:54 -07:00
2005-08-16 08:52:11 -07:00
2005-07-22 14:43:52 -07:00
2005-07-27 11:41:18 +01:00
2005-06-25 16:25:02 -07:00
2005-07-29 23:31:17 -04:00
2005-08-29 15:59:42 -04:00
2005-06-26 15:28:10 -07:00
2005-07-10 19:29:45 -07:00
2005-06-23 09:45:26 -07:00
2005-06-27 14:33:29 -07:00
2005-08-05 13:43:16 -07:00
2005-06-25 16:24:52 -07:00
2005-07-07 18:23:45 -07:00
2005-07-10 15:45:11 -07:00
2005-06-27 15:11:48 -07:00
2005-07-04 13:23:45 -07:00
2005-06-25 16:24:30 -07:00
2005-07-07 18:23:43 -07:00
2005-06-25 16:24:53 -07:00
2005-07-06 13:53:29 -07:00
2005-08-01 21:37:59 -07:00
2005-07-12 17:21:56 -04:00
2005-06-25 16:24:24 -07:00
2005-06-24 00:05:19 -07:00
2005-06-24 00:05:19 -07:00
2005-06-27 14:33:29 -07:00
2005-07-12 12:08:43 -07:00
2005-07-30 19:31:23 -04:00
2005-06-24 00:06:41 -07:00
2005-07-12 16:01:01 -07:00
2005-06-24 00:05:20 -07:00
2005-07-13 11:25:24 -07:00
2005-06-23 09:45:28 -07:00
2005-07-12 12:08:43 -07:00
2005-08-19 18:02:56 -07:00
2005-08-15 09:50:31 -07:00
2005-07-27 16:26:08 -07:00
2005-06-23 09:45:19 -07:00
2005-07-07 18:23:46 -07:00
2005-07-12 16:01:03 -07:00
2005-07-12 12:08:43 -07:00
2005-06-25 16:24:53 -07:00
2005-08-29 15:31:42 -07:00
2005-06-28 21:20:32 -07:00
2005-06-24 00:05:29 -07:00
2005-06-24 00:05:29 -07:00
2005-08-09 20:21:31 -07:00
2005-06-26 17:54:11 -04:00
2005-07-05 15:03:46 -07:00
2005-08-29 15:32:25 -07:00
2005-07-08 17:38:07 -07:00
2005-06-28 15:46:24 -07:00
2005-06-27 14:33:29 -07:00
2005-06-25 16:24:30 -07:00
2005-08-15 09:50:31 -07:00
2005-06-30 00:50:38 -05:00
2005-07-07 18:23:37 -07:00
2005-08-29 15:38:48 -07:00
2005-06-24 00:05:23 -07:00
2005-08-29 15:42:13 -07:00
2005-06-28 21:20:35 -07:00
2005-06-25 16:24:45 -07:00
2005-06-25 16:24:55 -07:00
2005-06-24 00:05:19 -07:00
2005-06-24 00:05:19 -07:00
2005-06-24 00:05:19 -07:00
2005-06-24 00:05:18 -07:00
2005-07-05 19:19:00 -07:00
2005-08-29 15:59:42 -04:00
2005-06-25 16:24:38 -07:00
2005-06-23 09:45:18 -07:00
2005-07-27 16:26:07 -07:00
2005-06-23 09:45:09 -07:00
2005-07-30 19:31:23 -04:00
2005-08-03 09:12:05 -07:00
2005-06-23 09:45:05 -07:00
2005-08-29 10:42:39 -07:00
2005-06-24 00:06:40 -07:00
2005-07-12 16:00:58 -07:00
2005-07-07 18:23:51 -07:00
2005-08-29 15:35:08 -07:00
2005-08-29 15:32:25 -07:00
2005-08-29 15:31:04 -07:00
2005-08-29 15:34:40 -07:00
2005-08-29 15:36:19 -07:00
2005-08-29 15:38:07 -07:00
2005-08-29 15:35:08 -07:00
2005-08-11 19:27:43 -07:00
2005-06-24 00:06:28 -07:00
2005-06-22 16:07:42 -04:00
2005-06-22 16:07:24 -04:00
2005-08-18 12:53:57 -07:00
2005-06-22 16:07:24 -04:00
2005-06-22 16:07:39 -04:00
2005-06-22 16:07:24 -04:00
2005-06-22 16:07:23 -04:00
2005-06-24 00:06:32 -07:00
2005-06-23 09:45:04 -07:00
2005-06-25 16:25:03 -07:00
2005-08-23 01:07:10 -04:00
2005-08-16 21:06:24 -07:00
2005-08-28 20:28:25 -04:00
2005-06-28 12:56:45 -07:00
2005-06-28 12:56:45 -07:00
2005-06-23 09:45:30 -07:00
2005-07-12 17:21:56 -04:00
2005-06-27 15:11:43 -07:00
2005-06-23 09:45:33 -07:00
2005-06-25 16:24:53 -07:00
2005-06-24 14:14:24 -07:00
2005-06-24 14:14:24 -07:00
2005-06-24 00:05:19 -07:00
2005-06-23 09:45:20 -07:00
2005-07-26 14:35:41 -07:00
2005-07-12 20:21:28 -07:00
2005-07-12 20:21:28 -07:00
2005-07-12 20:21:28 -07:00
2005-07-12 20:21:28 -07:00
2005-07-12 20:21:28 -07:00
2005-06-24 00:06:41 -07:00
2005-06-28 12:56:45 -07:00
2005-07-12 20:38:38 -07:00
2005-06-27 15:11:44 -07:00
2005-06-27 11:12:54 +01:00
2005-07-27 16:26:09 -07:00
2005-07-16 09:30:53 +01:00
2005-07-27 11:41:18 +01:00
2005-08-29 15:32:25 -07:00
2005-07-27 16:25:47 -07:00
2005-07-28 10:34:47 -07:00
2005-07-07 18:23:46 -07:00
2005-06-25 16:24:32 -07:00
2005-08-07 10:00:38 -07:00
2005-07-07 18:23:37 -07:00
2005-07-27 16:26:04 -07:00
2005-06-23 12:21:28 -07:00
2005-08-29 15:42:13 -07:00
2005-06-23 20:59:16 -07:00
2005-06-23 20:49:30 -07:00
2005-06-23 09:45:16 -07:00
2005-06-25 16:24:42 -07:00
2005-06-23 09:45:35 -07:00
2005-06-30 00:48:14 -05:00
2005-07-12 11:52:57 -07:00
2005-06-28 21:20:32 -07:00
2005-07-12 11:52:56 -07:00
2005-06-30 00:49:08 -05:00
2005-06-27 14:43:42 -07:00
2005-07-12 11:52:56 -07:00
2005-06-28 21:20:36 -07:00
2005-06-23 09:45:34 -07:00
2005-07-12 12:08:43 -07:00
2005-07-27 16:25:54 -07:00
2005-06-28 21:20:31 -07:00
2005-06-22 22:16:17 -07:00
2005-08-06 09:39:57 -07:00