Loading arch/x86/include/asm/idle.h +5 −0 Original line number Diff line number Diff line Loading @@ -8,8 +8,13 @@ struct notifier_block; void idle_notifier_register(struct notifier_block *n); void idle_notifier_unregister(struct notifier_block *n); #ifdef CONFIG_X86_64 void enter_idle(void); void exit_idle(void); #else /* !CONFIG_X86_64 */ static inline void enter_idle(void) { } static inline void exit_idle(void) { } #endif /* CONFIG_X86_64 */ void c1e_remove_cpu(int cpu); Loading arch/x86/kernel/apic.c +0 −6 Original line number Diff line number Diff line Loading @@ -814,9 +814,7 @@ void smp_apic_timer_interrupt(struct pt_regs *regs) * Besides, if we don't timer interrupts ignore the global * interrupt lock, which is the WrongThing (tm) to do. */ #ifdef CONFIG_X86_64 exit_idle(); #endif irq_enter(); local_apic_timer_interrupt(); irq_exit(); Loading Loading @@ -1682,9 +1680,7 @@ void smp_spurious_interrupt(struct pt_regs *regs) { u32 v; #ifdef CONFIG_X86_64 exit_idle(); #endif irq_enter(); /* * Check if this really is a spurious interrupt and ACK it Loading Loading @@ -1713,9 +1709,7 @@ void smp_error_interrupt(struct pt_regs *regs) { u32 v, v1; #ifdef CONFIG_X86_64 exit_idle(); #endif irq_enter(); /* First tickle the hardware, only then report what went on. -- REW */ v = apic_read(APIC_ESR); Loading arch/x86/kernel/io_apic.c +1 −2 Original line number Diff line number Diff line Loading @@ -2216,10 +2216,9 @@ static void set_ir_ioapic_affinity_irq(unsigned int irq, cpumask_t mask) asmlinkage void smp_irq_move_cleanup_interrupt(void) { unsigned vector, me; ack_APIC_irq(); #ifdef CONFIG_X86_64 exit_idle(); #endif irq_enter(); me = smp_processor_id(); Loading Loading
arch/x86/include/asm/idle.h +5 −0 Original line number Diff line number Diff line Loading @@ -8,8 +8,13 @@ struct notifier_block; void idle_notifier_register(struct notifier_block *n); void idle_notifier_unregister(struct notifier_block *n); #ifdef CONFIG_X86_64 void enter_idle(void); void exit_idle(void); #else /* !CONFIG_X86_64 */ static inline void enter_idle(void) { } static inline void exit_idle(void) { } #endif /* CONFIG_X86_64 */ void c1e_remove_cpu(int cpu); Loading
arch/x86/kernel/apic.c +0 −6 Original line number Diff line number Diff line Loading @@ -814,9 +814,7 @@ void smp_apic_timer_interrupt(struct pt_regs *regs) * Besides, if we don't timer interrupts ignore the global * interrupt lock, which is the WrongThing (tm) to do. */ #ifdef CONFIG_X86_64 exit_idle(); #endif irq_enter(); local_apic_timer_interrupt(); irq_exit(); Loading Loading @@ -1682,9 +1680,7 @@ void smp_spurious_interrupt(struct pt_regs *regs) { u32 v; #ifdef CONFIG_X86_64 exit_idle(); #endif irq_enter(); /* * Check if this really is a spurious interrupt and ACK it Loading Loading @@ -1713,9 +1709,7 @@ void smp_error_interrupt(struct pt_regs *regs) { u32 v, v1; #ifdef CONFIG_X86_64 exit_idle(); #endif irq_enter(); /* First tickle the hardware, only then report what went on. -- REW */ v = apic_read(APIC_ESR); Loading
arch/x86/kernel/io_apic.c +1 −2 Original line number Diff line number Diff line Loading @@ -2216,10 +2216,9 @@ static void set_ir_ioapic_affinity_irq(unsigned int irq, cpumask_t mask) asmlinkage void smp_irq_move_cleanup_interrupt(void) { unsigned vector, me; ack_APIC_irq(); #ifdef CONFIG_X86_64 exit_idle(); #endif irq_enter(); me = smp_processor_id(); Loading