Thread (52 messages) flat view 52 messages, 4 authors, 2021-10-06

Re: [virtio-dev] Re: [RFC PATCH 1/1] virtio: write back features before verify

From: "Michael S. Tsirkin" <mst@redhat.com>
Date: 2021-10-04 20:01:27
Also in: linux-s390, lkml

On Mon, Oct 04, 2021 at 05:45:06PM +0200, Cornelia Huck wrote:
On Mon, Oct 04 2021, "Michael S. Tsirkin" [off-list ref] wrote:
quoted
On Mon, Oct 04, 2021 at 04:27:23PM +0200, Cornelia Huck wrote:
quoted
On Mon, Oct 04 2021, "Michael S. Tsirkin" [off-list ref] wrote:
quoted
On Mon, Oct 04, 2021 at 02:01:14PM +0200, Cornelia Huck wrote:
quoted
On Sun, Oct 03 2021, "Michael S. Tsirkin" [off-list ref] wrote:
quoted
@@ -160,6 +163,33 @@ \subsection{Legacy Interface: A Note on Feature
 Specification text within these sections generally does not apply
 to non-transitional devices.
 
+\begin{note}
+The device offers different features when used through
+the legacy interface and when operated in accordance with this
+specification.
+\end{note}
+
+Transitional drivers MUST use Devices only through the legacy interface
s/Devices only through the legacy interface/devices through the legacy
interface only/

?
Both versions are actually confused, since how do you
find out that device does not offer VIRTIO_F_VERSION_1?

I think what this should really say is

Transitional drivers MUST NOT accept VIRTIO_F_VERSION_1 through
the legacy interface.
Ok, that makes sense.

Would it make sense that transitional drivers MUST accept VERSION_1
through the non-legacy interface? Or is that redundant?
We already have:

A driver MUST accept VIRTIO_F_VERSION_1 if it is offered.
Yep, so it is redundant.
quoted
quoted
quoted

Does linux actually satisfy this? Will it accept VIRTIO_F_VERSION_1
through the legacy interface if offered?
I think that the Linux drivers will not operate on feature bit 32+ if
they are in legacy mode?

Well ... with PCI there's no *way* for host to set bit 32 through
legacy. But it might be possible with MMIO/CCW. Can you tell me
what happens then?
ccw does not support accessing bit 32+, either. Not sure about mmio.
quoted
quoted
quoted
quoted
Generally, looks good to me.
Do we want to also add explanation that features can be
changed until FEATURES_OK?
I always considered that to be implict, as feature negotiation is not
over until we have FEATURES_OK. Not sure whether we need an extra note.
Well Halil here says once you set a feature bit you can't clear it.
So maybe not ...
Ok, so what about something like

"If FEATURES_OK is not set, the driver MAY change the set of features it
accepts."

in the device initialization section?
Maybe "as long as". However Halil implied that some features are not
turned off properly if that happens. Halil could you pls provide
some examples?

-- 
MST

_______________________________________________
Virtualization mailing list
Virtualization@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/virtualization
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help