]> xenbits.xensource.com Git - people/dariof/xen.git/commitdiff
x86: replace remaining uses of __get_cpu_var()
authorJan Beulich <jbeulich@suse.com>
Tue, 25 Jun 2019 15:34:11 +0000 (17:34 +0200)
committerJan Beulich <jbeulich@suse.com>
Tue, 25 Jun 2019 15:34:11 +0000 (17:34 +0200)
this_cpu() is shorter, and when there are multiple uses in a function
per_cpu() it's also more efficient.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
xen/arch/x86/acpi/cpuidle_menu.c
xen/arch/x86/irq.c
xen/include/asm-x86/irq.h

index bae16f81dac09278cd9b773d26f426a3d432858f..6ff5fb8ff2159777026f9914865afe7c0eac6705 100644 (file)
@@ -146,7 +146,7 @@ static inline int which_bucket(unsigned int duration)
 
 static inline s_time_t avg_intr_interval_us(void)
 {
-    struct menu_device *data = &__get_cpu_var(menu_devices);
+    struct menu_device *data = &this_cpu(menu_devices);
     s_time_t    duration, now;
     s_time_t    avg_interval;
     unsigned int irq_sum;
@@ -187,7 +187,7 @@ static unsigned int get_sleep_length_us(void)
 
 static int menu_select(struct acpi_processor_power *power)
 {
-    struct menu_device *data = &__get_cpu_var(menu_devices);
+    struct menu_device *data = &this_cpu(menu_devices);
     int i;
     s_time_t    io_interval;
 
@@ -239,7 +239,7 @@ static int menu_select(struct acpi_processor_power *power)
 
 static void menu_reflect(struct acpi_processor_power *power)
 {
-    struct menu_device *data = &__get_cpu_var(menu_devices);
+    struct menu_device *data = &this_cpu(menu_devices);
     u64 new_factor;
 
     data->measured_us = power->last_residency;
@@ -294,7 +294,8 @@ static struct cpuidle_governor menu_governor =
 struct cpuidle_governor *cpuidle_current_governor = &menu_governor;
 void menu_get_trace_data(u32 *expected, u32 *pred)
 {
-    struct menu_device *data = &__get_cpu_var(menu_devices);
+    const struct menu_device *data = &this_cpu(menu_devices);
+
     *expected = data->expected_us;
     *pred = data->predicted_us;
 }
index ccee68ff6985ceb46b934c347fd39bf29fdbaa52..51322625c3104db4bbea31602cc5d67cf663e170 100644 (file)
@@ -651,7 +651,7 @@ void irq_move_cleanup_interrupt(struct cpu_user_regs *regs)
         unsigned int irq;
         unsigned int irr;
         struct irq_desc *desc;
-        irq = __get_cpu_var(vector_irq)[vector];
+        irq = per_cpu(vector_irq, me)[vector];
 
         if ((int)irq < 0)
             continue;
@@ -690,7 +690,7 @@ void irq_move_cleanup_interrupt(struct cpu_user_regs *regs)
         TRACE_3D(TRC_HW_IRQ_MOVE_CLEANUP,
                  irq, vector, smp_processor_id());
 
-        __get_cpu_var(vector_irq)[vector] = ~irq;
+        per_cpu(vector_irq, me)[vector] = ~irq;
         desc->arch.move_cleanup_count--;
 
         if ( desc->arch.move_cleanup_count == 0 )
@@ -822,7 +822,7 @@ void do_IRQ(struct cpu_user_regs *regs)
     uint32_t          tsc_in;
     struct irq_desc  *desc;
     unsigned int      vector = (u8)regs->entry_vector;
-    int irq = __get_cpu_var(vector_irq[vector]);
+    int               irq = this_cpu(vector_irq)[vector];
     struct cpu_user_regs *old_regs = set_irq_regs(regs);
     
     perfc_incr(irqs);
index ee26e6d5481921487d6b6de498bf55e47717095e..c0c6e7c799e3a9277cbcdedca5c1000900d232bd 100644 (file)
@@ -68,12 +68,12 @@ DECLARE_PER_CPU(struct cpu_user_regs *, __irq_regs);
 
 static inline struct cpu_user_regs *get_irq_regs(void)
 {
-       return __get_cpu_var(__irq_regs);
+       return this_cpu(__irq_regs);
 }
 
 static inline struct cpu_user_regs *set_irq_regs(struct cpu_user_regs *new_regs)
 {
-       struct cpu_user_regs *old_regs, **pp_regs = &__get_cpu_var(__irq_regs);
+       struct cpu_user_regs *old_regs, **pp_regs = &this_cpu(__irq_regs);
 
        old_regs = *pp_regs;
        *pp_regs = new_regs;