From: cmetcalf@mellanox.com (Chris Metcalf)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v5 0/4] improvements to the nmi_backtrace code
Date: Tue, 5 Apr 2016 13:26:44 -0400 [thread overview]
Message-ID: <1459877208-15119-1-git-send-email-cmetcalf@mellanox.com> (raw)
In-Reply-To: <201604031905.WLWlnyKg%fengguang.wu@intel.com>
This is just a one-line change to the v4 series, to catch the new arm
vmlinux-xip.lds.S file, which I missed when I rebased to 4.6 for v4
(my arm config for testing did not include CONFIG_XIP_KERNEL).
Thanks to Fengguang Wu and the 0-day test robot for that.
Whose tree would this go through? I have an ack for Peter Z for
patch 4/4 and no other feedback for patches 1/4 or 2/4; I can
certainly push 3/4 through the tile tree myself if that helps, though
my guess is keeping it with the rest of the series makes more sense
for tile since it doesn't lose any functionality that way.
>From the version 1 cover letter:
This patch series modifies the trigger_xxx_backtrace() NMI-based
remote backtracing code to make it more flexible, and makes a few
small improvements along the way.
The motivation comes from the task isolation code, where there are
scenarios where we want to be able to diagnose a case where some cpu
is about to interrupt a task-isolated cpu. It can be helpful to
see both where the interrupting cpu is, and also an approximation
of where the cpu that is being interrupted is. The nmi_backtrace
framework allows us to discover the stack of the interrupted cpu.
I've tested that the change works as desired on tile, and build-tested
x86, arm64, and arm. For x86 and arm64 I confirmed that the generic
cpuidle stuff as well as the architecture-specific routines are in the
new cpuidle section. For arm I just build-tested it and made sure the
generic cpuidle routines were in the new cpuidle section, but I didn't
attempt to tease apart the tangle of platform-specific idle routines
that arm has and tag them with __cpuidle. That might be more usefully
done by someone with arm platform experience in a follow-up patch.
I have also pushed it up to kernel.org to pull if that's easier:
git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile.git nmi-backtrace
The change conflicts with Petr Mladek's NMI printk cleanup patches:
https://lkml.kernel.org/r/1459353210-20260-1-git-send-email-pmladek at suse.com
He has kindly offered to resolve the conflicts.
v5: Add CPUIDLE_TEXT to the new arch/arm/kernel/vmlinux-xip.lds.S
v4: Added some more __cpuidle functions (PeterZ, Rafael Wysocki)
Rebased to kernel v4.6-rc1
v3: Various improvements to the set of __cpuidle functions;
Add back in a missing section accidentally removed in modpost.c (PeterZ)
https://lkml.kernel.org/r/1458667179-19630-1-git-send-email-cmetcalf at mellanox.com
v2: Switch to using __cpuidle tagging, switch S-O-B to Mellanox
https://lkml.kernel.org/r/1458147733-29338-1-git-send-email-cmetcalf at mellanox.com
Chris Metcalf (4):
nmi_backtrace: add more trigger_*_cpu_backtrace() methods
nmi_backtrace: do a local dump_stack() instead of a self-NMI
arch/tile: adopt the new nmi_backtrace framework
nmi_backtrace: generate one-line reports for idle cpus
arch/alpha/kernel/vmlinux.lds.S | 1 +
arch/arc/kernel/vmlinux.lds.S | 1 +
arch/arm/include/asm/irq.h | 4 +-
arch/arm/kernel/smp.c | 13 +------
arch/arm/kernel/vmlinux-xip.lds.S | 1 +
arch/arm/kernel/vmlinux.lds.S | 1 +
arch/arm64/kernel/vmlinux.lds.S | 1 +
arch/arm64/mm/proc.S | 2 +
arch/avr32/kernel/vmlinux.lds.S | 1 +
arch/blackfin/kernel/vmlinux.lds.S | 1 +
arch/c6x/kernel/vmlinux.lds.S | 1 +
arch/cris/kernel/vmlinux.lds.S | 1 +
arch/frv/kernel/vmlinux.lds.S | 1 +
arch/h8300/kernel/vmlinux.lds.S | 1 +
arch/hexagon/kernel/vmlinux.lds.S | 1 +
arch/ia64/kernel/vmlinux.lds.S | 1 +
arch/m32r/kernel/vmlinux.lds.S | 1 +
arch/m68k/kernel/vmlinux-nommu.lds | 1 +
arch/m68k/kernel/vmlinux-std.lds | 1 +
arch/m68k/kernel/vmlinux-sun3.lds | 1 +
arch/metag/kernel/vmlinux.lds.S | 1 +
arch/microblaze/kernel/vmlinux.lds.S | 1 +
arch/mips/kernel/vmlinux.lds.S | 1 +
arch/mn10300/kernel/vmlinux.lds.S | 1 +
arch/nios2/kernel/vmlinux.lds.S | 1 +
arch/openrisc/kernel/vmlinux.lds.S | 1 +
arch/parisc/kernel/vmlinux.lds.S | 1 +
arch/powerpc/kernel/vmlinux.lds.S | 1 +
arch/s390/kernel/vmlinux.lds.S | 1 +
arch/score/kernel/vmlinux.lds.S | 1 +
arch/sh/kernel/vmlinux.lds.S | 1 +
arch/sparc/kernel/vmlinux.lds.S | 1 +
arch/tile/include/asm/irq.h | 4 +-
arch/tile/kernel/entry.S | 2 +-
arch/tile/kernel/pmc.c | 3 --
arch/tile/kernel/process.c | 72 ++++++++----------------------------
arch/tile/kernel/traps.c | 7 +++-
arch/tile/kernel/vmlinux.lds.S | 1 +
arch/um/kernel/dyn.lds.S | 1 +
arch/um/kernel/uml.lds.S | 1 +
arch/unicore32/kernel/vmlinux.lds.S | 1 +
arch/x86/include/asm/irq.h | 4 +-
arch/x86/kernel/acpi/cstate.c | 2 +-
arch/x86/kernel/apic/hw_nmi.c | 6 +--
arch/x86/kernel/process.c | 4 +-
arch/x86/kernel/vmlinux.lds.S | 1 +
arch/xtensa/kernel/vmlinux.lds.S | 3 ++
drivers/acpi/processor_idle.c | 5 ++-
drivers/cpuidle/driver.c | 5 ++-
drivers/idle/intel_idle.c | 4 +-
include/asm-generic/vmlinux.lds.h | 6 +++
include/linux/cpu.h | 5 +++
include/linux/nmi.h | 63 ++++++++++++++++++++++++-------
kernel/sched/idle.c | 13 ++++++-
lib/nmi_backtrace.c | 40 +++++++++++++-------
scripts/mod/modpost.c | 2 +-
scripts/recordmcount.c | 1 +
scripts/recordmcount.pl | 1 +
58 files changed, 184 insertions(+), 121 deletions(-)
--
2.7.2
next parent reply other threads:[~2016-04-05 17:26 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <201604031905.WLWlnyKg%fengguang.wu@intel.com>
2016-04-05 17:26 ` Chris Metcalf [this message]
2016-04-05 17:26 ` [PATCH v5 1/4] nmi_backtrace: add more trigger_*_cpu_backtrace() methods Chris Metcalf
2016-04-14 15:17 ` Aaron Tomlin
2016-04-05 17:26 ` [PATCH v5 2/4] nmi_backtrace: do a local dump_stack() instead of a self-NMI Chris Metcalf
2016-04-14 15:19 ` Aaron Tomlin
2016-04-05 17:26 ` [PATCH v5 4/4] nmi_backtrace: generate one-line reports for idle cpus Chris Metcalf
2016-07-13 18:44 ` [PATCH v5 0/4] improvements to the nmi_backtrace code Chris Metcalf
2016-07-14 20:50 ` [PATCH v6 " Chris Metcalf
2016-07-14 20:50 ` [PATCH v6 1/4] nmi_backtrace: add more trigger_*_cpu_backtrace() methods Chris Metcalf
2016-08-08 13:57 ` Petr Mladek
2016-08-08 15:49 ` Chris Metcalf
2016-07-14 20:50 ` [PATCH v6 2/4] nmi_backtrace: do a local dump_stack() instead of a self-NMI Chris Metcalf
2016-07-14 20:50 ` [PATCH v6 4/4] nmi_backtrace: generate one-line reports for idle cpus Chris Metcalf
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=1459877208-15119-1-git-send-email-cmetcalf@mellanox.com \
--to=cmetcalf@mellanox.com \
--cc=linux-arm-kernel@lists.infradead.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: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).