Threadripper and SR-IOV

Hi, thanks…yes, I checked under AMD CBS and nothing that pertains to SR-IOV or AMD-v etc…

Love the videos!

Hi, just wanted to follow up to see if anyone has any info on which threadripper mobos support SR-IOV. Thanks!

there is a separate SR IOV option, I think it’s under advanced.

Thanks…for the life of me, I can’t seem to find it. Anyone know where it’s buried? :slight_smile: Thanks!

Hi, still trying to get SR-IOV with Threadripper. Is there a motherboard known to support SR-IOV? Thank you!

I’ll ask

I seem to recall an option on my X399 Taichi.

I’ll check when I get a minute.

Deja vu… kinda. I remember having a similar frustration when I was trying to get PCI passthru working (pre-VFIO) back during the 970 chipset days. Mobo manufacturer’s rarely fully document their bios so you can’t download their manuals to check and it’s even less likely they’d list it in the specs on a consumer board. It’s up to google and finding someone’s first hand xp. :confused:

I just looked quickly but it seems that there a lot of people asking your question but no answers at first glance. Of course the algorithm assured me that IOMMU is supported since a majority of the results didn’t even contain SR-IOV in them or weren’t the main topic… the algorithm… so helpful, right?

edit Incidentally I did settle on a ASRock board at the time, one of the few that supported IOMMU. But alas, VGA passthru wasn’t really ready at the time despite recompiling the kernel with new options. Nowadays it seems IOMMU support is all but guaranteed, but if I was looking for something hard to find my bias would definitely be to look to ASRock. Who knows though?

Um, if it helps, the X399 Taichi has SR-IOV in the UEFI.
On the Advanced page, under North Bridge Configuration.

Because @SgtAwesomesauce looks to have been distracted :slight_smile:

It seems upon looking at it, that I had it disabled, but had been running a gaming VM for a while without :man_shrugging:

2 Likes

SR-IOV isn’t needed for VFIO passthru. It’s a separate virtualisation standard that was most commonly for NICs that had multiple ports. It allows you to sort of slice up the resources of a PCIe device and pass the portion(s) through to a VM. In the case of GPU’s the idea is to take a certain amount of it’s compute to passthru a virtual GPU to the VM. Presumably leaving some leftover for the host or even other VMs. To date it’s mostly used in the enterprise/cloud. Nvidia has a similar tech that is proprietary and has an insanely expensive software stack to buy, whereas AMD uses SR-IOV in their solution. At least that’s my understanding of it.

2 Likes

I went to sleep. I’ll be checking it today, I am just doing father’s day things right now.

No worries, was only kidding

1 Like

My understanding is the ROM BAR panic still exists (UEFI won’t POST with a SR-IOV card) on Threadripper, so it might be a while before real SR-IOV support comes to Threadripper.

Epyc boards though support SR-IOV cards.

I couldn’t say for sure.

Is this issue specific to GPUs or do all devices suffer from it?

Asrock boards have this and some gigabyte boards do. Sr iov will work for nics but not gpus because of the pcie rom bar space.

MSI boards do not have the option but I’ve emailed them for a special bios that unlocks the option.

Thanks…any way to get a bios for the Gigabyte Aorus X399 Gaming 7 that supports SR-IOV? I’ve emailed tech support, but all they were able to tell me was to enable IOMMU which I have and it’s still not working! Thank you!

I know this thread is old, but I guess I can add some info. The SR-IOV is a technology aimed to be universal for most new PCIe devices.

In my understanding, IOMMU alone is not enough to take advantage of SR-IOV capable hardware, it requires at least 2 underlying technologies aside from Intel VT-x and VT-d or similar technologies from AMD. I believe IOMMU is the “Memory Address Translation” which is one, and two is the “ACS or Access Control Services”. The SR-IOV capable hardware has “PF or Physical Function” and “VFs or Virtual Functions” which are exposed by the “Access Control Services”. The “Memory Address Translation or IOMMU” is responsible for routing the “Virtual Functions” to the Virtual Machines thru the Memory Address Space.

So you need a motherboard that supports both “Memory Address Translation or IOMMU” and “Access Control Services(ACS)”.

Correct me if I am wrong about IOMMU and Memory Address Translation.

And if you want to DDA (discrete device assignment) a GPU, I believe you still need those supporting features.

Those features are considered as “enterprise”. But you can request gigabyte for a BIOS update. In my experience, on ASUS, their technical support and Engineering team are willing to talk about SR-IOV and create a BIOS update with ACS enabler for the motherboard chipset, since the chipset specs support SR-IOV.

1 Like

SR-IOV works for me for MSI Creator TRX40, an X540-T2 and the 3970x, on bog-standard BIOS with KVM, with a special workaround: add “pci=assign-busses pci=realloc” to the kernel command line.

No idea if any workaround is available for Windows or ESX.

MSI said they would build a SR-IOV enabled BIOS for me (not received it yet) but this will need to be repeated every time they release a new BIOS.

2 Likes

That’s pretty fascinating that MSI would build a special bios for you to enable SR-IOV. I wonder why they simply don’t integrate it into the standard BIOS build!?

Also, how is the IOMMU group separation on the MSI Creator TRX40 with the latest BIOS?
Would you run the following and share for the world?

sudo lspci -vvv
lsusb
lsusb -t
dmesg

and the script to check IOMMU group separation, either from this post on the L1 forums or on the arch wiki.

1 Like

Hello, I have just purchased a asrock wrx80 creator motherboard and I am not able to install XCP-ng due to iommu issues. I am not seeing any of these settings within the bios to change to the recommended x2apic setting to fix this issue. Does anyone have any information about this?