[vfio-users] nvidia gtx 780 - MSI-X?

Alex Williamson alex.williamson at redhat.com
Fri Mar 17 04:58:56 UTC 2017


On Fri, 17 Mar 2017 00:31:55 -0400
"Taiidan at gmx.com" <Taiidan at gmx.com> wrote:

> I have enabled MSI through the windows registry tweak but I am wondering 
> if I can bump that up to MSI-X somehow.
> 
> I ask here and not on a windows forum because I have no idea if the card 
> supports this natively (and I have no bare metal windows machines to 
> test it on)

MSI-X is probably not supported by the graphics card.  Run 'sudo lspci
-vs <address>' where address is the PCI bus address of the device, like
01:00.0.  For example:

# lspci -vs 1:00.0
01:00.0 VGA compatible controller: NVIDIA Corporation GM107 [GeForce GTX 750] (rev a2) (prog-if 00 [VGA controller])
	Subsystem: eVga.com. Corp. Device 2753
	Flags: bus master, fast devsel, latency 0, IRQ 16
	Memory at f6000000 (32-bit, non-prefetchable) [size=16M]
	Memory at e0000000 (64-bit, prefetchable) [size=256M]
	Memory at f0000000 (64-bit, prefetchable) [size=32M]
	I/O ports at e000 [size=128]
	Expansion ROM at f7000000 [disabled] [size=512K]
	Capabilities: [60] Power Management version 3
	Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+
	Capabilities: [78] Express Legacy Endpoint, MSI 00
	Capabilities: [100] Virtual Channel
	Capabilities: [250] Latency Tolerance Reporting
	Capabilities: [258] L1 PM Substates
	Capabilities: [128] Power Budgeting <?>
	Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?>
	Capabilities: [900] #19
	Kernel driver in use: vfio-pci
	Kernel modules: nouveau

There's no MSI-X capability, only MSI.  Or:

04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 06)
	Subsystem: ASUSTeK Computer Inc. P8P67 and other motherboards
	Flags: bus master, fast devsel, latency 0, IRQ 45
	I/O ports at d000 [size=256]
	Memory at f2104000 (64-bit, prefetchable) [size=4K]
	Memory at f2100000 (64-bit, prefetchable) [size=16K]
	Capabilities: [40] Power Management version 3
	Capabilities: [50] MSI: Enable+ Count=1/1 Maskable- 64bit+
	Capabilities: [70] Express Endpoint, MSI 01
	Capabilities: [b0] MSI-X: Enable- Count=4 Masked-
	Capabilities: [d0] Vital Product Data
	Capabilities: [100] Advanced Error Reporting
	Capabilities: [140] Virtual Channel
	Capabilities: [160] Device Serial Number 10-04-00-00-68-4c-e0-00
	Kernel driver in use: r8169
	Kernel modules: r8169

Which supports both, but is currently using MSI (Enable+ vs Enable-).
Even the big iron NVIDIA cards don't support MSI-X.

Also, MSI-X isn't a "bump up" from MSI, the difference between the two
is largely in how multiple vectors are allocated and managed by the
OS.  If a device only supports a single interrupt vector, there's
no advantage to using MSI-X over MSI.  The interrupt signaling
mechanism between the two is identical, it's only the configuration
that is different.  Thanks,

Alex




More information about the vfio-users mailing list