cpumask: prepare for iterators to only go to nr_cpu_ids/nr_cpumask_bits.: sparc

Previous thread: cpumask: prepare for iterators to only go to nr_cpu_ids/nr_cpumask_bits.: sparc64 by Linux Kernel Mailing List on Monday, March 30, 2009 - 7:00 pm. (1 message)

Next thread: cpumask: remove cpu_coregroup_map: sparc by Linux Kernel Mailing List on Monday, March 30, 2009 - 7:00 pm. (1 message)
From: Linux Kernel Mailing List
Date: Monday, March 30, 2009 - 7:00 pm

Gitweb:     http://git.kernel.org/linus/ec7c14bde80a11e325f26b339b8570a929e87223
Commit:     ec7c14bde80a11e325f26b339b8570a929e87223
Parent:     e305cb8f09b6e51940f78516f962ea819bc30ccd
Author:     Rusty Russell <rusty@rustcorp.com.au>
AuthorDate: Mon Mar 16 14:40:24 2009 +1030
Committer:  Rusty Russell <rusty@rustcorp.com.au>
CommitDate: Mon Mar 16 14:40:24 2009 +1030

    cpumask: prepare for iterators to only go to nr_cpu_ids/nr_cpumask_bits.: sparc
    
    Impact: cleanup, futureproof
    
    In fact, all cpumask ops will only be valid (in general) for bit
    numbers < nr_cpu_ids.  So use that instead of NR_CPUS in various
    places.
    
    This is always safe: no cpu number can be >= nr_cpu_ids, and
    nr_cpu_ids is initialized to NR_CPUS at boot.
    
    Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
    Signed-off-by: Mike Travis <travis@sgi.com>
    Acked-by: Ingo Molnar <mingo@elte.hu>
---
 arch/sparc/kernel/smp_32.c    |   11 +++++------
 arch/sparc/kernel/sun4d_smp.c |    9 ++++-----
 arch/sparc/kernel/sun4m_smp.c |    8 +++-----
 arch/sparc/mm/srmmu.c         |    2 +-
 4 files changed, 13 insertions(+), 17 deletions(-)

diff --git a/arch/sparc/kernel/smp_32.c b/arch/sparc/kernel/smp_32.c
index 88f43c5..be1ae37 100644
--- a/arch/sparc/kernel/smp_32.c
+++ b/arch/sparc/kernel/smp_32.c
@@ -70,13 +70,12 @@ void __init smp_cpus_done(unsigned int max_cpus)
 	extern void smp4m_smp_done(void);
 	extern void smp4d_smp_done(void);
 	unsigned long bogosum = 0;
-	int cpu, num;
+	int cpu, num = 0;
 
-	for (cpu = 0, num = 0; cpu < NR_CPUS; cpu++)
-		if (cpu_online(cpu)) {
-			num++;
-			bogosum += cpu_data(cpu).udelay_val;
-		}
+	for_each_online_cpu(cpu) {
+		num++;
+		bogosum += cpu_data(cpu).udelay_val;
+	}
 
 	printk("Total of %d processors activated (%lu.%02lu BogoMIPS).\n",
 		num, bogosum/(500000/HZ),
diff --git a/arch/sparc/kernel/sun4d_smp.c b/arch/sparc/kernel/sun4d_smp.c
index e85e6aa..54fb024 100644
--- ...
Previous thread: cpumask: prepare for iterators to only go to nr_cpu_ids/nr_cpumask_bits.: sparc64 by Linux Kernel Mailing List on Monday, March 30, 2009 - 7:00 pm. (1 message)

Next thread: cpumask: remove cpu_coregroup_map: sparc by Linux Kernel Mailing List on Monday, March 30, 2009 - 7:00 pm. (1 message)