kernel_optimize_test/net
Harald Welte 6869c4d8e0 [NETFILTER]: reduce netfilter sk_buff enlargement
As discussed at netconf'05, we're trying to save every bit in sk_buff.
The patch below makes sk_buff 8 bytes smaller.  I did some basic
testing on my notebook and it seems to work.

The only real in-tree user of nfcache was IPVS, who only needs a
single bit.  Unfortunately I couldn't find some other free bit in
sk_buff to stuff that bit into, so I introduced a separate field for
them.  Maybe the IPVS guys can resolve that to further save space.

Initially I wanted to shrink pkt_type to three bits (PACKET_HOST and
alike are only 6 values defined), but unfortunately the bluetooth code
overloads pkt_type :(

The conntrack-event-api (out-of-tree) uses nfcache, but Rusty just
came up with a way how to do it without any skb fields, so it's safe
to remove it.

- remove all never-implemented 'nfcache' code
- don't have ipvs code abuse 'nfcache' field. currently get's their own
  compile-conditional skb->ipvs_property field.  IPVS maintainers can
  decide to move this bit elswhere, but nfcache needs to die.
- remove skb->nfcache field to save 4 bytes
- move skb->nfctinfo into three unused bits to save further 4 bytes

Signed-off-by: Harald Welte <laforge@netfilter.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-08-29 15:31:04 -07:00
..
802 [TOKENRING]: Use interrupt-safe locking with rif_lock. 2005-08-18 14:04:51 -07:00
8021q [VLAN]: Fix early vlan adding leads to not functional device 2005-07-12 12:13:49 -07:00
appletalk [ATALK] aarp: replace schedule_timeout() with msleep() 2005-06-22 22:11:44 -07:00
atm [ATM]: Trivial spelling fix patch for net/Kconfig 2005-07-19 13:56:53 -07:00
ax25 [AX25]: UID fixes 2005-08-23 10:11:45 -07:00
bluetooth [Bluetooth] Add direction and timestamp to stack internal events 2005-08-06 12:36:54 +02:00
bridge [NETFILTER]: reduce netfilter sk_buff enlargement 2005-08-29 15:31:04 -07:00
core [NETFILTER]: reduce netfilter sk_buff enlargement 2005-08-29 15:31:04 -07:00
decnet [DECNET]: Fix RCU race condition in dn_neigh_construct(). 2005-08-17 12:05:27 -07:00
econet [NET]: move config options out to individual protocols 2005-07-11 21:13:56 -07:00
ethernet [NET]: __be'ify *_type_trans() 2005-07-12 12:08:43 -07:00
ipv4 [NETFILTER]: reduce netfilter sk_buff enlargement 2005-08-29 15:31:04 -07:00
ipv6 [NETFILTER]: reduce netfilter sk_buff enlargement 2005-08-29 15:31:04 -07:00
ipx [NET]: move config options out to individual protocols 2005-07-11 21:13:56 -07:00
irda [NET]: Transform skb_queue_len() binary tests into skb_queue_empty() 2005-07-08 14:57:23 -07:00
key [IPSEC]: Add XFRM_STATE_NOPMTUDISC flag 2005-06-20 13:21:43 -07:00
lapb [NET]: move config options out to individual protocols 2005-07-11 21:13:56 -07:00
llc [NET]: Transform skb_queue_len() binary tests into skb_queue_empty() 2005-07-08 14:57:23 -07:00
netlink [NETLINK]: Fix "nocast type" warnings 2005-07-18 13:35:43 -07:00
netrom [AX25]: UID fixes 2005-08-23 10:11:45 -07:00
packet [NETFILTER]: Revert nf_reset change 2005-07-12 11:57:52 -07:00
rose [ROSE]: Fix typo in rose_route_frame() locking fix. 2005-08-23 14:55:32 -07:00
rxrpc [PATCH] Cleanup patch for process freezing 2005-06-25 17:10:13 -07:00
sched [PKT_SCHED]: Fix missing qdisc_destroy() in qdisc_create_dflt() 2005-08-23 10:12:44 -07:00
sctp [SCTP]: Add SENTINEL to SCTP MIB stats 2005-08-23 10:12:04 -07:00
sunrpc [RPC]: Kill bogus kmap in krb5 2005-08-23 10:09:53 -07:00
unix [NET]: move config options out to individual protocols 2005-07-11 21:13:56 -07:00
wanrouter [NET]: __be'ify *_type_trans() 2005-07-12 12:08:43 -07:00
x25 [NET]: move config options out to individual protocols 2005-07-11 21:13:56 -07:00
xfrm [XFRM]: Fix possible overflow of sock->sk_policy 2005-07-26 15:43:17 -07:00
compat.c [NET]: Fix memory leak in sys_{send,recv}msg() w/compat 2005-08-09 15:29:19 -07:00
Kconfig [NET]: Kconfig: NETCONSOLE and NETPOLL together 2005-07-18 13:45:12 -07:00
Makefile 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 [NET]: dont use strlen() but the result from a prior sprintf() 2005-06-22 14:32:51 -07:00
sysctl_net.c 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