Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for NVIDIA vGPU vendor-specific VFIO framework #6841

Open
7 tasks
rsmontero opened this issue Jan 2, 2025 · 0 comments
Open
7 tasks

Add support for NVIDIA vGPU vendor-specific VFIO framework #6841

rsmontero opened this issue Jan 2, 2025 · 0 comments

Comments

@rsmontero
Copy link
Member

rsmontero commented Jan 2, 2025

Description
With the release of Ubuntu 24.04, NVIDIA introduced a vendor-specific VFIO framework that does not support the legacy mediated driver (mdev). This issue is to adapt the vgu KVM action script to support this new mode.

The new logic will implement the following configuration steps:

  • Activated the VGPU
echo $profile >  /sys/bus/pci/devices/domain\:bus\:vf-slot.v-function/nvidia/current_vgpu_type

The driver should check that the $profile is listed in the creatable_vgpu_types file.

  • Deactivation is performed by removing the vGPU (current_vgpu_type = 0) on the virtual function

  • The vGPU should be added to the VM domain as a pci device like:

<hostdev mode='subsystem' type='pci' managed='no'>
	<source>
		<address domain='0x0000' bus='0x41' slot='0x00' function='0x5'/>
	</source>
	<address type='pci' domain='0x0000' bus='0x01' slot='0x01' function='0'/>
</hostdev>

Actions

  • Define a suitable method to use the legacy or proprietary mdev framework
  • Update src/vmm_mad/remotes/kvm/vgpu to perform the above configuration
  • Update libvirtKVM.cc to generate the proper hostdev configuration
  • Update Template tab in Sunstone

Interface Changes

  • All existing attributes should be preserved. Maybe a new attribute to set the vGPU framework would be needed e.g. NVIDIA_MDEV_TYPE=<mdev|vendor> or similar
  • Template tab in Sunstone should include the new attributes if any

Additional Context

Progress Status

  • Code committed
  • Testing - QA
  • Documentation (Release notes - resolved issues, compatibility, known issues)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant