lkml.org 
[lkml]   [2014]   [Sep]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v11 00/19] arm: KGDB NMI/FIQ support
On 03/09/14 00:02, Thomas Gleixner wrote:
> On Tue, 2 Sep 2014, Daniel Thompson wrote:
>
>> This patchset makes it possible to use kgdb's NMI infrastructure on ARM
>> platforms.
>>
>> The patches are seperated into three distinct groups:
>>
>> 1. arm specific changes; these provide multi-platform support for FIQ
>> (including raising an IPI using FIQ to ensure effective SMP support)
>> and extend ARM KGDB support to use the features provided.
>>
>> 2. irqchip changes; updates to the gic and vic drivers to provide
>> support for routing certain interrupt sources to FIQ.
>>
>> 3. serial changes; driver support to allow the UART interrupt to be
>> routed to FIQ. The already mainlined kgdb NMI infrastructure (mostly
>> found in drivers/tty/serial/kgdb_nmi.c) will re-route the kgdb
>> console UART's interrupt signal from IRQ to FIQ. Naturally the UART
>> will no longer function normally and will instead be managed by kgdb
>> using the polled I/O functions. Any character delivered to the UART
>> causes the kgdb handler function to be called.
>
> To be honest, what you are doing is just ass backwards.
>
> The use case you are looking for is the most irrelevant of all. Just
> because KGDB is on some managerial "must have items" checklist does
> not make it useful.

The FIQ based interactive debugger use case is fairly common on Android,
especially for Nexus devices (they have an out-of-tree debugger similar
to kdb for this).

I think it finds favour there because during the development phases
where the console is unplugged to allow developers to go walkabout live
with a prototype phone. The interactive debugger is used for
post-morteming when something breaks. At this stage of development are
reluctant to expose/consume hardware resources (JTAG pins, RAM, FLASH)
for JTAG or kexec/kdump post-mortems.


> The only relevant use cases of FIQs are the same as those of NMIs on
> x86:
>
> - Watchdog to detect stuck cpus and issue stack traces

Russell put together a quick 'n dirty version of the NMI stack trace
code based on a subset of my patchset. Based on his feedback, later
revisions of my patchset are structured to simplify adding this code.


Daniel.


> - Performace monitoring
>
> KGDB falls into place once you solved the above.
>
> That said for the general approach, I'll have a look at the irq
> related patches in a minute.
>
> Thanks,
>
> tglx




\
 
 \ /
  Last update: 2014-09-03 11:41    [W:0.332 / U:4.372 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site