Pull pvops into release branch
[sfrench/cifs-2.6.git] / arch / ia64 / kernel / smp.c
index 3676468612b607fbfacbd4447941b1e1253cea48..2ea4199d9c57895a7814282212033267895f28e6 100644 (file)
@@ -58,7 +58,7 @@ static struct local_tlb_flush_counts {
        unsigned int count;
 } __attribute__((__aligned__(32))) local_tlb_flush_counts[NR_CPUS];
 
-static DEFINE_PER_CPU(unsigned int, shadow_flush_counts[NR_CPUS]) ____cacheline_aligned;
+static DEFINE_PER_CPU(unsigned short, shadow_flush_counts[NR_CPUS]) ____cacheline_aligned;
 
 #define IPI_CALL_FUNC          0
 #define IPI_CPU_STOP           1
@@ -166,11 +166,11 @@ send_IPI_allbutself (int op)
  * Called with preemption disabled.
  */
 static inline void
-send_IPI_mask(cpumask_t mask, int op)
+send_IPI_mask(const struct cpumask *mask, int op)
 {
        unsigned int cpu;
 
-       for_each_cpu_mask(cpu, mask) {
+       for_each_cpu(cpu, mask) {
                        send_IPI_single(cpu, op);
        }
 }
@@ -254,7 +254,7 @@ smp_local_flush_tlb(void)
 void
 smp_flush_tlb_cpumask(cpumask_t xcpumask)
 {
-       unsigned int *counts = __ia64_per_cpu_var(shadow_flush_counts);
+       unsigned short *counts = __ia64_per_cpu_var(shadow_flush_counts);
        cpumask_t cpumask = xcpumask;
        int mycpu, cpu, flush_mycpu = 0;
 
@@ -262,7 +262,7 @@ smp_flush_tlb_cpumask(cpumask_t xcpumask)
        mycpu = smp_processor_id();
 
        for_each_cpu_mask(cpu, cpumask)
-               counts[cpu] = local_tlb_flush_counts[cpu].count;
+               counts[cpu] = local_tlb_flush_counts[cpu].count & 0xffff;
 
        mb();
        for_each_cpu_mask(cpu, cpumask) {
@@ -276,7 +276,7 @@ smp_flush_tlb_cpumask(cpumask_t xcpumask)
                smp_local_flush_tlb();
 
        for_each_cpu_mask(cpu, cpumask)
-               while(counts[cpu] == local_tlb_flush_counts[cpu].count)
+               while(counts[cpu] == (local_tlb_flush_counts[cpu].count & 0xffff))
                        udelay(FLUSH_DELAY);
 
        preempt_enable();
@@ -316,7 +316,7 @@ void arch_send_call_function_single_ipi(int cpu)
        send_IPI_single(cpu, IPI_CALL_FUNC_SINGLE);
 }
 
-void arch_send_call_function_ipi(cpumask_t mask)
+void arch_send_call_function_ipi_mask(const struct cpumask *mask)
 {
        send_IPI_mask(mask, IPI_CALL_FUNC);
 }