From: pmladek@suse.com (Petr Mladek)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 0/4] improvements to the nmi_backtrace code
Date: Tue, 1 Mar 2016 11:01:31 +0100 [thread overview]
Message-ID: <20160301100131.GN3305@pathway.suse.cz> (raw)
In-Reply-To: <20160229164956.8613016895bef966b6460081@linux-foundation.org>
On Mon 2016-02-29 16:49:56, Andrew Morton wrote:
> On Mon, 29 Feb 2016 16:40:20 -0500 Chris Metcalf <cmetcalf@ezchip.com> wrote:
>
> > 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.
> >
> > The first change adds support for trigger_single_cpu_backtrace(), and
> > as an "API side-effect", trigger_cpumask_backtrace(). The underlying
> > abstraction is changed to use cpumasks instead of a "bool except_self".
> >
> > The second and third changes provide small improvements to the
> > behavior of the existing nmi_backtrace code: omitting full backtrace
> > dumps for idle cores, and doing local dump_stack backtraces when we
> > try to do a "remote" dump of the local core. Some of this reflects
> > changes from integrating the arch/tile code into the generic code.
> >
> > The fourth change hooks the arch/tile backtrace mechanism into
> > the nmi_backtrace code to share code and take advantage of other
> > improvements of nmi_backtrace not present in the original arch/tile
> > code, like co-opting printk to use local buffers instead of just
> > spewing to the console and hoping for the best.
> >
> > The changes have been runtime tested on tile, and build-tested on
> > x86 and arm.
>
> The patchset looks rather nice but unfortuntely conflicts pretty
> significantly with Petr's "Cleaning printk stuff in NMI context"
> patchset:
>
> http://ozlabs.org/~akpm/mmots/broken-out/printk-nmi-generic-solution-for-safe-printk-in-nmi.patch
> http://ozlabs.org/~akpm/mmots/broken-out/printk-nmi-use-irq-work-only-when-ready.patch
> http://ozlabs.org/~akpm/mmots/broken-out/printk-nmi-warn-when-some-message-has-been-lost-in-nmi-context.patch
> http://ozlabs.org/~akpm/mmots/broken-out/printk-nmi-increase-the-size-of-nmi-buffer-and-make-it-configurable.patch
>
> Could we please have a think about what to do about this?
>
> Petr's patchset does have a few outstanding issues (a bug reported by
> Sergey Senozhatsky and noncommittal review comments from Daniel
> Thompson) so one approach would be to merge this (Chris's) patchset
> (which looks rather more straightforward) and to ask Petr to rebase
> things on top once he gets back onto his work.
Sounds reasonable. Let's handle Chris's patchset first. I am
playing with the panic and could rebase the patchset
when resending.
Best Regards,
Petr
WARNING: multiple messages have this Message-ID (diff)
From: Petr Mladek <pmladek@suse.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Chris Metcalf <cmetcalf@ezchip.com>,
Russell King <linux@arm.linux.org.uk>,
Thomas Gleixner <tglx@linutronix.de>,
Aaron Tomlin <atomlin@redhat.com>, Ingo Molnar <mingo@redhat.com>,
Daniel Thompson <daniel.thompson@linaro.org>,
x86@kernel.org, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 0/4] improvements to the nmi_backtrace code
Date: Tue, 1 Mar 2016 11:01:31 +0100 [thread overview]
Message-ID: <20160301100131.GN3305@pathway.suse.cz> (raw)
In-Reply-To: <20160229164956.8613016895bef966b6460081@linux-foundation.org>
On Mon 2016-02-29 16:49:56, Andrew Morton wrote:
> On Mon, 29 Feb 2016 16:40:20 -0500 Chris Metcalf <cmetcalf@ezchip.com> wrote:
>
> > 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.
> >
> > The first change adds support for trigger_single_cpu_backtrace(), and
> > as an "API side-effect", trigger_cpumask_backtrace(). The underlying
> > abstraction is changed to use cpumasks instead of a "bool except_self".
> >
> > The second and third changes provide small improvements to the
> > behavior of the existing nmi_backtrace code: omitting full backtrace
> > dumps for idle cores, and doing local dump_stack backtraces when we
> > try to do a "remote" dump of the local core. Some of this reflects
> > changes from integrating the arch/tile code into the generic code.
> >
> > The fourth change hooks the arch/tile backtrace mechanism into
> > the nmi_backtrace code to share code and take advantage of other
> > improvements of nmi_backtrace not present in the original arch/tile
> > code, like co-opting printk to use local buffers instead of just
> > spewing to the console and hoping for the best.
> >
> > The changes have been runtime tested on tile, and build-tested on
> > x86 and arm.
>
> The patchset looks rather nice but unfortuntely conflicts pretty
> significantly with Petr's "Cleaning printk stuff in NMI context"
> patchset:
>
> http://ozlabs.org/~akpm/mmots/broken-out/printk-nmi-generic-solution-for-safe-printk-in-nmi.patch
> http://ozlabs.org/~akpm/mmots/broken-out/printk-nmi-use-irq-work-only-when-ready.patch
> http://ozlabs.org/~akpm/mmots/broken-out/printk-nmi-warn-when-some-message-has-been-lost-in-nmi-context.patch
> http://ozlabs.org/~akpm/mmots/broken-out/printk-nmi-increase-the-size-of-nmi-buffer-and-make-it-configurable.patch
>
> Could we please have a think about what to do about this?
>
> Petr's patchset does have a few outstanding issues (a bug reported by
> Sergey Senozhatsky and noncommittal review comments from Daniel
> Thompson) so one approach would be to merge this (Chris's) patchset
> (which looks rather more straightforward) and to ask Petr to rebase
> things on top once he gets back onto his work.
Sounds reasonable. Let's handle Chris's patchset first. I am
playing with the panic and could rebase the patchset
when resending.
Best Regards,
Petr
next prev parent reply other threads:[~2016-03-01 10:01 UTC|newest]
Thread overview: 121+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-29 21:40 [PATCH 0/4] improvements to the nmi_backtrace code Chris Metcalf
2016-02-29 21:40 ` Chris Metcalf
2016-02-29 21:40 ` [PATCH 1/4] nmi_backtrace: add more trigger_*_cpu_backtrace() methods Chris Metcalf
2016-02-29 21:40 ` Chris Metcalf
2016-02-29 21:40 ` [PATCH 2/4] nmi_backtrace: generate one-line reports for idle cpus Chris Metcalf
2016-03-01 14:23 ` Daniel Thompson
2016-03-01 16:01 ` Chris Metcalf
2016-03-07 8:26 ` Daniel Thompson
2016-03-07 17:05 ` Chris Metcalf
2016-03-07 9:48 ` Peter Zijlstra
2016-03-07 17:38 ` Chris Metcalf
2016-03-07 20:43 ` Peter Zijlstra
2016-03-16 17:02 ` [PATCH v2 0/4] improvements to the nmi_backtrace code Chris Metcalf
2016-03-16 17:02 ` Chris Metcalf
2016-03-16 17:02 ` Chris Metcalf
2016-03-16 17:02 ` Chris Metcalf
2016-03-16 17:02 ` [PATCH v2 1/4] nmi_backtrace: add more trigger_*_cpu_backtrace() methods Chris Metcalf
2016-03-16 17:02 ` Chris Metcalf
2016-03-17 19:36 ` Peter Zijlstra
2016-03-17 19:36 ` Peter Zijlstra
2016-03-17 22:31 ` Chris Metcalf
2016-03-17 22:31 ` Chris Metcalf
2016-03-17 22:38 ` Peter Zijlstra
2016-03-17 22:38 ` Peter Zijlstra
2016-03-17 22:41 ` Chris Metcalf
2016-03-17 22:41 ` Chris Metcalf
2016-03-17 23:14 ` Peter Zijlstra
2016-03-17 23:14 ` Peter Zijlstra
2016-03-17 22:55 ` Paul E. McKenney
2016-03-17 22:55 ` Paul E. McKenney
2016-03-17 23:09 ` Peter Zijlstra
2016-03-17 23:09 ` Peter Zijlstra
2016-03-17 23:11 ` Peter Zijlstra
2016-03-17 23:11 ` Peter Zijlstra
2016-03-18 0:28 ` Paul E. McKenney
2016-03-18 0:28 ` Paul E. McKenney
2016-03-18 0:17 ` Chris Metcalf
2016-03-18 0:17 ` Chris Metcalf
2016-03-18 0:33 ` Paul E. McKenney
2016-03-18 0:33 ` Paul E. McKenney
2016-03-18 9:40 ` Daniel Thompson
2016-03-18 9:40 ` Daniel Thompson
2016-03-18 23:54 ` Paul E. McKenney
2016-03-18 23:54 ` Paul E. McKenney
2016-03-16 17:02 ` [PATCH v2 2/4] nmi_backtrace: do a local dump_stack() instead of a self-NMI Chris Metcalf
2016-03-16 17:02 ` Chris Metcalf
2016-03-16 17:02 ` [PATCH v2 3/4] arch/tile: adopt the new nmi_backtrace framework Chris Metcalf
2016-03-16 17:02 ` [PATCH v2 4/4] nmi_backtrace: generate one-line reports for idle cpus Chris Metcalf
2016-03-16 17:02 ` Chris Metcalf
2016-03-16 17:02 ` Chris Metcalf
2016-03-16 18:46 ` kbuild test robot
2016-03-16 18:46 ` kbuild test robot
2016-03-16 18:46 ` kbuild test robot
2016-03-16 18:46 ` kbuild test robot
2016-03-21 15:38 ` Peter Zijlstra
2016-03-21 15:38 ` Peter Zijlstra
2016-03-21 15:38 ` Peter Zijlstra
2016-03-21 15:46 ` Chris Metcalf
2016-03-21 15:46 ` Chris Metcalf
2016-03-21 15:46 ` Chris Metcalf
2016-03-21 15:46 ` Chris Metcalf
2016-03-21 15:42 ` Peter Zijlstra
2016-03-21 15:42 ` Peter Zijlstra
2016-03-21 16:15 ` Chris Metcalf
2016-03-21 16:15 ` Chris Metcalf
2016-03-21 16:15 ` Chris Metcalf
2016-03-21 16:32 ` Peter Zijlstra
2016-03-21 16:32 ` Peter Zijlstra
2016-03-21 17:12 ` Chris Metcalf
2016-03-21 17:12 ` Chris Metcalf
2016-03-21 17:12 ` Chris Metcalf
2016-03-21 17:12 ` Chris Metcalf
2016-03-21 17:17 ` Peter Zijlstra
2016-03-21 17:17 ` Peter Zijlstra
2016-03-21 16:48 ` Peter Zijlstra
2016-03-21 16:48 ` Peter Zijlstra
2016-03-21 21:49 ` Peter Zijlstra
2016-03-21 21:49 ` Peter Zijlstra
2016-03-22 17:19 ` [PATCH v3 0/4] improvements to the nmi_backtrace code Chris Metcalf
2016-03-22 17:19 ` Chris Metcalf
2016-03-22 17:19 ` Chris Metcalf
2016-03-22 17:19 ` Chris Metcalf
2016-03-22 17:19 ` [PATCH v3 1/4] nmi_backtrace: add more trigger_*_cpu_backtrace() methods Chris Metcalf
2016-03-22 17:19 ` Chris Metcalf
2016-03-22 17:19 ` [PATCH v3 2/4] nmi_backtrace: do a local dump_stack() instead of a self-NMI Chris Metcalf
2016-03-22 17:19 ` Chris Metcalf
2016-03-22 17:19 ` [PATCH v3 3/4] arch/tile: adopt the new nmi_backtrace framework Chris Metcalf
2016-03-22 17:19 ` [PATCH v3 4/4] nmi_backtrace: generate one-line reports for idle cpus Chris Metcalf
2016-03-22 17:19 ` Chris Metcalf
2016-03-22 17:19 ` Chris Metcalf
2016-03-22 17:30 ` Peter Zijlstra
2016-03-22 17:30 ` Peter Zijlstra
2016-03-22 22:28 ` Rafael J. Wysocki
2016-03-22 22:28 ` Rafael J. Wysocki
2016-03-22 22:31 ` Rafael J. Wysocki
2016-03-22 22:31 ` Rafael J. Wysocki
2016-03-22 22:45 ` Peter Zijlstra
2016-03-22 22:45 ` Peter Zijlstra
2016-03-23 0:50 ` Rafael J. Wysocki
2016-03-23 0:50 ` Rafael J. Wysocki
2016-03-23 7:53 ` Peter Zijlstra
2016-03-23 7:53 ` Peter Zijlstra
2016-03-30 17:16 ` [PATCH v4 0/4] improvements to the nmi_backtrace code Chris Metcalf
2016-03-30 17:16 ` Chris Metcalf
2016-03-30 17:16 ` Chris Metcalf
2016-03-30 17:16 ` Chris Metcalf
2016-03-30 17:16 ` [PATCH v4 1/4] nmi_backtrace: add more trigger_*_cpu_backtrace() methods Chris Metcalf
2016-03-30 17:16 ` Chris Metcalf
2016-03-30 17:16 ` [PATCH v4 2/4] nmi_backtrace: do a local dump_stack() instead of a self-NMI Chris Metcalf
2016-03-30 17:16 ` Chris Metcalf
2016-03-30 17:16 ` [PATCH v4 3/4] arch/tile: adopt the new nmi_backtrace framework Chris Metcalf
2016-03-30 17:16 ` [PATCH v4 4/4] nmi_backtrace: generate one-line reports for idle cpus Chris Metcalf
2016-03-30 17:16 ` Chris Metcalf
2016-03-30 17:16 ` Chris Metcalf
2016-02-29 21:40 ` [PATCH 3/4] nmi_backtrace: do a local dump_stack() instead of a self-NMI Chris Metcalf
2016-02-29 21:40 ` Chris Metcalf
2016-02-29 21:40 ` [PATCH 4/4] arch/tile: adopt the new nmi_backtrace framework Chris Metcalf
2016-03-01 0:49 ` [PATCH 0/4] improvements to the nmi_backtrace code Andrew Morton
2016-03-01 0:49 ` Andrew Morton
2016-03-01 10:01 ` Petr Mladek [this message]
2016-03-01 10:01 ` Petr Mladek
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=20160301100131.GN3305@pathway.suse.cz \
--to=pmladek@suse.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 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.