Hi Joerg Roedel, When we run below command, the kernel message showed below confusing failed messages: sudo kexec -l /boot/vmlinuz-4.11.0-rc7 --append=root=UUID=276659dd-77f0-47f9-967c-7643c260b746 --initrd=/boot/initrd.img-4.11.0-rc7 sudo kexec -e --- [ 0.203397] DMAR-IR: Failed to copy IR table for dmar2 from previous kernel [ 0.211568] DMAR-IR: Failed to copy IR table for dmar1 from previous kernel [ 0.219738] DMAR-IR: Failed to copy IR table for dmar0 from previous kernel [ 0.227906] DMAR-IR: Failed to copy IR table for dmar3 from previous kernel ---
The driver "intel_irq_remapping.c" uses "is_kdump_kernel()" API to determine whether copy IR table from previous kernel. a) When booting a kdump kernel specified by "kexec -p" (loading the new kernel for use on panic), the "is_kdump_kernel()" API is true then the driver copy IR table from previous kernel. b) While when booting a new kernel specified by "kexec -l" (loading the new kernel into current kernel) the "is_kdump_kernel()" API is false then the driver prints error message "Failed to copy IR table from previous kernel" directly. It looks like the printk is misleading and it's nothing actually failed, but just it isn't copying if the new kernel is not a kdump kernel. Found that the commit id "af3b358e48115" said: --- iommu/vt-d: Copy IR table from old kernel when in kdump mode When we are booting into a kdump kernel and find IR enabled, copy over the contents of the previous IR table so that spurious interrupts will not be target aborted. --- May I ask some questions: What are spurious interrupts? For kdump kernel can we just reinitializing IR table(as like normal kernel boot from power on) to handle the "spurious interrupts" issue instead of copying IR table from previous kernel? For booting a new kernel by "kexec -l" (my test case), do we still need to copy IR table from previous kernel to handle the "spurious interrupts" issue? Thanks! qiuxu BR qiuxu
_______________________________________________ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu