kernel_optimize_test/net
Christoph Lameter 62bc62a873 page allocator: use a pre-calculated value instead of num_online_nodes() in fast paths
num_online_nodes() is called in a number of places but most often by the
page allocator when deciding whether the zonelist needs to be filtered
based on cpusets or the zonelist cache.  This is actually a heavy function
and touches a number of cache lines.

This patch stores the number of online nodes at boot time and updates the
value when nodes get onlined and offlined.  The value is then used in a
number of important paths in place of num_online_nodes().

[rientjes@google.com: do not override definition of node_set_online() with macro]
Signed-off-by: Christoph Lameter <cl@linux-foundation.org>
Signed-off-by: Mel Gorman <mel@csn.ul.ie>
Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Cc: Pekka Enberg <penberg@cs.helsinki.fi>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Cc: Dave Hansen <dave@linux.vnet.ibm.com>
Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>
Signed-off-by: David Rientjes <rientjes@google.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-06-16 19:47:35 -07:00
..
9p virtio: find_vqs/del_vqs virtio operations 2009-06-12 22:16:36 +09:30
802
8021q 8021q: Vlan driver should use rcu_barrier() on unload instead of syncronize_net() 2009-06-10 01:11:22 -07:00
appletalk appletalk: Use frag list abstraction interfaces. 2009-06-09 00:17:44 -07:00
atm net: fix network drivers ndo_start_xmit() return values (part 7) 2009-06-13 01:18:43 -07:00
ax25
bluetooth Bluetooth: Fix Kconfig issue with RFKILL integration 2009-06-14 15:30:51 +02:00
bridge bridge: Simplify interface for ATM LANE 2009-06-11 21:03:21 -07:00
can can: af_can.c use rcu_barrier() on module unload. 2009-06-10 01:11:24 -07:00
core Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2009-06-15 03:02:23 -07:00
dcb
dccp
decnet
dsa
econet
ethernet
ieee802154 ieee802154: Use '%Zu' printf format for size_t. 2009-06-11 02:10:19 -07:00
ipv4 ipv4: Fix fib_trie rebalancing 2009-06-15 02:31:29 -07:00
ipv6 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2009-06-15 03:02:23 -07:00
ipx
irda
iucv
key
lapb
llc
mac80211 net: use symbolic values for ndo_start_xmit() return codes 2009-06-13 01:18:50 -07:00
netfilter Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2009-06-15 03:02:23 -07:00
netlabel
netlink
netrom
packet
phonet phonet: Use frag list abstraction interfaces. 2009-06-09 00:24:06 -07:00
rds
rfkill rfkill: don't impose global states on resume (just restore the previous states) 2009-06-10 13:28:37 -04:00
rose net: use symbolic values for ndo_start_xmit() return codes 2009-06-13 01:18:50 -07:00
rxrpc
sched Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2009-06-15 03:02:23 -07:00
sctp sctp: protocol.c call rcu_barrier() on unload. 2009-06-10 01:11:25 -07:00
sunrpc page allocator: use a pre-calculated value instead of num_online_nodes() in fast paths 2009-06-16 19:47:35 -07:00
tipc
unix
wanrouter
wimax wimax: fix warning caused by not checking retval of rfkill_set_hw_state() 2009-06-11 11:12:48 -07:00
wireless cfg80211: fix rfkill locking problem 2009-06-10 13:28:41 -04:00
x25
xfrm xfrm: Use frag list abstraction interfaces. 2009-06-09 00:24:07 -07:00
compat.c
Kconfig net: add IEEE 802.15.4 socket family implementation 2009-06-09 05:25:32 -07:00
Makefile net: add IEEE 802.15.4 socket family implementation 2009-06-09 05:25:32 -07:00
nonet.c
socket.c
sysctl_net.c
TUNABLE