From: Daniel Thompson <daniel.thompson@linaro.org> To: Thomas Gleixner <tglx@linutronix.de>, Jason Cooper <jason@lakedaemon.net>, Russell King <linux@arm.linux.org.uk> Cc: Daniel Thompson <daniel.thompson@linaro.org>, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, patches@linaro.org, linaro-kernel@lists.linaro.org, John Stultz <john.stultz@linaro.org>, Sumit Semwal <sumit.semwal@linaro.org>, Dirk Behme <dirk.behme@de.bosch.com>, Daniel Drake <drake@endlessm.com>, Dmitry Pervushin <dpervushin@gmail.com>, Tim Sander <tim@krieglstein.org>, Stephen Boyd <sboyd@codeaurora.org> Subject: [RFC PATCH 0/5] irq: Allow irqs to be routed to NMI/FIQ Date: Tue, 13 Jan 2015 16:35:26 +0000 [thread overview] Message-ID: <1421166931-14134-1-git-send-email-daniel.thompson@linaro.org> (raw) Hi Thomas, Hi Russell: This RFC is particularly for your attention since it results directly from feedback I've received from both of you, albeit quite a few months ago now. This patchset demonstrates using FIQ to improve the quality of the PMU trace on ARM systems. To do so it introduces generic changes that allow irqs to be routed to NMI. This patchset applies on top of my own patchset: arm: Implement arch_trigger_all_cpu_backtrace http://thread.gmane.org/gmane.linux.kernel/1864829 I think the important points of this set are clear without reference to the previous patchset but the patches will not run (nor apply cleanly) without the previous patchset. Currently these patches strictly honour a request from Russell to avoid indirection (notifiers, etc) in the ARM default FIQ handler. I have therefore separated the request that an irq be routed to NMI from the installation of a handler for it. Avoiding indirection does raise some problems though, because it means we arrive in the PMU code without a context pointer. At present I have just added a global variables into the ARM PMU code in order to hold information about irq allocations in a form I can safely read from NMI. Daniel Thompson (5): arm: irq: Add a __nmi_count stat irq: Allow interrupts to routed to NMI (or similar) irq: gic: Add support for NMI routing arm: perf: Make v7 support FIQ-safe arm: perf: Use FIQ to handle PMU events. arch/arm/include/asm/hardirq.h | 1 + arch/arm/include/asm/pmu.h | 4 +++ arch/arm/kernel/irq.c | 7 +++- arch/arm/kernel/perf_event.c | 2 +- arch/arm/kernel/perf_event_cpu.c | 35 +++++++++++++++++-- arch/arm/kernel/perf_event_v7.c | 11 ++---- arch/arm/kernel/traps.c | 15 +++++--- drivers/irqchip/irq-gic.c | 75 ++++++++++++++++++++++++++++++---------- include/linux/interrupt.h | 20 +++++++++++ include/linux/irq.h | 2 ++ include/linux/irqchip/arm-gic.h | 8 ++++- kernel/irq/manage.c | 29 ++++++++++++++-- 12 files changed, 169 insertions(+), 40 deletions(-) -- 1.9.3
WARNING: multiple messages have this Message-ID (diff)
From: daniel.thompson@linaro.org (Daniel Thompson) To: linux-arm-kernel@lists.infradead.org Subject: [RFC PATCH 0/5] irq: Allow irqs to be routed to NMI/FIQ Date: Tue, 13 Jan 2015 16:35:26 +0000 [thread overview] Message-ID: <1421166931-14134-1-git-send-email-daniel.thompson@linaro.org> (raw) Hi Thomas, Hi Russell: This RFC is particularly for your attention since it results directly from feedback I've received from both of you, albeit quite a few months ago now. This patchset demonstrates using FIQ to improve the quality of the PMU trace on ARM systems. To do so it introduces generic changes that allow irqs to be routed to NMI. This patchset applies on top of my own patchset: arm: Implement arch_trigger_all_cpu_backtrace http://thread.gmane.org/gmane.linux.kernel/1864829 I think the important points of this set are clear without reference to the previous patchset but the patches will not run (nor apply cleanly) without the previous patchset. Currently these patches strictly honour a request from Russell to avoid indirection (notifiers, etc) in the ARM default FIQ handler. I have therefore separated the request that an irq be routed to NMI from the installation of a handler for it. Avoiding indirection does raise some problems though, because it means we arrive in the PMU code without a context pointer. At present I have just added a global variables into the ARM PMU code in order to hold information about irq allocations in a form I can safely read from NMI. Daniel Thompson (5): arm: irq: Add a __nmi_count stat irq: Allow interrupts to routed to NMI (or similar) irq: gic: Add support for NMI routing arm: perf: Make v7 support FIQ-safe arm: perf: Use FIQ to handle PMU events. arch/arm/include/asm/hardirq.h | 1 + arch/arm/include/asm/pmu.h | 4 +++ arch/arm/kernel/irq.c | 7 +++- arch/arm/kernel/perf_event.c | 2 +- arch/arm/kernel/perf_event_cpu.c | 35 +++++++++++++++++-- arch/arm/kernel/perf_event_v7.c | 11 ++---- arch/arm/kernel/traps.c | 15 +++++--- drivers/irqchip/irq-gic.c | 75 ++++++++++++++++++++++++++++++---------- include/linux/interrupt.h | 20 +++++++++++ include/linux/irq.h | 2 ++ include/linux/irqchip/arm-gic.h | 8 ++++- kernel/irq/manage.c | 29 ++++++++++++++-- 12 files changed, 169 insertions(+), 40 deletions(-) -- 1.9.3
next reply other threads:[~2015-01-13 16:35 UTC|newest] Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top 2015-01-13 16:35 Daniel Thompson [this message] 2015-01-13 16:35 ` [RFC PATCH 0/5] irq: Allow irqs to be routed to NMI/FIQ Daniel Thompson 2015-01-13 16:35 ` [RFC PATCH 1/5] arm: irq: Add a __nmi_count stat Daniel Thompson 2015-01-13 16:35 ` Daniel Thompson 2015-01-13 16:35 ` [RFC PATCH 2/5] irq: Allow interrupts to routed to NMI (or similar) Daniel Thompson 2015-01-13 16:35 ` Daniel Thompson 2015-01-19 16:21 ` Joshua Clayton 2015-01-19 16:21 ` Joshua Clayton 2015-01-19 17:33 ` Daniel Thompson 2015-01-19 17:33 ` Daniel Thompson 2015-01-13 16:35 ` [RFC PATCH 3/5] irq: gic: Add support for NMI routing Daniel Thompson 2015-01-13 16:35 ` Daniel Thompson 2015-01-13 16:35 ` [RFC PATCH 4/5] arm: perf: Make v7 support FIQ-safe Daniel Thompson 2015-01-13 16:35 ` Daniel Thompson 2015-01-13 16:35 ` [RFC PATCH 5/5] arm: perf: Use FIQ to handle PMU events Daniel Thompson 2015-01-13 16:35 ` Daniel Thompson 2015-01-19 16:35 ` Joshua Clayton 2015-01-19 16:35 ` Joshua Clayton 2015-01-20 10:18 ` Daniel Thompson 2015-01-20 10:18 ` Daniel Thompson 2015-01-20 17:35 ` Joshua Clayton 2015-01-20 17:35 ` Joshua Clayton 2015-01-19 17:48 ` Russell King - ARM Linux 2015-01-19 17:48 ` Russell King - ARM Linux 2015-01-20 10:04 ` Daniel Thompson 2015-01-20 10:04 ` Daniel Thompson 2015-01-21 17:03 ` [RFC PATCH v2 0/5] irq: Allow irqs to be routed to NMI/FIQ Daniel Thompson 2015-01-21 17:03 ` Daniel Thompson 2015-01-21 17:03 ` [RFC PATCH v2 1/5] arm: irq: Add a __nmi_count stat Daniel Thompson 2015-01-21 17:03 ` Daniel Thompson 2015-01-21 17:03 ` [RFC PATCH v2 2/5] irq: Allow interrupts to routed to NMI (or similar) Daniel Thompson 2015-01-21 17:03 ` Daniel Thompson 2015-01-24 23:37 ` Thomas Gleixner 2015-01-24 23:37 ` Thomas Gleixner 2015-01-21 17:03 ` [RFC PATCH v2 3/5] irq: gic: Add support for NMI routing Daniel Thompson 2015-01-21 17:03 ` Daniel Thompson 2015-01-21 17:03 ` [RFC PATCH v2 4/5] arm: perf: Make v7 support FIQ-safe Daniel Thompson 2015-01-21 17:03 ` Daniel Thompson 2015-01-21 17:03 ` [RFC PATCH v2 5/5] arm: perf: Use FIQ to handle PMU events Daniel Thompson 2015-01-21 17:03 ` Daniel Thompson
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1421166931-14134-1-git-send-email-daniel.thompson@linaro.org \ --to=daniel.thompson@linaro.org \ --cc=dirk.behme@de.bosch.com \ --cc=dpervushin@gmail.com \ --cc=drake@endlessm.com \ --cc=jason@lakedaemon.net \ --cc=john.stultz@linaro.org \ --cc=linaro-kernel@lists.linaro.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux@arm.linux.org.uk \ --cc=patches@linaro.org \ --cc=sboyd@codeaurora.org \ --cc=sumit.semwal@linaro.org \ --cc=tglx@linutronix.de \ --cc=tim@krieglstein.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.