On Tue, Mar 13, 2018 at 05:21:00PM +0000, Marc Zyngier wrote: > As kexec and kdump are getting used a bit more intensively, I've been > made aware of a number of shortcomings. > > The main gripe is from folks trying to launch a kdump kernel from > within an interrupt handler. If using EOImode==1, things work as > expected. If using EOImode==0 (such as in a guest), the secondary > kernel hangs as the previous interrupt hasn't been EOI'd, and the > active priority is still set. The first two patches are addressing > this situation for both GICv2 and GICv3 by reseting the APRs to their > default value.
As a more general thing, if irqchip drivers have state that needs to be reset in their init code, can we live all this irqchip reset to the crashdump kernel, and kill machine_kexec_mask_interrupts() entirely? That would avoid some work (including pointer chasing on potentially corrupt memory) in the kernel that crashed, making it more likely that we get to the crashkernel intact... Thanks, Mark