aboutsummaryrefslogtreecommitdiffstats
path: root/net/core
diff options
context:
space:
mode:
authorJohn Hawkes <hawkes@sgi.com>2005-10-13 12:30:31 -0400
committerArnaldo Carvalho de Melo <acme@mandriva.com>2005-10-25 21:54:01 -0400
commit670c02c2bfd2c8a305a90f5285409a7b0a8fd630 (patch)
treea6e7d773d72e2716bf675dbb2679e8ada21b4e21 /net/core
parent900e0143a575406146ac531fcb91790f166ce52f (diff)
[NET]: Wider use of for_each_*cpu()
In 'net' change the explicit use of for-loops and NR_CPUS into the general for_each_cpu() or for_each_online_cpu() constructs, as appropriate. This widens the scope of potential future optimizations of the general constructs, as well as takes advantage of the existing optimizations of first_cpu() and next_cpu(), which is advantageous when the true CPU count is much smaller than NR_CPUS. Signed-off-by: John Hawkes <hawkes@sgi.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Diffstat (limited to 'net/core')
-rw-r--r--net/core/neighbour.c5
-rw-r--r--net/core/pktgen.c5
2 files changed, 2 insertions, 8 deletions
diff --git a/net/core/neighbour.c b/net/core/neighbour.c
index 1dcf7fa1f0fe..e68700f950a5 100644
--- a/net/core/neighbour.c
+++ b/net/core/neighbour.c
@@ -1625,12 +1625,9 @@ static int neightbl_fill_info(struct neigh_table *tbl, struct sk_buff *skb,
1625 1625
1626 memset(&ndst, 0, sizeof(ndst)); 1626 memset(&ndst, 0, sizeof(ndst));
1627 1627
1628 for (cpu = 0; cpu < NR_CPUS; cpu++) { 1628 for_each_cpu(cpu) {
1629 struct neigh_statistics *st; 1629 struct neigh_statistics *st;
1630 1630
1631 if (!cpu_possible(cpu))
1632 continue;
1633
1634 st = per_cpu_ptr(tbl->stats, cpu); 1631 st = per_cpu_ptr(tbl->stats, cpu);
1635 ndst.ndts_allocs += st->allocs; 1632 ndst.ndts_allocs += st->allocs;
1636 ndst.ndts_destroys += st->destroys; 1633 ndst.ndts_destroys += st->destroys;
diff --git a/net/core/pktgen.c b/net/core/pktgen.c
index 5f043d346694..00116d8b3b28 100644
--- a/net/core/pktgen.c
+++ b/net/core/pktgen.c
@@ -3065,12 +3065,9 @@ static int __init pg_init(void)
3065 /* Register us to receive netdevice events */ 3065 /* Register us to receive netdevice events */
3066 register_netdevice_notifier(&pktgen_notifier_block); 3066 register_netdevice_notifier(&pktgen_notifier_block);
3067 3067
3068 for (cpu = 0; cpu < NR_CPUS ; cpu++) { 3068 for_each_online_cpu(cpu) {
3069 char buf[30]; 3069 char buf[30];
3070 3070
3071 if (!cpu_online(cpu))
3072 continue;
3073
3074 sprintf(buf, "kpktgend_%i", cpu); 3071 sprintf(buf, "kpktgend_%i", cpu);
3075 pktgen_create_thread(buf, cpu); 3072 pktgen_create_thread(buf, cpu);
3076 } 3073 }