content: support SR-IOV
PATCH v2 1/1 content: support SR-IOV
Allocate a feature bit for virtio devices which support SR-IOV.
---
More details can be found from this thread:
https://patchwork.kernel.org/patch/10285541/
This patch needs below patch applied first:
https://github.com/oasis-tcs/virtio-spec/issues/10
https://lists.oasis-open.org/archives/virtio-dev/201805/msg00046.html
v1 -> v2:
- s/Reserve/Allocate/ (MST);
- Add a Fixes tag (MST);
- Be more explicit in driver requirement (MST);
- Remove the "device MAY fail" description (MST);
- Rebase on IO_BARRIER patch;
RFC -> v1:
- Mention PCI in the description (Cornelia);
content.tex | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-)
content.tex +13 -2
@@ -95,10 +95,10 @@ Feature bits are allocated as follows: \begin{description} \item[0 to 23] Feature bits for the specific device type -\item[24 to 36] Feature bits reserved for extensions to the queue and +\item[24 to 37] Feature bits reserved for extensions to the queue and feature negotiation mechanisms -\item[37 and above] Feature bits reserved for future extensions. +\item[38 and above] Feature bits reserved for future extensions. \end{description} \begin{note}
@@ -5357,6 +5357,9 @@ Descriptors} and \ref{sec:Packed Virtqueues / Indirect Flag: Scatter-Gather Supp better performance. This feature indicates whether a stronger form of barrier suitable for hardware devices is necessary. + \item[VIRTIO_F_SR_IOV(37)] This feature indicates that + the device supports Single Root I/O Virtualization. + Currently only virtio PCI devices support this feature. \end{description} \drivernormative{\section}{Reserved Feature Bits}{Reserved Feature Bits}
@@ -5376,6 +5379,11 @@ A driver SHOULD accept VIRTIO_F_IO_BARRIER if it is offered. If VIRTIO_F_IO_BARRIER has been negotiated, a driver MUST use the barriers suitable for hardware devices. +A driver SHOULD accept VIRTIO_F_SR_IOV if it is offered. +If VIRTIO_F_SR_IOV has been negotiated, a driver can +enable virtual functions through device's PCI SR-IOV +capability structure. + \devicenormative{\section}{Reserved Feature Bits}{Reserved Feature Bits} A device MUST offer VIRTIO_F_VERSION_1. A device MAY fail to operate further
@@ -5392,6 +5400,9 @@ buffers in the same order in which they have been available. A device MAY fail to operate further if VIRTIO_F_IO_BARRIER is not accepted. +A device SHOULD offer VIRTIO_F_SR_IOV if it presents a PCI +SR-IOV capability structure. + \section{Legacy Interface: Reserved Feature Bits}\label{sec:Reserved Feature Bits / Legacy Interface: Reserved Feature Bits} Transitional devices MAY offer the following:
Signature · 6 lines
2.17.0 --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
Quoted 44 lines · On Tue, 22 May 2018 12:56:23 +0800 Tiwei Bie <[email protected]> wrote:
Allocate a feature bit for virtio devices which support SR-IOV.
Suggested-by Michael S. Tsirkin <[email protected]>Signed-off-by Tiwei Bie <[email protected]>---
More details can be found from this thread:
https://patchwork.kernel.org/patch/10285541/This patch needs below patch applied first:
https://github.com/oasis-tcs/virtio-spec/issues/10
https://lists.oasis-open.org/archives/virtio-dev/201805/msg00046.htmlv1 -> v2:
- s/Reserve/Allocate/ (MST);
- Add a Fixes tag (MST);
- Be more explicit in driver requirement (MST);
- Remove the "device MAY fail" description (MST);
- Rebase onIO_BARRIERpatch;RFC -> v1:
- Mention PCI in the description (Cornelia);content.tex | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-)content.tex +2
-2@@ -95,10 +95,10 @@ Feature bits are allocated as follows: \begin{description} \item[0 to 23] Feature bits for the specific device type -\item[24 to 36] Feature bits reserved for extensions to the queue and +\item[24 to 37] Feature bits reserved for extensions to the queue and feature negotiation mechanisms -\item[37 and above] Feature bits reserved for future extensions. +\item[38 and above] Feature bits reserved for future extensions. \end{description} \begin{note}
content.tex Descriptors} and \ref{sec:Packed Virtqueues / Indirect Flag: Scatter-Gather Supp · line 5362
Quoted 6 lines
content.tex +3
-0@@ -5357,6 +5357,9 @@ Descriptors} and \ref{sec:Packed Virtqueues / Indirect Flag: Scatter-Gather Supp better performance. This feature indicates whether a stronger form of barrier suitable for hardware devices is necessary. + \item[VIRTIO_F_SR_IOV(37)] This feature indicates that + the device supports Single Root I/O Virtualization. + Currently only virtio PCI devices support this feature.
Nit: s/virtio PCI devices/PCI devices/
(I'd be fine with keeping 'virtio', though.)
content.tex A driver SHOULD accept VIRTIO_F_IO_BARRIER if it is offered. · line 5384
Quoted 10 lines
content.tex +3
-0\end{description} \drivernormative{\section}{Reserved Feature Bits}{Reserved Feature Bits}@@ -5376,6 +5379,11 @@ A driver SHOULD accept VIRTIO_F_IO_BARRIER if it is offered. If VIRTIO_F_IO_BARRIER has been negotiated, a driver MUST use the barriers suitable for hardware devices. +A driver SHOULD accept VIRTIO_F_SR_IOV if it is offered. +If VIRTIO_F_SR_IOV has been negotiated, a driver can +enable virtual functions through device's PCI SR-IOV
s/device's/the device's/
Quoted 6 lines
content.tex +2
-0+capability structure. + \devicenormative{\section}{Reserved Feature Bits}{Reserved Feature Bits} A device MUST offer VIRTIO_F_VERSION_1. A device MAY fail to operate further
content.tex buffers in the same order in which they have been available. · line 5408
Quoted 9 lines
content.tex +3
-0@@ -5392,6 +5400,9 @@ buffers in the same order in which they have been available. A device MAY fail to operate further if VIRTIO_F_IO_BARRIER is not accepted. +A device SHOULD offer VIRTIO_F_SR_IOV if it presents a PCI +SR-IOV capability structure. + \section{Legacy Interface: Reserved Feature Bits}\label{sec:Reserved Feature Bits / Legacy Interface: Reserved Feature Bits} Transitional devices MAY offer the following:
Else LGTM.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
Quoted 80 lines · Cornelia Huck
Quoted 44 lines · On Tue, 22 May 2018 12:56:23 +0800 Tiwei Bie <[email protected]> wrote:
Allocate a feature bit for virtio devices which support SR-IOV.
Suggested-by Michael S. Tsirkin <[email protected]>Signed-off-by Tiwei Bie <[email protected]>---
More details can be found from this thread:
https://patchwork.kernel.org/patch/10285541/This patch needs below patch applied first:
https://github.com/oasis-tcs/virtio-spec/issues/10
https://lists.oasis-open.org/archives/virtio-dev/201805/msg00046.htmlv1 -> v2:
- s/Reserve/Allocate/ (MST);
- Add a Fixes tag (MST);
- Be more explicit in driver requirement (MST);
- Remove the "device MAY fail" description (MST);
- Rebase onIO_BARRIERpatch;RFC -> v1:
- Mention PCI in the description (Cornelia);content.tex | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-)content.tex +2
-2@@ -95,10 +95,10 @@ Feature bits are allocated as follows: \begin{description} \item[0 to 23] Feature bits for the specific device type -\item[24 to 36] Feature bits reserved for extensions to the queue and +\item[24 to 37] Feature bits reserved for extensions to the queue and feature negotiation mechanisms -\item[37 and above] Feature bits reserved for future extensions. +\item[38 and above] Feature bits reserved for future extensions. \end{description} \begin{note}content.tex Descriptors} and \ref{sec:Packed Virtqueues / Indirect Flag: Scatter-Gather Supp · line 5362
Quoted 6 lines
content.tex +3
-0@@ -5357,6 +5357,9 @@ Descriptors} and \ref{sec:Packed Virtqueues / Indirect Flag: Scatter-Gather Supp better performance. This feature indicates whether a stronger form of barrier suitable for hardware devices is necessary. + \item[VIRTIO_F_SR_IOV(37)] This feature indicates that + the device supports Single Root I/O Virtualization. + Currently only virtio PCI devices support this feature.Nit: s/virtio PCI devices/PCI devices/
(I'd be fine with keeping 'virtio', though.)
content.tex A driver SHOULD accept VIRTIO_F_IO_BARRIER if it is offered. · line 5384
Quoted 10 lines
content.tex +3
-0\end{description} \drivernormative{\section}{Reserved Feature Bits}{Reserved Feature Bits}@@ -5376,6 +5379,11 @@ A driver SHOULD accept VIRTIO_F_IO_BARRIER if it is offered. If VIRTIO_F_IO_BARRIER has been negotiated, a driver MUST use the barriers suitable for hardware devices. +A driver SHOULD accept VIRTIO_F_SR_IOV if it is offered. +If VIRTIO_F_SR_IOV has been negotiated, a driver can +enable virtual functions through device's PCI SR-IOVs/device's/the device's/
Quoted 9 lines
content.tex +2
-0+capability structure. + \devicenormative{\section}{Reserved Feature Bits}{Reserved Feature Bits} A device MUST offer VIRTIO_F_VERSION_1. A device MAY fail to operate further@@ -5392,6 +5400,9 @@ buffers in the same order in which they have been available. A device MAY fail to operate further if VIRTIO_F_IO_BARRIER is not accepted.
Quoted 8 lines
content.tex buffers in the same order in which they have been available. · line 5408
Quoted 6 lines
content.tex +3
-0+A device SHOULD offer VIRTIO_F_SR_IOV if it presents a PCI +SR-IOV capability structure. + \section{Legacy Interface: Reserved Feature Bits}\label{sec:Reserved Feature Bits / Legacy Interface: Reserved Feature Bits} Transitional devices MAY offer the following:Else LGTM.
Thank you very much for the review! :)
Best regards,
Tiwei Bie
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]