Subject: Convert remaining __get_cpu_var uses

During the 3.18 merge period additional __get_cpu_var uses were
added. The patch converts these to this_cpu_ptr().

[This does not address the powerpc issue where the conversion
patches were routed directly to the powerpc maintainers but were
not applied in the merge period. Will have to be handled separately]

Signed-off-by: Christoph Lameter <[email protected]>

Index: linux/arch/arm/xen/mm32.c
===================================================================
--- linux.orig/arch/arm/xen/mm32.c
+++ linux/arch/arm/xen/mm32.c
@@ -56,7 +56,7 @@ static struct notifier_block xen_mm32_cp
 static void* xen_mm32_remap_page(dma_addr_t handle)
 {
        unsigned long virt = get_cpu_var(xen_mm32_scratch_virt);
-       pte_t *ptep = __get_cpu_var(xen_mm32_scratch_ptep);
+       pte_t *ptep = __this_cpu_read(xen_mm32_scratch_ptep);

        *ptep = pfn_pte(handle >> PAGE_SHIFT, PAGE_KERNEL);
        local_flush_tlb_kernel_page(virt);
Index: linux/arch/arm64/kernel/psci.c
===================================================================
--- linux.orig/arch/arm64/kernel/psci.c
+++ linux/arch/arm64/kernel/psci.c
@@ -511,7 +511,7 @@ static int cpu_psci_cpu_kill(unsigned in

 static int psci_suspend_finisher(unsigned long index)
 {
-       struct psci_power_state *state = __get_cpu_var(psci_power_state);
+       struct psci_power_state *state = __this_cpu_read(psci_power_state);

        return psci_ops.cpu_suspend(state[index - 1],
                                    virt_to_phys(cpu_resume));
@@ -520,7 +520,7 @@ static int psci_suspend_finisher(unsigne
 static int __maybe_unused cpu_psci_cpu_suspend(unsigned long index)
 {
        int ret;
-       struct psci_power_state *state = __get_cpu_var(psci_power_state);
+       struct psci_power_state *state = __this_cpu_read(psci_power_state);
        /*
         * idle state index 0 corresponds to wfi, should never be called
         * from the cpu_suspend operations
Index: linux/kernel/irq_work.c
===================================================================
--- linux.orig/kernel/irq_work.c
+++ linux/kernel/irq_work.c
@@ -175,11 +175,11 @@ EXPORT_SYMBOL_GPL(irq_work_run);

 void irq_work_tick(void)
 {
-       struct llist_head *raised = &__get_cpu_var(raised_list);
+       struct llist_head *raised = this_cpu_ptr(&raised_list);

        if (!llist_empty(raised) && !arch_irq_work_has_interrupt())
                irq_work_run_list(raised);
-       irq_work_run_list(&__get_cpu_var(lazy_list));
+       irq_work_run_list(this_cpu_ptr(&lazy_list));
 }

 /*
Index: linux/kernel/time/tick-sched.c
===================================================================
--- linux.orig/kernel/time/tick-sched.c
+++ linux/kernel/time/tick-sched.c
@@ -235,7 +235,7 @@ void tick_nohz_full_kick(void)
        if (!tick_nohz_full_cpu(smp_processor_id()))
                return;

-       irq_work_queue(&__get_cpu_var(nohz_full_kick_work));
+       irq_work_queue(this_cpu_ptr(&nohz_full_kick_work));
 }

 /*
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to