linux kernel - diff between IO-APIC-level and PCI-MSI-X -
in /proc/interrupts file see io-apic-level(or edge) , in other system see pci-msi-x. both same device etho.
not getting diff between these two. can change pci-msi-x io-apic ?? kernel module or file or conf or proc file, belongs ?
is safe distribute interrupts available cpu cores ??
msi-x interrupts message-based interrupts, , sole method available pcie devices signal interrupts. instead of asserting hardware line signal interrupt, device writes single word preconfigured address. address either control register in cpu, or register in pcie root port emulates legacy interrupt system. you're seeing both of cases.
the bios configures board send msi interrupts root port, emulates intx interrupts, cpu via routing in apic. when os supports msi directly, device driver can reprogram msi destination address, interrupt message reaches cpu interrupt registers directly.
msi-x different msi supporting multiple interrupt vectors (one each network port on dual-port nic, example, or 1 tx , rx).
msi performs better intx emulation, since intx emulation shares interrupts across devices behind same pcie bridge, though matters on devices generate tons of interrupts, modern nics don't. question should be, "why 1 of systems failing enable msi-x interrupts on network card."
references:
Comments
Post a Comment