Skip to content

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

Closed

Description

@rsmontero

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)

Activity

  1. added this to the Release 6.10.3 milestone on Jan 2, 2025
  2. self-assigned this
    on Jan 2, 2025
  3. added 4 commits that reference this issue on Jan 11, 2025
  4. added a commit that references this issue on Feb 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions