Home

messagesignaled

MessageSignaled interrupts, commonly abbreviated MSI, are an interrupt signaling mechanism used by PCI and PCI Express devices. Instead of using a dedicated interrupt pin on the processor, a device signals the processor by performing a write transaction to a specific memory-mapped address configured by the system. The received message is then mapped by the operating system to a software interrupt vector. The term message-signaled interrupt is widely used in PCI/PCIe literature.

Devices that support MSI advertise a PCI capability structure in their configuration space. The system firmware

A variant called MSI-X provides a larger number of vectors and enhanced control, including per-vector masking,

Limitations include reliance on hardware and operating system support; not all devices implement MSI, and some

and
operating
system
allocate
one
or
more
interrupt
vectors
and
populate
the
message
address
and
data
that
identify
the
corresponding
interrupt.
When
the
device
requires
service,
it
writes
the
configured
data
to
the
message
address;
the
I/O
APIC
or
local
APIC
translates
the
message
into
a
software
interrupt
delivered
to
a
chosen
CPU
or
set
of
CPUs.
enabling
finer-grained
interrupt
handling
and
better
scalability
in
multi-core
and
multi-processor
systems.
Legacy
PCI
interrupts
(INTx)
use
shared
pins
and
can
become
a
bottleneck;
MSI
and
MSI-X
remove
such
contention
and
improve
throughput,
especially
for
high-performance
devices
like
network
cards,
storage
controllers,
and
GPUs.
virtualization
platforms
require
proper
MSI
passthrough
or
virtualization
configuration.
See
PCI,
PCIe,
MSI,
and
MSI-X
for
related
topics.