OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

virtio-dev message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [PATCH] Reserve more feature bits for device type usage


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 :/



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]