kernel-ark/net
Stephen Hemminger d5ce8a0e97 [IPV4] fib_trie: avoid rescan on dump
This converts dumping (and flushing) of large route tables form O(N^2)
to O(N). If the route dump took multiple pages then the dump routine
gets called again. The old code kept track of location by counter, the
new code instead uses the last key.

This is a really big win ( 0.3 sec vs 12 sec) for big route tables.

One side effect is that if the table changes during the dump, then the
last key will not be found, and we will return -EBUSY.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-01-28 15:11:01 -08:00
..
9p 9p: add missing end-of-options record for trans_fd 2007-11-06 08:02:53 -06:00
802 [TR]: Use ctl paths to register net/token-ring/ table 2008-01-28 14:56:28 -08:00
8021q [VLAN]: sparse warning fix 2008-01-28 15:10:17 -08:00
appletalk [APPLETALK]: Annotations to clear sparse warnings 2008-01-28 15:02:43 -08:00
atm [ATM]: Suppress some sparse warnings 2008-01-28 15:02:43 -08:00
ax25 [AX25]: sparse cleanups 2008-01-28 15:02:03 -08:00
bluetooth [BLUETOOTH]: Use sockfd_put() 2008-01-28 15:00:48 -08:00
bridge [NETNS]: Consolidate kernel netlink socket destruction. 2008-01-28 15:08:07 -08:00
can [CAN]: Add virtual CAN netdevice driver 2008-01-28 14:54:12 -08:00
core [IPV4]: Enable use of 240/4 address space. 2008-01-28 15:08:44 -08:00
dccp [NET]: Simple ctl_table to ctl_path conversions. 2008-01-28 15:01:07 -08:00
decnet [NETNS]: FIB rules API cleanup. 2008-01-28 15:08:13 -08:00
econet [NET]: Convert init_timer into setup_timer 2008-01-28 14:53:35 -08:00
ethernet [ETH]: Combine format_addr() with print_mac(). 2008-01-28 15:00:05 -08:00
ieee80211 ieee80211: beacon->capability is little-endian 2008-01-28 15:08:48 -08:00
ipv4 [IPV4] fib_trie: avoid rescan on dump 2008-01-28 15:11:01 -08:00
ipv6 [NETNS][FRAGS]: Make the pernet subsystem for fragments. 2008-01-28 15:10:40 -08:00
ipx [NET]: Simple ctl_table to ctl_path conversions. 2008-01-28 15:01:07 -08:00
irda [IrDA]: LMP discovery timer not started by default 2008-01-28 15:10:54 -08:00
iucv [IUCV]: use LIST_HEAD instead of LIST_HEAD_INIT 2008-01-28 14:56:54 -08:00
key [XFRM] xfrm_policy_destroy: Rename and relative fixes. 2008-01-28 15:00:46 -08:00
lapb [LAPB] net/lapb/lapb_iface.c: use LIST_HEAD instead of LIST_HEAD_INIT 2008-01-28 14:56:52 -08:00
llc [NET]: Simple ctl_table to ctl_path conversions. 2008-01-28 15:01:07 -08:00
mac80211 mac80211: fix rx flow sparse errors, make functions static 2008-01-28 15:10:46 -08:00
netfilter [NETNS]: Consolidate kernel netlink socket destruction. 2008-01-28 15:08:07 -08:00
netlabel [NETLABEL]: Spelling fixes 2007-12-20 14:03:11 -08:00
netlink [NETNS]: Namespace stop vs 'ip r l' race. 2008-01-28 15:08:08 -08:00
netrom [NET]: Simple ctl_table to ctl_path conversions. 2008-01-28 15:01:07 -08:00
packet [PACKET]: Fix sparse warnings in af_packet.c 2008-01-28 15:00:48 -08:00
rfkill rfkill: call rfkill_led_trigger_unregister() on error 2008-01-20 20:31:36 -08:00
rose [ROSE]: Supress sparse warnings 2008-01-28 15:02:44 -08:00
rxrpc [RXRPC]: Use cpu_to_be32() where appropriate. 2008-01-28 14:58:04 -08:00
sched [PKT_SCHED] net classifier: style cleanup's 2008-01-28 15:08:42 -08:00
sctp [SCTP]: Correctly initialize error when parameter validation failed. 2008-01-28 15:08:11 -08:00
sunrpc [NET]: Add some acquires/releases sparse annotations. 2008-01-28 15:00:31 -08:00
tipc [TIPC]: Use tipc_port_unlock 2008-01-28 15:01:05 -08:00
unix [NET]: Add some acquires/releases sparse annotations. 2008-01-28 15:00:31 -08:00
wanrouter [NET]: Make /proc/net per network namespace 2007-10-10 16:49:06 -07:00
wireless WEXT: remove unused variable 2008-01-28 15:10:48 -08:00
x25 [AF_X25]: constify function pointer tables 2008-01-28 15:10:55 -08:00
xfrm [NETNS]: Consolidate kernel netlink socket destruction. 2008-01-28 15:08:07 -08:00
compat.c [NETFILTER]: ip6_tables: add compat support 2008-01-28 14:58:36 -08:00
Kconfig [NETFILTER]: Add CONFIG_NETFILTER_ADVANCED option 2008-01-28 14:59:12 -08:00
Makefile [CAN]: Add PF_CAN core module 2008-01-28 14:54:10 -08:00
nonet.c
socket.c [NET] sysctl: make sysctl_somaxconn per-namespace 2008-01-28 14:56:57 -08:00
sysctl_net.c [NET]: Remove the empty net_table 2008-01-28 14:56:29 -08:00
TUNABLE