Re: DMAR-IR: IRQ remapping was enabled on dmar6 but we are not in kdump mode

From: Baolu Lu
Date: Mon Jan 22 2024 - 07:39:36 EST


On 2024/1/19 22:45, Paul Menzel wrote:

On a Dell PowerEdge T640, Linux 5.9 and 6.6.12 warn about kdump:

    [    2.728445] DMAR-IR: IRQ remapping was enabled on dmar6 but we are not in kdump mode
    [    2.736544] DMAR-IR: IRQ remapping was enabled on dmar5 but we are not in kdump mode
    [    2.744620] DMAR-IR: IRQ remapping was enabled on dmar4 but we are not in kdump mode
    [    2.752695] DMAR-IR: IRQ remapping was enabled on dmar3 but we are not in kdump mode
    [    2.760774] DMAR-IR: IRQ remapping was enabled on dmar2 but we are not in kdump mode
    [    2.768847] DMAR-IR: IRQ remapping was enabled on dmar1 but we are not in kdump mode
    [    2.776922] DMAR-IR: IRQ remapping was enabled on dmar0 but we are not in kdump mode
    [    2.784999] DMAR-IR: IRQ remapping was enabled on dmar7 but we are not in kdump mode

Looking through the logs, this only happens when using kexec to restart the system.

The code that warned this is,

599 if (ir_pre_enabled(iommu)) {
600 if (!is_kdump_kernel()) {
601 pr_warn("IRQ remapping was enabled on %s but we are not in kdump mode\n",
602 iommu->name);
603 clear_ir_pre_enabled(iommu);
604 iommu_disable_irq_remapping(iommu);
605 }

The VT-d interrupt remapping is enabled during boot, but this is not a
kdump kernel.

Do you mind checking whether the disable interrupt remapping callback
was called during kexec reboot?

1121 struct irq_remap_ops intel_irq_remap_ops = {
1122 .prepare = intel_prepare_irq_remapping,
1123 .enable = intel_enable_irq_remapping,
1124 .disable = disable_irq_remapping,
1125 .reenable = reenable_irq_remapping,
1126 .enable_faulting = enable_drhd_fault_handling,
1127 };

Best regards,
baolu