[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH 3/4] x86: replace remaining uses of __get_cpu_var()
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@xxxxxxxx> --- a/xen/arch/x86/acpi/cpuidle_menu.c +++ b/xen/arch/x86/acpi/cpuidle_menu.c @@ -146,7 +146,7 @@ static inline int which_bucket(unsigned 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( 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_proce 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_gove 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; } --- a/xen/arch/x86/irq.c +++ b/xen/arch/x86/irq.c @@ -651,7 +651,7 @@ void irq_move_cleanup_interrupt(struct c 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 c 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); --- a/xen/include/asm-x86/irq.h +++ b/xen/include/asm-x86/irq.h @@ -68,12 +68,12 @@ DECLARE_PER_CPU(struct cpu_user_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; _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |