HomeFreeBSD

powerpc64/powernv: Don't mask MSIs in OPAL

Description

powerpc64/powernv: Don't mask MSIs in OPAL

Summary:
Discussing with Benjamin Herrenschmidt, MSIs, and edge-triggered
interrupts in general, must not be masked in XICS and XIVE, else
subsequent interrupts may be ignored.

Testing locally on my Talos II (single CPU, 18-core POWER9), NVMe now
works with MSI, improving read throughput by ~70% (900MB/s -> 1.67GB/s,
with 64MB block size) over INTx interrupts, and snd_hda(4) now will
actually play music with MSI. Previously, snd_hda(4) would not receive
interrupts, timing out, and declaring the channels dead.

This has also been tested by Kevin Bowling, and others, with great
success. Kevin reported NVMe unusable on his Talos II prior to this
patch.

Reviewed by: nwhitehorn, kbowling
Approved by: re(rgrimes)
Differential Revision: https://reviews.freebsd.org/D17356

Details

Provenance
jhibbitsAuthored on
Reviewer
nwhitehorn
Differential Revision
D17356: powerpc64/powernv: Don't mask MSIs in OPAL
Parents
rS339211: Fix the test prohibiting jails from sharing IP addresses.
Branches
Unknown
Tags
Unknown