That and because we can generally solve the specific problem with
a general feature. Something we can enable/disable on the
command line if needed. Right now this is especially interesting
as on several architectures distros are not building special kdump
kernels but have a single kernel binary that works in both cases.
Skimming through your patches this is a case we really do need to
implement and handle cleanly.
Currently we leave DMA running in the kexec on panic case. We avoid
problems by only running out of a reserved area of memory.
As as general strategy that is fine. However we have not implemented that
strategy in the case of IOMMUs. And we are having trouble with IOMMUs.
My hunch is that we should implement options to reserve a section of
the iommu and to tell to the iommu to use the previously reserved section.
Although turning iommus off altogether and simply using swiotlb
may be acceptable. In which case we should just force usage of the swiotlb
on the command line in /sbin/kexec.