On Tue, Apr 29, 2014 at 1:59 AM, Daniel Thompson <daniel.thomp...@linaro.org> wrote: > On 28/04/14 18:44, Colin Cross wrote: >>>> Is that case documented somewhere in the code comments? >>> >>> Perhaps not near enough to the _nolock but the primary bit of comment is >>> here (and in same file as kdb_sr). >>> --- cut here --- >>> * kdb_main_loop - After initial setup and assignment of the >>> * controlling cpu, all cpus are in this loop. One cpu is in >>> * control and will issue the kdb prompt, the others will spin >>> * until 'go' or cpu switch. >>> --- cut here --- >>> >>> The mechanism kgdb uses to quiesce other CPUs means other CPUs cannot be >>> in irqsave critical sections. >>> >>> >> >> One of the advantages of FIQ debugger is that it can be triggered from >> an FIQ (NMI for those in x86 land), and Jason and I have discussed >> using FIQs for kgdb to allow interrupting cpus stuck in critical >> sections. If that gets implemented the above assumption will no >> longer be correct. > > Reviewing this I realized I missed one of the most critical points in > the above. > > Today kdb, even if triggered by FIQ/NMI, would still be likely to wedge > waiting for the IPI interrupts to be delivered to other processors. > > Did you and Jason discuss getting the active CPU to quiesce the other > processors using FIQ/NMI, or to allow the active CPU to timeout while > waiting for them the stop? > > > Daniel.
Yes, all cpus would have to get an FIQ/NMI. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/