From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933988AbdHYPzx (ORCPT ); Fri, 25 Aug 2017 11:55:53 -0400 Received: from mail.kernel.org ([198.145.29.99]:37654 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933674AbdHYPzw (ORCPT ); Fri, 25 Aug 2017 11:55:52 -0400 DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7E3B621A1A Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=goodmis.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=rostedt@goodmis.org Date: Fri, 25 Aug 2017 11:55:49 -0400 From: Steven Rostedt To: Thomas Gleixner Cc: LKML , Ingo Molnar , Peter Anvin , Peter Zijlstra , Andy Lutomirski , Borislav Petkov Subject: Re: [patch 11/41] x86/irqwork: Get rid of duplicated tracing interrupt code Message-ID: <20170825115549.3d3abb08@gandalf.local.home> In-Reply-To: <20170825104413.840888238@linutronix.de> References: <20170825103103.287814238@linutronix.de> <20170825104413.840888238@linutronix.de> X-Mailer: Claws Mail 3.14.0 (GTK+ 2.24.31; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 25 Aug 2017 12:31:14 +0200 Thomas Gleixner wrote: > --- a/arch/x86/kernel/irq_work.c > +++ b/arch/x86/kernel/irq_work.c > @@ -11,24 +11,12 @@ > #include > #include > > -static inline void __smp_irq_work_interrupt(void) > -{ > - inc_irq_stat(apic_irq_work_irqs); > - irq_work_run(); > -} > - > __visible void __irq_entry smp_irq_work_interrupt(struct pt_regs *regs) > { > ipi_entering_ack_irq(); > - __smp_irq_work_interrupt(); > - exiting_irq(); > -} > - > -__visible void __irq_entry smp_trace_irq_work_interrupt(struct pt_regs *regs) > -{ > - ipi_entering_ack_irq(); > + inc_irq_stat(apic_irq_work_irqs); > trace_irq_work_entry(IRQ_WORK_VECTOR); > - __smp_irq_work_interrupt(); This changes from what we use to have: Original: ipi_entering_ack_irq(); trace_irq_work_entry(IRQ_WORK_VECTOR); inc_irq_stat(apic_irq_work_irqs); irq_work_run(); Patched: ipi_entering_ack_irq(); inc_irq_stat(apic_irq_work_irqs); trace_irq_work_entry(IRQ_WORK_VECTOR); irq_work_run(); Is there a reason for the swap? It's not mentioned in the change log. Also, tracepoints can issue new irq works. I don't think that would be a problem here, as interrupts are disabled in this path. Just wanted to point it out. -- Steve > + irq_work_run(); > trace_irq_work_exit(IRQ_WORK_VECTOR); > exiting_irq(); > } >