Skip to content

docs, host-devices: Add SR-IOV vGPU preparation section - #1009

Open
xpivarc wants to merge 1 commit into
kubevirt:mainfrom
xpivarc:vgpu
Open

xpivarc wants to merge 1 commit into
kubevirt:mainfrom
xpivarc:vgpu

Conversation

@xpivarc

@xpivarc xpivarc commented Jun 17, 2026

Copy link
Copy Markdown
Member

What this PR does / why we need it:
Document the limitations and usage of SR-IOV-based vGPU passthrough, including the distinction from mediated devices and when to use what device plugin.

Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #

Special notes for your reviewer:

Release note:

NONE

@kubevirt-bot kubevirt-bot added the dco-signoff: yes Indicates the PR's author has DCO signed all their commits. label Jun 17, 2026
@kubevirt-bot

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign jean-edouard for approval. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@aburdenthehand aburdenthehand left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm
Nice work @xpivarc
I have suggested a couple of nits.

Comment thread docs/compute/host-devices.md Outdated
## Preparation of PCI devices for passthrough

At this time, KubeVirt is only able to assign PCI devices that are using the `vfio-pci` driver. To prepare a specific device for device assignment, it should first be unbound from its original driver and bound to the `vfio-pci` driver.
At this time, KubeVirt is only able to assign PCI devices that are using the `vfio-pci` driver (except for [SR-IOV vGPU](#preparation-of-vgpu-devices-with-sr-iov)). To prepare a specific device for device assignment, it should first be unbound from its original driver and bound to the `vfio-pci` driver.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
At this time, KubeVirt is only able to assign PCI devices that are using the `vfio-pci` driver (except for [SR-IOV vGPU](#preparation-of-vgpu-devices-with-sr-iov)). To prepare a specific device for device assignment, it should first be unbound from its original driver and bound to the `vfio-pci` driver.
At this time, KubeVirt is only able to assign PCI devices that are using the `vfio-pci` driver, with the exception of [SR-IOV vGPU](#preparation-of-vgpu-devices-with-sr-iov). To prepare a specific device for device assignment, it should first be unbound from its original driver and bound to the `vfio-pci` driver.

Comment thread docs/compute/host-devices.md Outdated
## Preparation of vGPU devices with SR-IOV

In general, configuration of vGPUs with SR-IOV should be done according to the vendor directions.
KubeVirt doesn't support creation of virtual function (VF) nor the assignment of vGPU profile to the function.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
KubeVirt doesn't support creation of virtual function (VF) nor the assignment of vGPU profile to the function.
KubeVirt does not support the creation of virtual function (VF) nor the assignment of vGPU profile to the function.

Comment thread docs/compute/host-devices.md Outdated

In general, configuration of vGPUs with SR-IOV should be done according to the vendor directions.
KubeVirt doesn't support creation of virtual function (VF) nor the assignment of vGPU profile to the function.
KubeVirt only facilitates exposure of these virtual functions for the VM to consume them (through generic PCI device plugin) but doesn't have fine-grained distinctions of the profiles such as for the mdevs. Therefore it is recommended to use vendor's device plugin to expose the functions in case of heterogeneous profiles.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
KubeVirt only facilitates exposure of these virtual functions for the VM to consume them (through generic PCI device plugin) but doesn't have fine-grained distinctions of the profiles such as for the mdevs. Therefore it is recommended to use vendor's device plugin to expose the functions in case of heterogeneous profiles.
KubeVirt only facilitates exposure of these VFs for the VM to consume them (through generic PCI device plugin) but does not have fine-grained distinctions of the profiles, like those for mdevs. Therefore it is recommended to use vendor's device plugin to expose the functions in case of heterogeneous profiles.

?

@kubevirt-prow kubevirt-prow Bot added the lgtm Indicates that a PR is ready to be merged. label Jun 29, 2026
@kubevirt-bot

Copy link
Copy Markdown
Contributor

Pull requests that are marked with lgtm should receive a review
from an approver within 1 week.

After that period the bot marks them with the label needs-approver-review.

/label needs-approver-review

@kubevirt-prow kubevirt-prow Bot added the needs-approver-review Indicates that a PR requires a review from an approver. label Jul 6, 2026
Document the limitations and usage of SR-IOV-based vGPU passthrough,
including the distinction from mediated devices and when to use
what device plugin.

Signed-off-by: Luboslav Pivarc <lpivarc@redhat.com>
@kubevirt-prow kubevirt-prow Bot removed the lgtm Indicates that a PR is ready to be merged. label Sep 14, 2026
@kubevirt-prow

kubevirt-prow Bot commented Sep 14, 2026

Copy link
Copy Markdown

New changes are detected. LGTM label has been removed.

@kubevirt-prow

kubevirt-prow Bot commented Sep 14, 2026

Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please ask for approval from aburdenthehand. For more information see the Code Review Process.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dco-signoff: yes Indicates the PR's author has DCO signed all their commits. needs-approver-review Indicates that a PR requires a review from an approver. size/S

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants