Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1722349

[tip:x86/apic] x86/apic: Remove the duplicated tracing version of local_timer_interrupt()

From tip-bot for Thomas Gleixner <tipbot@zytor.com>
Newsgroups linux.kernel
Subject [tip:x86/apic] x86/apic: Remove the duplicated tracing version of local_timer_interrupt()
Date 2017-08-29 13:20 +0200
Message-ID <ujMIQ-1VL-43@gated-at.bofh.it> (permalink)
References <ujmln-2xk-79@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Commit-ID:  302a98f896bbd2feb1393d98e8b9febeb101db6e
Gitweb:     http://git.kernel.org/tip/302a98f896bbd2feb1393d98e8b9febeb101db6e
Author:     Thomas Gleixner <tglx@linutronix.de>
AuthorDate: Mon, 28 Aug 2017 08:47:23 +0200
Committer:  Ingo Molnar <mingo@kernel.org>
CommitDate: Tue, 29 Aug 2017 11:42:24 +0200

x86/apic: Remove the duplicated tracing version of local_timer_interrupt()

The two NOP5s are noise in the rest of the work which is done by the timer
interrupt and modern CPUs are pretty good in optimizing NOPs anyway.

Get rid of the interrupt handler duplication and move the tracepoints into
the regular handler.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20170828064956.751247330@linutronix.de
Signed-off-by: Ingo Molnar <mingo@kernel.org>
---
 arch/x86/include/asm/hw_irq.h |  2 +-
 arch/x86/kernel/apic/apic.c   | 19 -------------------
 2 files changed, 1 insertion(+), 20 deletions(-)

diff --git a/arch/x86/include/asm/hw_irq.h b/arch/x86/include/asm/hw_irq.h
index d6dbafb..44137bb 100644
--- a/arch/x86/include/asm/hw_irq.h
+++ b/arch/x86/include/asm/hw_irq.h
@@ -48,7 +48,6 @@ extern asmlinkage void call_function_single_interrupt(void);
 
 #ifdef CONFIG_TRACING
 /* Interrupt handlers registered during init_IRQ */
-extern void trace_apic_timer_interrupt(void);
 extern void trace_x86_platform_ipi(void);
 extern void trace_error_interrupt(void);
 extern void trace_irq_work_interrupt(void);
@@ -59,6 +58,7 @@ extern void trace_threshold_interrupt(void);
 extern void trace_deferred_error_interrupt(void);
 extern void trace_call_function_interrupt(void);
 extern void trace_call_function_single_interrupt(void);
+#define trace_apic_timer_interrupt	apic_timer_interrupt
 #define trace_irq_move_cleanup_interrupt  irq_move_cleanup_interrupt
 #define trace_reboot_interrupt  reboot_interrupt
 #define trace_kvm_posted_intr_ipi kvm_posted_intr_ipi
diff --git a/arch/x86/kernel/apic/apic.c b/arch/x86/kernel/apic/apic.c
index 8996ef1..7a57b54 100644
--- a/arch/x86/kernel/apic/apic.c
+++ b/arch/x86/kernel/apic/apic.c
@@ -1038,25 +1038,6 @@ __visible void __irq_entry smp_apic_timer_interrupt(struct pt_regs *regs)
 	 * interrupt lock, which is the WrongThing (tm) to do.
 	 */
 	entering_ack_irq();
-	local_apic_timer_interrupt();
-	exiting_irq();
-
-	set_irq_regs(old_regs);
-}
-
-__visible void __irq_entry smp_trace_apic_timer_interrupt(struct pt_regs *regs)
-{
-	struct pt_regs *old_regs = set_irq_regs(regs);
-
-	/*
-	 * NOTE! We'd better ACK the irq immediately,
-	 * because timer handling can be slow.
-	 *
-	 * update_process_times() expects us to have done irq_enter().
-	 * Besides, if we don't timer interrupts ignore the global
-	 * interrupt lock, which is the WrongThing (tm) to do.
-	 */
-	entering_ack_irq();
 	trace_local_timer_entry(LOCAL_TIMER_VECTOR);
 	local_apic_timer_interrupt();
 	trace_local_timer_exit(LOCAL_TIMER_VECTOR);

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[patch V3 00/44] x86: Cleanup IDT code Thomas Gleixner <tglx@linutronix.de> - 2017-08-28 09:10 +0200
  [patch V3 13/44] x86/mce: Remove duplicated tracing interrupt code Thomas Gleixner <tglx@linutronix.de> - 2017-08-28 09:10 +0200
    [tip:x86/apic] x86/mce: Remove duplicated tracing interrupt code tip-bot for Thomas Gleixner <tipbot@zytor.com> - 2017-08-29 13:20 +0200
  [patch V3 05/44] x86/boot: Move EISA setup to a proper place Thomas Gleixner <tglx@linutronix.de> - 2017-08-28 09:10 +0200
    [tip:x86/apic] x86/boot: Move EISA setup to a separate file tip-bot for Thomas Gleixner <tipbot@zytor.com> - 2017-08-29 13:20 +0200
  [patch V3 15/44] x86/smp: Use static key for reschedule interrupt  tracing Thomas Gleixner <tglx@linutronix.de> - 2017-08-28 09:10 +0200
    [tip:x86/apic] x86/smp: Use static key for reschedule interrupt  tracing tip-bot for Thomas Gleixner <tipbot@zytor.com> - 2017-08-29 13:20 +0200
  [patch V3 12/44] x86/irqwork: Get rid of duplicated tracing interrupt  code Thomas Gleixner <tglx@linutronix.de> - 2017-08-28 09:10 +0200
    [tip:x86/apic] x86/irqwork: Get rid of duplicated tracing interrupt  code tip-bot for Thomas Gleixner <tipbot@zytor.com> - 2017-08-29 13:20 +0200
  [patch V3 10/44] x86/irq: Get rid of duplicated  trace_x86_platform_ipi() code Thomas Gleixner <tglx@linutronix.de> - 2017-08-28 09:10 +0200
    [tip:x86/apic] x86/irq: Get rid of duplicated  trace_x86_platform_ipi() code tip-bot for Thomas Gleixner <tipbot@zytor.com> - 2017-08-29 13:20 +0200
  [patch V3 06/44] x86/tracing: Introduce a static key for exception  tracing Thomas Gleixner <tglx@linutronix.de> - 2017-08-28 09:10 +0200
    [tip:x86/apic] x86/tracing: Introduce a static key for exception  tracing tip-bot for Thomas Gleixner <tipbot@zytor.com> - 2017-08-29 13:20 +0200
  [patch V3 08/44] x86/apic: Remove the duplicated tracing version of  local_timer_interrupt Thomas Gleixner <tglx@linutronix.de> - 2017-08-28 09:10 +0200
    [tip:x86/apic] x86/apic: Remove the duplicated tracing version of  local_timer_interrupt() tip-bot for Thomas Gleixner <tipbot@zytor.com> - 2017-08-29 13:20 +0200
  [patch V3 14/44] x86/smp: Remove pointless duplicated interrupt code Thomas Gleixner <tglx@linutronix.de> - 2017-08-28 09:10 +0200
    [tip:x86/apic] x86/smp: Remove pointless duplicated interrupt code tip-bot for Thomas Gleixner <tipbot@zytor.com> - 2017-08-29 13:20 +0200
  [patch V3 04/44] x86/irq: Remove duplicated used_vectors definition Thomas Gleixner <tglx@linutronix.de> - 2017-08-28 09:10 +0200
    [tip:x86/apic] x86/irq: Remove duplicated used_vectors definition tip-bot for Thomas Gleixner <tipbot@zytor.com> - 2017-08-29 13:20 +0200
  [patch V3 03/44] x86/irq: Get rid of the first_system_vector bogisity Thomas Gleixner <tglx@linutronix.de> - 2017-08-28 09:10 +0200
    [tip:x86/apic] x86/irq: Get rid of the 'first_system_vector'  indirection bogosity tip-bot for Thomas Gleixner <tipbot@zytor.com> - 2017-08-29 13:20 +0200
  [patch V3 28/44] x86/idt: Create file for IDT related code Thomas Gleixner <tglx@linutronix.de> - 2017-08-28 09:10 +0200
    [tip:x86/apic] x86/idt: Create file for IDT related code tip-bot for Thomas Gleixner <tipbot@zytor.com> - 2017-08-29 13:30 +0200

csiph-web