[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH 3/6] eliminate cpu_set()



Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>

--- a/xen/arch/ia64/linux-xen/acpi.c
+++ b/xen/arch/ia64/linux-xen/acpi.c
@@ -557,7 +557,7 @@ acpi_numa_processor_affinity_init(struct
            (pa->apic_id << 8) | (pa->local_sapic_eid);
        /* nid should be overridden as logical node id later */
        node_cpuid[srat_num_cpus].nid = pxm;
-       cpu_set(srat_num_cpus, early_cpu_possible_map);
+       cpumask_set_cpu(srat_num_cpus, &early_cpu_possible_map);
        srat_num_cpus++;
 }
 
@@ -917,7 +917,7 @@ __init void prefill_possible_map(void)
                possible, max((possible - available_cpus), 0));
 
        for (i = 0; i < possible; i++)
-               cpu_set(i, cpu_possible_map);
+               cpumask_set_cpu(i, &cpu_possible_map);
 }
 
 #ifndef XEN
--- a/xen/arch/ia64/linux-xen/setup.c
+++ b/xen/arch/ia64/linux-xen/setup.c
@@ -463,7 +463,7 @@ mark_bsp_online (void)
 {
 #ifdef CONFIG_SMP
        /* If we register an early console, allow CPU 0 to printk */
-       cpu_set(smp_processor_id(), cpu_online_map);
+       set_cpu_online(smp_processor_id(), 1);
 #endif
 }
 
--- a/xen/arch/ia64/linux-xen/smpboot.c
+++ b/xen/arch/ia64/linux-xen/smpboot.c
@@ -392,7 +392,7 @@ smp_callin (void)
 #else
        lock_ipi_calllock();
 #endif
-       cpu_set(cpuid, cpu_online_map);
+       set_cpu_online(cpuid, 1);
 #ifdef XEN
        unlock_ipi_calllock(flags);
 #else
@@ -437,7 +437,7 @@ smp_callin (void)
        /*
         * Allow the master to continue.
         */
-       cpu_set(cpuid, cpu_callin_map);
+       cpumask_set_cpu(cpuid, &cpu_callin_map);
        Dprintk("Stack on CPU %d at about %p\n",cpuid, &cpuid);
 }
 
@@ -625,8 +625,8 @@ smp_prepare_cpus (unsigned int max_cpus)
        /*
         * We have the boot CPU online for sure.
         */
-       cpu_set(0, cpu_online_map);
-       cpu_set(0, cpu_callin_map);
+       set_cpu_online(0, 1);
+       cpumask_set_cpu(0, &cpu_callin_map);
 
        local_cpu_data->loops_per_jiffy = loops_per_jiffy;
        ia64_cpu_to_sapicid[0] = boot_cpu_id;
@@ -652,8 +652,8 @@ smp_prepare_cpus (unsigned int max_cpus)
 
 void __devinit smp_prepare_boot_cpu(void)
 {
-       cpu_set(smp_processor_id(), cpu_online_map);
-       cpu_set(smp_processor_id(), cpu_callin_map);
+       set_cpu_online(smp_processor_id(), 1);
+       cpumask_set_cpu(smp_processor_id(), &cpu_callin_map);
        per_cpu(cpu_state, smp_processor_id()) = CPU_ONLINE;
 }
 
--- a/xen/arch/ia64/linux-xen/sn/kernel/sn2_smp.c
+++ b/xen/arch/ia64/linux-xen/sn/kernel/sn2_smp.c
@@ -214,7 +214,7 @@ sn2_global_tlb_purge(unsigned long start
        for_each_possible_cpu(cpu) {
                cnode = cpu_to_node(cpu);
                if (!node_isset(cnode, nodes_flushed)) {
-                       cpu_set(cpu, selected_cpus);
+                       cpumask_set_cpu(cpu, &selected_cpus);
                        i++;
                }
                node_set(cnode, nodes_flushed);
--- a/xen/arch/ia64/xen/mm_init.c
+++ b/xen/arch/ia64/xen/mm_init.c
@@ -38,7 +38,7 @@ ia64_mmu_init (void *my_cpu_data)
        ia64_set_psr(psr);
        ia64_srlz_i();
 #ifdef XEN
-       cpu_set(cpu, percpu_set);
+       cpumask_set_cpu(cpu, &percpu_set);
 #endif
 
        /*
--- a/xen/arch/ia64/xen/tlb_track.c
+++ b/xen/arch/ia64/xen/tlb_track.c
@@ -389,7 +389,7 @@ tlb_track_insert_or_dirty(struct tlb_tra
 
  found:
     BUG_ON(v->processor >= NR_CPUS);
-    cpu_set(v->processor, entry->pcpu_dirty_mask);
+    cpumask_set_cpu(v->processor, &entry->pcpu_dirty_mask);
     BUG_ON(v->vcpu_id >= NR_CPUS);
     vcpu_set(v->vcpu_id, entry->vcpu_dirty_mask);
     perfc_incr(tlb_track_iod_dirtied);
--- a/xen/arch/x86/acpi/cpu_idle.c
+++ b/xen/arch/x86/acpi/cpu_idle.c
@@ -271,9 +271,9 @@ static void mwait_idle_with_hints(unsign
      */
     if ( expires > NOW() || expires == 0 )
     {
-        cpu_set(cpu, cpuidle_mwait_flags);
+        cpumask_set_cpu(cpu, &cpuidle_mwait_flags);
         __mwait(eax, ecx);
-        cpu_clear(cpu, cpuidle_mwait_flags);
+        cpumask_clear_cpu(cpu, &cpuidle_mwait_flags);
     }
 
     if ( expires <= NOW() && expires > 0 )
--- a/xen/arch/x86/cpu/mcheck/mce_intel.c
+++ b/xen/arch/x86/cpu/mcheck/mce_intel.c
@@ -828,7 +828,7 @@ static void intel_machine_check(struct c
              * (the MSRs are sticky)
              */
             if (bs.pcc || !bs.recoverable)
-                cpu_set(smp_processor_id(), mce_fatal_cpus);
+                cpumask_set_cpu(smp_processor_id(), &mce_fatal_cpus);
         } else {
             if (mctc != NULL)
                 mctelem_commit(mctc);
@@ -849,7 +849,7 @@ static void intel_machine_check(struct c
 
     mce_barrier_enter(&mce_trap_bar);
     if ( mctc != NULL && mce_urgent_action(regs, mctc))
-        cpu_set(smp_processor_id(), mce_fatal_cpus);
+        cpumask_set_cpu(smp_processor_id(), &mce_fatal_cpus);
     mce_barrier_exit(&mce_trap_bar);
     /*
      * Wait until everybody has processed the trap.
--- a/xen/arch/x86/mpparse.c
+++ b/xen/arch/x86/mpparse.c
@@ -161,7 +161,7 @@ static int __devinit MP_processor_info_x
                        return cpu;
                }
                x86_cpu_to_apicid[cpu] = apicid;
-               cpu_set(cpu, cpu_present_map);
+               set_cpu_present(cpu, 1);
        }
 
        if (++num_processors > 8) {
--- a/xen/arch/x86/numa.c
+++ b/xen/arch/x86/numa.c
@@ -288,7 +288,7 @@ void __init numa_initmem_init(unsigned l
 
 __cpuinit void numa_add_cpu(int cpu)
 {
-       cpu_set(cpu, node_to_cpumask[cpu_to_node(cpu)]);
+       cpumask_set_cpu(cpu, &node_to_cpumask[cpu_to_node(cpu)]);
 } 
 
 void __cpuinit numa_set_node(int cpu, int node)
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -244,7 +244,7 @@ static void set_cpu_sibling_map(int cpu)
     int i;
     struct cpuinfo_x86 *c = cpu_data;
 
-    cpu_set(cpu, cpu_sibling_setup_map);
+    cpumask_set_cpu(cpu, &cpu_sibling_setup_map);
 
     if ( c[cpu].x86_num_siblings > 1 )
     {
@@ -380,7 +380,7 @@ void start_secondary(void *unused)
      */
     lock_vector_lock();
     __setup_vector_irq(cpu);
-    cpu_set(cpu, cpu_online_map);
+    set_cpu_online(cpu, 1);
     unlock_vector_lock();
 
     init_percpu_time();
@@ -804,8 +804,8 @@ void __init smp_prepare_cpus(unsigned in
 
 void __init smp_prepare_boot_cpu(void)
 {
-    cpu_set(smp_processor_id(), cpu_online_map);
-    cpu_set(smp_processor_id(), cpu_present_map);
+    set_cpu_online(smp_processor_id(), 1);
+    set_cpu_present(smp_processor_id(), 1);
 }
 
 static void
@@ -933,7 +933,7 @@ int cpu_add(uint32_t apic_id, uint32_t a
                    "break assumed cross-CPU TSC coherency.\n"
                    " ** Consider using boot parameter \"tsc=skewed\" "
                    "which forces TSC emulation where appropriate.\n", cpu);
-        cpu_set(cpu, tsc_sync_cpu_mask);
+        cpumask_set_cpu(cpu, &tsc_sync_cpu_mask);
     }
 
     srat_detect_node(cpu);
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -1573,7 +1573,7 @@ __initcall(disable_pit_irq);
 
 void pit_broadcast_enter(void)
 {
-    cpu_set(smp_processor_id(), pit_broadcast_mask);
+    cpumask_set_cpu(smp_processor_id(), &pit_broadcast_mask);
 }
 
 void pit_broadcast_exit(void)
--- a/xen/common/cpupool.c
+++ b/xen/common/cpupool.c
@@ -253,7 +253,7 @@ static long cpupool_unassign_cpu_helper(
 
     spin_lock(&cpupool_lock);
     ret = cpu_disable_scheduler(cpu);
-    cpu_set(cpu, cpupool_free_cpus);
+    cpumask_set_cpu(cpu, &cpupool_free_cpus);
     if ( !ret )
     {
         ret = schedule_cpu_switch(cpu, NULL);
@@ -409,8 +409,8 @@ void cpupool_rm_domain(struct domain *d)
 static void cpupool_cpu_add(unsigned int cpu)
 {
     spin_lock(&cpupool_lock);
-    cpu_clear(cpu, cpupool_locked_cpus);
-    cpu_set(cpu, cpupool_free_cpus);
+    cpumask_clear_cpu(cpu, &cpupool_locked_cpus);
+    cpumask_set_cpu(cpu, &cpupool_free_cpus);
     cpupool_assign_cpu_locked(cpupool0, cpu);
     spin_unlock(&cpupool_lock);
 }
@@ -428,7 +428,7 @@ static int cpupool_cpu_remove(unsigned i
     if ( !cpumask_test_cpu(cpu, cpupool0->cpu_valid))
         ret = -EBUSY;
     else
-        cpu_set(cpu, cpupool_locked_cpus);
+        cpumask_set_cpu(cpu, &cpupool_locked_cpus);
     spin_unlock(&cpupool_lock);
 
     return ret;
--- a/xen/common/sched_credit2.c
+++ b/xen/common/sched_credit2.c
@@ -1725,7 +1725,7 @@ csched_schedule(
     {
         /* Update the idle mask if necessary */
         if ( !cpumask_test_cpu(cpu, &rqd->idle) )
-            cpu_set(cpu, rqd->idle);
+            cpumask_set_cpu(cpu, &rqd->idle);
         /* Make sure avgload gets updated periodically even
          * if there's no activity */
         update_load(ops, rqd, NULL, 0, now);
@@ -1860,7 +1860,7 @@ static void activate_runqueue(struct csc
     INIT_LIST_HEAD(&rqd->runq);
     spin_lock_init(&rqd->lock);
 
-    cpu_set(rqi, prv->active_queues);
+    cpumask_set_cpu(rqi, &prv->active_queues);
 }
 
 static void deactivate_runqueue(struct csched_private *prv, int rqi)
@@ -1927,12 +1927,12 @@ static void init_pcpu(const struct sched
     /* Set the runqueue map */
     prv->runq_map[cpu]=rqi;
     
-    cpu_set(cpu, rqd->idle);
-    cpu_set(cpu, rqd->active);
+    cpumask_set_cpu(cpu, &rqd->idle);
+    cpumask_set_cpu(cpu, &rqd->active);
 
     spin_unlock(old_lock);
 
-    cpu_set(cpu, prv->initialized);
+    cpumask_set_cpu(cpu, &prv->initialized);
 
     spin_unlock_irqrestore(&prv->lock, flags);
 
--- a/xen/include/asm-ia64/linux-xen/asm/acpi.h
+++ b/xen/include/asm-ia64/linux-xen/asm/acpi.h
@@ -153,7 +153,7 @@ static inline void per_cpu_scan_finalize
        high_cpu = min(high_cpu + reserve_cpus, NR_CPUS);
 
        for (cpu = low_cpu; cpu < high_cpu; cpu++) {
-               cpu_set(cpu, early_cpu_possible_map);
+               cpumask_set_cpu(cpu, &early_cpu_possible_map);
                if (node_cpuid[cpu].nid == NUMA_NO_NODE) {
                        node_cpuid[cpu].nid = next_nid;
                        next_nid++;
--- a/xen/include/xen/cpumask.h
+++ b/xen/include/xen/cpumask.h
@@ -97,7 +97,6 @@ static inline unsigned int cpumask_check
        return cpu;
 }
 
-#define cpu_set(cpu, dst) cpumask_set_cpu(cpu, &(dst))
 static inline void cpumask_set_cpu(int cpu, volatile cpumask_t *dstp)
 {
        set_bit(cpumask_check(cpu), dstp->bits);
@@ -452,6 +451,14 @@ extern cpumask_t cpu_present_map;
 #define cpu_present(cpu)       ((cpu) == 0)
 #endif
 
+#define set_cpu_online(cpu, online) \
+    ((online) ? cpumask_set_cpu(cpu, &cpu_online_map) \
+              : cpumask_clear_cpu(cpu, &cpu_online_map))
+
+#define set_cpu_present(cpu, present) \
+    ((present) ? cpumask_set_cpu(cpu, &cpu_present_map) \
+               : cpumask_clear_cpu(cpu, &cpu_present_map))
+
 #define any_online_cpu(mask)                   \
 ({                                             \
        int cpu;                                \


Attachment: eliminate-cpu_set.patch
Description: Text document

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.