On Wed, 21 Oct 2020 at 15:57, Marc Zyngier <m...@kernel.org> wrote: > > On 2020-10-20 12:22, Sumit Garg wrote: > > On Tue, 20 Oct 2020 at 15:38, Marc Zyngier <m...@kernel.org> wrote: > >> > >> On 2020-10-20 07:43, Sumit Garg wrote: > >> > On Mon, 19 Oct 2020 at 17:07, Marc Zyngier <m...@kernel.org> wrote: > >> > >> [...] > >> > >> >> > +{ > >> >> > + if (!ipi_desc) > >> >> > + return; > >> >> > + > >> >> > + if (is_nmi) { > >> >> > + if (!prepare_percpu_nmi(ipi_id)) > >> >> > + enable_percpu_nmi(ipi_id, IRQ_TYPE_NONE); > >> >> > + } else { > >> >> > + enable_percpu_irq(ipi_id, IRQ_TYPE_NONE); > >> >> > >> >> I'm not keen on this. Normal IRQs can't reliably work, so why do you > >> >> even bother with this? > >> > > >> > Yeah I agree but we need to support existing functionality for kgdb > >> > roundup and sysrq backtrace using normal IRQs as well. > >> > >> When has this become a requirement? I don't really see the point in > >> implementing something that is known not to work. > >> > > > > For kgdb: > > > > Default implementation [1] uses smp_call_function_single_async() which > > in turn will invoke IPI as a normal IRQ to roundup CPUs. > > > > [1] > > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/kernel/debug/debug_core.c#n244 > > > > For sysrq backtrace: > > > > Default implementation [2] fallbacks to smp_call_function() (IPI as a > > normal IRQ) to print backtrace in case architecture doesn't provide > > arch_trigger_cpumask_backtrace() hook. > > > > [2] > > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/tty/sysrq.c#n250 > > > > So in general, IPI as a normal IRQ is still useful for debugging but > > it can't debug a core which is stuck in deadlock with interrupts > > disabled. > > And that's not something we implement today for good reasons: > it *cannot* work reliably. What changed that we all of a sudden need it? > > > And since we choose override default implementations for pseudo NMI > > support, we need to be backwards compatible for platforms which don't > > possess pseudo NMI support. > > No. There is nothing to be "backward compatible" with, because > - this isn't a userspace visible feature > - *it doesn't work* > > So please drop this non-feature from this series. >
Okay, fair enough. I will drop support for new IPI being normal IRQ and instead update sysrq backtrace and kgdb roundup frameworks to use existing cross-calls stuff in case a platform doesn't possess pseudo NMI support. -Sumit > M. > -- > Jazz is not dead. It just smells funny... _______________________________________________ Kgdb-bugreport mailing list Kgdb-bugreport@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kgdb-bugreport