All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Reserve more feature bits for device type usage
@ 2022-01-14 11:12 Cornelia Huck
  2022-01-16  9:41 ` Max Gurtovoy
  2022-02-02 10:52 ` Max Gurtovoy
  0 siblings, 2 replies; 7+ messages in thread
From: Cornelia Huck @ 2022-01-14 11:12 UTC (permalink / raw)
  To: virtio-dev, virtio-comment; +Cc: Cornelia Huck, Max Gurtovoy

Feature bits 41 and above are noted as being reserved for future
extensions. However, the net device has been using bits in that space
for some time now, as it already used up the device type specific
range up to 23.

To avoid problems in the future, let's designate bits 50 to 127 to
device type specific usage (which accommodates current usage by the
net driver, and gives breathing room for future type specific bits),
and declare bits 41 to 49 and bits 128 and above to be reserved for
future extensions (which gives us some time before bit numbers move
beyond 63, which would need some changes in existing device and driver
implementations.)

Reported-by: Max Gurtovoy <mgurtovoy@nvidia.com>
Fixes: https://github.com/oasis-tcs/virtio-spec/issues/131
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
---
 content.tex | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/content.tex b/content.tex
index 32de6685c50b..c6f116c7aa39 100644
--- a/content.tex
+++ b/content.tex
@@ -97,12 +97,12 @@ \section{Feature Bits}\label{sec:Basic Facilities of a Virtio Device / Feature B
 Feature bits are allocated as follows:
 
 \begin{description}
-\item[0 to 23] Feature bits for the specific device type
+\item[0 to 23, and 50 to 127] Feature bits for the specific device type
 
 \item[24 to 40] Feature bits reserved for extensions to the queue and
   feature negotiation mechanisms
 
-\item[41 and above] Feature bits reserved for future extensions.
+\item[41 to 49, and 128 and above] Feature bits reserved for future extensions.
 \end{description}
 
 \begin{note}
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH] Reserve more feature bits for device type usage
  2022-01-14 11:12 [PATCH] Reserve more feature bits for device type usage Cornelia Huck
@ 2022-01-16  9:41 ` Max Gurtovoy
  2022-02-02 10:52 ` Max Gurtovoy
  1 sibling, 0 replies; 7+ messages in thread
From: Max Gurtovoy @ 2022-01-16  9:41 UTC (permalink / raw)
  To: Cornelia Huck, virtio-dev, virtio-comment


On 1/14/2022 1:12 PM, Cornelia Huck wrote:
> Feature bits 41 and above are noted as being reserved for future
> extensions. However, the net device has been using bits in that space
> for some time now, as it already used up the device type specific
> range up to 23.
>
> To avoid problems in the future, let's designate bits 50 to 127 to
> device type specific usage (which accommodates current usage by the
> net driver, and gives breathing room for future type specific bits),
> and declare bits 41 to 49 and bits 128 and above to be reserved for
> future extensions (which gives us some time before bit numbers move
> beyond 63, which would need some changes in existing device and driver
> implementations.)
>
> Reported-by: Max Gurtovoy <mgurtovoy@nvidia.com>
> Fixes: https://github.com/oasis-tcs/virtio-spec/issues/131
> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
> ---
>   content.tex | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/content.tex b/content.tex
> index 32de6685c50b..c6f116c7aa39 100644
> --- a/content.tex
> +++ b/content.tex
> @@ -97,12 +97,12 @@ \section{Feature Bits}\label{sec:Basic Facilities of a Virtio Device / Feature B
>   Feature bits are allocated as follows:
>   
>   \begin{description}
> -\item[0 to 23] Feature bits for the specific device type
> +\item[0 to 23, and 50 to 127] Feature bits for the specific device type
>   
>   \item[24 to 40] Feature bits reserved for extensions to the queue and
>     feature negotiation mechanisms
>   
> -\item[41 and above] Feature bits reserved for future extensions.
> +\item[41 to 49, and 128 and above] Feature bits reserved for future extensions.
>   \end{description}
>   
>   \begin{note}

Looks reasonable to me.

Reviewed-by: Max Gurtovoy <mgurtovoy@nvidia.com>



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] Reserve more feature bits for device type usage
  2022-01-14 11:12 [PATCH] Reserve more feature bits for device type usage Cornelia Huck
  2022-01-16  9:41 ` Max Gurtovoy
@ 2022-02-02 10:52 ` Max Gurtovoy
  2022-02-02 11:52   ` [virtio-dev] " Cornelia Huck
  1 sibling, 1 reply; 7+ messages in thread
From: Max Gurtovoy @ 2022-02-02 10:52 UTC (permalink / raw)
  To: Cornelia Huck, virtio-dev, virtio-comment


On 1/14/2022 1:12 PM, Cornelia Huck wrote:
> Feature bits 41 and above are noted as being reserved for future
> extensions. However, the net device has been using bits in that space
> for some time now, as it already used up the device type specific
> range up to 23.
>
> To avoid problems in the future, let's designate bits 50 to 127 to
> device type specific usage (which accommodates current usage by the
> net driver, and gives breathing room for future type specific bits),
> and declare bits 41 to 49 and bits 128 and above to be reserved for
> future extensions (which gives us some time before bit numbers move
> beyond 63, which would need some changes in existing device and driver
> implementations.)
>
> Reported-by: Max Gurtovoy <mgurtovoy@nvidia.com>
> Fixes: https://github.com/oasis-tcs/virtio-spec/issues/131
> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
> ---
>   content.tex | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/content.tex b/content.tex
> index 32de6685c50b..c6f116c7aa39 100644
> --- a/content.tex
> +++ b/content.tex
> @@ -97,12 +97,12 @@ \section{Feature Bits}\label{sec:Basic Facilities of a Virtio Device / Feature B
>   Feature bits are allocated as follows:
>   
>   \begin{description}
> -\item[0 to 23] Feature bits for the specific device type
> +\item[0 to 23, and 50 to 127] Feature bits for the specific device type
>   
>   \item[24 to 40] Feature bits reserved for extensions to the queue and
>     feature negotiation mechanisms
>   
> -\item[41 and above] Feature bits reserved for future extensions.
> +\item[41 to 49, and 128 and above] Feature bits reserved for future extensions.
>   \end{description}
>   
>   \begin{note}

Cornelia,

I've noticed that Legacy net device has VIRTIO_NET_F_GUEST_RSC4 (41) and 
VIRTIO_NET_F_GUEST_RSC6 (42).

Do we need to reserved them too or keep the fix as-is ?



^ permalink raw reply	[flat|nested] 7+ messages in thread

* [virtio-dev] Re: [PATCH] Reserve more feature bits for device type usage
  2022-02-02 10:52 ` Max Gurtovoy
@ 2022-02-02 11:52   ` Cornelia Huck
  2022-02-02 12:06     ` Max Gurtovoy
  0 siblings, 1 reply; 7+ messages in thread
From: Cornelia Huck @ 2022-02-02 11:52 UTC (permalink / raw)
  To: Max Gurtovoy, virtio-dev, virtio-comment

On Wed, Feb 02 2022, Max Gurtovoy <mgurtovoy@nvidia.com> wrote:

> On 1/14/2022 1:12 PM, Cornelia Huck wrote:
>> Feature bits 41 and above are noted as being reserved for future
>> extensions. However, the net device has been using bits in that space
>> for some time now, as it already used up the device type specific
>> range up to 23.
>>
>> To avoid problems in the future, let's designate bits 50 to 127 to
>> device type specific usage (which accommodates current usage by the
>> net driver, and gives breathing room for future type specific bits),
>> and declare bits 41 to 49 and bits 128 and above to be reserved for
>> future extensions (which gives us some time before bit numbers move
>> beyond 63, which would need some changes in existing device and driver
>> implementations.)
>>
>> Reported-by: Max Gurtovoy <mgurtovoy@nvidia.com>
>> Fixes: https://github.com/oasis-tcs/virtio-spec/issues/131
>> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
>> ---
>>   content.tex | 4 ++--
>>   1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/content.tex b/content.tex
>> index 32de6685c50b..c6f116c7aa39 100644
>> --- a/content.tex
>> +++ b/content.tex
>> @@ -97,12 +97,12 @@ \section{Feature Bits}\label{sec:Basic Facilities of a Virtio Device / Feature B
>>   Feature bits are allocated as follows:
>>   
>>   \begin{description}
>> -\item[0 to 23] Feature bits for the specific device type
>> +\item[0 to 23, and 50 to 127] Feature bits for the specific device type
>>   
>>   \item[24 to 40] Feature bits reserved for extensions to the queue and
>>     feature negotiation mechanisms
>>   
>> -\item[41 and above] Feature bits reserved for future extensions.
>> +\item[41 to 49, and 128 and above] Feature bits reserved for future extensions.
>>   \end{description}
>>   
>>   \begin{note}
>
> Cornelia,
>
> I've noticed that Legacy net device has VIRTIO_NET_F_GUEST_RSC4 (41) and 
> VIRTIO_NET_F_GUEST_RSC6 (42).
>
> Do we need to reserved them too or keep the fix as-is ?

Eww. I think those bits shouldn't have been hiding in the "legacy"
section, as their higher number indicates that they are not for a legacy
device in the spec sense.

They have been introduced in
https://github.com/oasis-tcs/virtio-spec/issues/21 in 2018, I'm
wondering how old those Windows drivers referred to in there are. IOW,
would a new feature bit 41/42 break things for currently used Windows
drivers if it showed up on a virtio-net device? If we still care about
those drivers, we should reserve bits 41 and 42 as do-not-use, I guess.


---------------------------------------------------------------------
To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] Reserve more feature bits for device type usage
  2022-02-02 11:52   ` [virtio-dev] " Cornelia Huck
@ 2022-02-02 12:06     ` Max Gurtovoy
  2022-02-02 12:21       ` [virtio-comment] " Cornelia Huck
  0 siblings, 1 reply; 7+ messages in thread
From: Max Gurtovoy @ 2022-02-02 12:06 UTC (permalink / raw)
  To: Cornelia Huck, virtio-dev, virtio-comment, Oren Duer,
	Parav Pandit, Shahaf Shuler


On 2/2/2022 1:52 PM, Cornelia Huck wrote:
> On Wed, Feb 02 2022, Max Gurtovoy <mgurtovoy@nvidia.com> wrote:
>
>> On 1/14/2022 1:12 PM, Cornelia Huck wrote:
>>> Feature bits 41 and above are noted as being reserved for future
>>> extensions. However, the net device has been using bits in that space
>>> for some time now, as it already used up the device type specific
>>> range up to 23.
>>>
>>> To avoid problems in the future, let's designate bits 50 to 127 to
>>> device type specific usage (which accommodates current usage by the
>>> net driver, and gives breathing room for future type specific bits),
>>> and declare bits 41 to 49 and bits 128 and above to be reserved for
>>> future extensions (which gives us some time before bit numbers move
>>> beyond 63, which would need some changes in existing device and driver
>>> implementations.)
>>>
>>> Reported-by: Max Gurtovoy <mgurtovoy@nvidia.com>
>>> Fixes: https://github.com/oasis-tcs/virtio-spec/issues/131
>>> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
>>> ---
>>>    content.tex | 4 ++--
>>>    1 file changed, 2 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/content.tex b/content.tex
>>> index 32de6685c50b..c6f116c7aa39 100644
>>> --- a/content.tex
>>> +++ b/content.tex
>>> @@ -97,12 +97,12 @@ \section{Feature Bits}\label{sec:Basic Facilities of a Virtio Device / Feature B
>>>    Feature bits are allocated as follows:
>>>    
>>>    \begin{description}
>>> -\item[0 to 23] Feature bits for the specific device type
>>> +\item[0 to 23, and 50 to 127] Feature bits for the specific device type
>>>    
>>>    \item[24 to 40] Feature bits reserved for extensions to the queue and
>>>      feature negotiation mechanisms
>>>    
>>> -\item[41 and above] Feature bits reserved for future extensions.
>>> +\item[41 to 49, and 128 and above] Feature bits reserved for future extensions.
>>>    \end{description}
>>>    
>>>    \begin{note}
>> Cornelia,
>>
>> I've noticed that Legacy net device has VIRTIO_NET_F_GUEST_RSC4 (41) and
>> VIRTIO_NET_F_GUEST_RSC6 (42).
>>
>> Do we need to reserved them too or keep the fix as-is ?
> Eww. I think those bits shouldn't have been hiding in the "legacy"
> section, as their higher number indicates that they are not for a legacy
> device in the spec sense.
>
> They have been introduced in
> https://github.com/oasis-tcs/virtio-spec/issues/21 in 2018, I'm
> wondering how old those Windows drivers referred to in there are. IOW,
> would a new feature bit 41/42 break things for currently used Windows
> drivers if it showed up on a virtio-net device? If we still care about
> those drivers, we should reserve bits 41 and 42 as do-not-use, I guess.

I've not idea about the windows drivers.

But the bit 41 is currently the bit I use to negotiate the AQ in the 
last patchset so we need to decide how to progress.

Thanks.



^ permalink raw reply	[flat|nested] 7+ messages in thread

* [virtio-comment] Re: [PATCH] Reserve more feature bits for device type usage
  2022-02-02 12:06     ` Max Gurtovoy
@ 2022-02-02 12:21       ` Cornelia Huck
  2022-02-02 15:14         ` Max Gurtovoy
  0 siblings, 1 reply; 7+ messages in thread
From: Cornelia Huck @ 2022-02-02 12:21 UTC (permalink / raw)
  To: Max Gurtovoy, virtio-dev, virtio-comment, Oren Duer,
	Parav Pandit, Shahaf Shuler

On Wed, Feb 02 2022, Max Gurtovoy <mgurtovoy@nvidia.com> wrote:

> On 2/2/2022 1:52 PM, Cornelia Huck wrote:
>> On Wed, Feb 02 2022, Max Gurtovoy <mgurtovoy@nvidia.com> wrote:
>>
>>> On 1/14/2022 1:12 PM, Cornelia Huck wrote:
>>>> Feature bits 41 and above are noted as being reserved for future
>>>> extensions. However, the net device has been using bits in that space
>>>> for some time now, as it already used up the device type specific
>>>> range up to 23.
>>>>
>>>> To avoid problems in the future, let's designate bits 50 to 127 to
>>>> device type specific usage (which accommodates current usage by the
>>>> net driver, and gives breathing room for future type specific bits),
>>>> and declare bits 41 to 49 and bits 128 and above to be reserved for
>>>> future extensions (which gives us some time before bit numbers move
>>>> beyond 63, which would need some changes in existing device and driver
>>>> implementations.)
>>>>
>>>> Reported-by: Max Gurtovoy <mgurtovoy@nvidia.com>
>>>> Fixes: https://github.com/oasis-tcs/virtio-spec/issues/131
>>>> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
>>>> ---
>>>>    content.tex | 4 ++--
>>>>    1 file changed, 2 insertions(+), 2 deletions(-)
>>>>
>>>> diff --git a/content.tex b/content.tex
>>>> index 32de6685c50b..c6f116c7aa39 100644
>>>> --- a/content.tex
>>>> +++ b/content.tex
>>>> @@ -97,12 +97,12 @@ \section{Feature Bits}\label{sec:Basic Facilities of a Virtio Device / Feature B
>>>>    Feature bits are allocated as follows:
>>>>    
>>>>    \begin{description}
>>>> -\item[0 to 23] Feature bits for the specific device type
>>>> +\item[0 to 23, and 50 to 127] Feature bits for the specific device type
>>>>    
>>>>    \item[24 to 40] Feature bits reserved for extensions to the queue and
>>>>      feature negotiation mechanisms
>>>>    
>>>> -\item[41 and above] Feature bits reserved for future extensions.
>>>> +\item[41 to 49, and 128 and above] Feature bits reserved for future extensions.
>>>>    \end{description}
>>>>    
>>>>    \begin{note}
>>> Cornelia,
>>>
>>> I've noticed that Legacy net device has VIRTIO_NET_F_GUEST_RSC4 (41) and
>>> VIRTIO_NET_F_GUEST_RSC6 (42).
>>>
>>> Do we need to reserved them too or keep the fix as-is ?
>> Eww. I think those bits shouldn't have been hiding in the "legacy"
>> section, as their higher number indicates that they are not for a legacy
>> device in the spec sense.
>>
>> They have been introduced in
>> https://github.com/oasis-tcs/virtio-spec/issues/21 in 2018, I'm
>> wondering how old those Windows drivers referred to in there are. IOW,
>> would a new feature bit 41/42 break things for currently used Windows
>> drivers if it showed up on a virtio-net device? If we still care about
>> those drivers, we should reserve bits 41 and 42 as do-not-use, I guess.
>
> I've not idea about the windows drivers.
>
> But the bit 41 is currently the bit I use to negotiate the AQ in the 
> last patchset so we need to decide how to progress.

For your purpose, it would probably be best to simply go with 43 in your
next update.

We have to come to a conclusion before we merge any new feature using a
bit in that range anyway... and I really would like to have that cleared
up before we do our draft :/


This publicly archived list offers a means to provide input to the
OASIS Virtual I/O Device (VIRTIO) TC.

In order to verify user consent to the Feedback License terms and
to minimize spam in the list archive, subscription is required
before posting.

Subscribe: virtio-comment-subscribe@lists.oasis-open.org
Unsubscribe: virtio-comment-unsubscribe@lists.oasis-open.org
List help: virtio-comment-help@lists.oasis-open.org
List archive: https://lists.oasis-open.org/archives/virtio-comment/
Feedback License: https://www.oasis-open.org/who/ipr/feedback_license.pdf
List Guidelines: https://www.oasis-open.org/policies-guidelines/mailing-lists
Committee: https://www.oasis-open.org/committees/virtio/
Join OASIS: https://www.oasis-open.org/join/


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] Reserve more feature bits for device type usage
  2022-02-02 12:21       ` [virtio-comment] " Cornelia Huck
@ 2022-02-02 15:14         ` Max Gurtovoy
  0 siblings, 0 replies; 7+ messages in thread
From: Max Gurtovoy @ 2022-02-02 15:14 UTC (permalink / raw)
  To: Cornelia Huck, virtio-dev, virtio-comment, Oren Duer,
	Parav Pandit, Shahaf Shuler


On 2/2/2022 2:21 PM, Cornelia Huck wrote:
> On Wed, Feb 02 2022, Max Gurtovoy <mgurtovoy@nvidia.com> wrote:
>
>> On 2/2/2022 1:52 PM, Cornelia Huck wrote:
>>> On Wed, Feb 02 2022, Max Gurtovoy <mgurtovoy@nvidia.com> wrote:
>>>
>>>> On 1/14/2022 1:12 PM, Cornelia Huck wrote:
>>>>> Feature bits 41 and above are noted as being reserved for future
>>>>> extensions. However, the net device has been using bits in that space
>>>>> for some time now, as it already used up the device type specific
>>>>> range up to 23.
>>>>>
>>>>> To avoid problems in the future, let's designate bits 50 to 127 to
>>>>> device type specific usage (which accommodates current usage by the
>>>>> net driver, and gives breathing room for future type specific bits),
>>>>> and declare bits 41 to 49 and bits 128 and above to be reserved for
>>>>> future extensions (which gives us some time before bit numbers move
>>>>> beyond 63, which would need some changes in existing device and driver
>>>>> implementations.)
>>>>>
>>>>> Reported-by: Max Gurtovoy <mgurtovoy@nvidia.com>
>>>>> Fixes: https://github.com/oasis-tcs/virtio-spec/issues/131
>>>>> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
>>>>> ---
>>>>>     content.tex | 4 ++--
>>>>>     1 file changed, 2 insertions(+), 2 deletions(-)
>>>>>
>>>>> diff --git a/content.tex b/content.tex
>>>>> index 32de6685c50b..c6f116c7aa39 100644
>>>>> --- a/content.tex
>>>>> +++ b/content.tex
>>>>> @@ -97,12 +97,12 @@ \section{Feature Bits}\label{sec:Basic Facilities of a Virtio Device / Feature B
>>>>>     Feature bits are allocated as follows:
>>>>>     
>>>>>     \begin{description}
>>>>> -\item[0 to 23] Feature bits for the specific device type
>>>>> +\item[0 to 23, and 50 to 127] Feature bits for the specific device type
>>>>>     
>>>>>     \item[24 to 40] Feature bits reserved for extensions to the queue and
>>>>>       feature negotiation mechanisms
>>>>>     
>>>>> -\item[41 and above] Feature bits reserved for future extensions.
>>>>> +\item[41 to 49, and 128 and above] Feature bits reserved for future extensions.
>>>>>     \end{description}
>>>>>     
>>>>>     \begin{note}
>>>> Cornelia,
>>>>
>>>> I've noticed that Legacy net device has VIRTIO_NET_F_GUEST_RSC4 (41) and
>>>> VIRTIO_NET_F_GUEST_RSC6 (42).
>>>>
>>>> Do we need to reserved them too or keep the fix as-is ?
>>> Eww. I think those bits shouldn't have been hiding in the "legacy"
>>> section, as their higher number indicates that they are not for a legacy
>>> device in the spec sense.
>>>
>>> They have been introduced in
>>> https://github.com/oasis-tcs/virtio-spec/issues/21 in 2018, I'm
>>> wondering how old those Windows drivers referred to in there are. IOW,
>>> would a new feature bit 41/42 break things for currently used Windows
>>> drivers if it showed up on a virtio-net device? If we still care about
>>> those drivers, we should reserve bits 41 and 42 as do-not-use, I guess.
>> I've not idea about the windows drivers.
>>
>> But the bit 41 is currently the bit I use to negotiate the AQ in the
>> last patchset so we need to decide how to progress.
> For your purpose, it would probably be best to simply go with 43 in your
> next update.

it won't align with the Feature bits section so I'll keep it 41 for v3 
and hope it will be resolved by v4...

>
> We have to come to a conclusion before we merge any new feature using a
> bit in that range anyway... and I really would like to have that cleared
> up before we do our draft :/
>


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2022-02-02 15:14 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-14 11:12 [PATCH] Reserve more feature bits for device type usage Cornelia Huck
2022-01-16  9:41 ` Max Gurtovoy
2022-02-02 10:52 ` Max Gurtovoy
2022-02-02 11:52   ` [virtio-dev] " Cornelia Huck
2022-02-02 12:06     ` Max Gurtovoy
2022-02-02 12:21       ` [virtio-comment] " Cornelia Huck
2022-02-02 15:14         ` Max Gurtovoy

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.