All of lore.kernel.org
 help / color / mirror / Atom feed
From: Max Gurtovoy <mgurtovoy@nvidia.com>
To: "Michael S. Tsirkin" <mst@redhat.com>
Cc: virtio-comment@lists.oasis-open.org, cohuck@redhat.com,
	virtio-dev@lists.oasis-open.org, jasowang@redhat.com,
	parav@nvidia.com, shahafs@nvidia.com, oren@nvidia.com,
	stefanha@redhat.com
Subject: Re: [PATCH v3 1/4] Add virtio Admin virtqueue
Date: Tue, 8 Feb 2022 02:41:44 +0200	[thread overview]
Message-ID: <e29a241b-ebd6-ccb5-1f8c-1ca7fad471d9@nvidia.com> (raw)
In-Reply-To: <20220207111649-mutt-send-email-mst@kernel.org>


On 2/7/2022 6:18 PM, Michael S. Tsirkin wrote:
> On Mon, Feb 07, 2022 at 04:58:19PM +0200, Max Gurtovoy wrote:
>> On 2/7/2022 12:39 PM, Michael S. Tsirkin wrote:
>>> On Thu, Feb 03, 2022 at 09:57:13AM +0200, Max Gurtovoy wrote:
>>>> +\begin{lstlisting}
>>>> +struct virtio_admin_cmd {
>>>> +        /* Device-readable part */
>>>> +        u16 command;
>>>> +        u8 command_specific_data[];
>>>> +
>>>> +        /* Device-writable part */
>>>> +        u8 status;
>>>> +        u8 command_specific_error;
>>>> +        u8 command_specific_result[];
>>>> +};
>>>> +\end{lstlisting}
>>> ok this abstraction is an improvement, thanks!
>>>
>>> What I'd like to see is moving a bit more format to this generic structure.
>>>
>>>   From what I could gather, some commands affect a group as a whole, and
>>> some commands just a single member of the group. We could have a
>>> "destination" field for that, and a special "all of the group"
>>> destination for commands affecting the whole group.
>>>
>>>
>>> Next, trying to think about scalable iov extensions. So we
>>> will have groups of VFs and then SFs as the next level.
>>> How does one differentiate between the two?
>>> Maybe reserve a field for "destination type"?
>> For now we have only a PCI group that composed of VFs and the PF.
>>
>> What you suggest, IMO is a definition of a generic virtio group/subsystem
>> that I've mentioned in the discussion of V1.
>>
>> Once we have virtio group - it should have a group id and them the admin
>> command can have a field calld group_id for commands that are targeted to
>> the whole group.
>>
>> Some commands are referring to a specific device in the group so only a
>> vdev_id is needed.
>>
>> Some commands are even targeted to the same device to query some info (we
>> have examples in this series for that), so in this case there is no need for
>> vdev_id nor group_id.
>>
>> So I'm sure sure we can improve common virtio_admin_cmd structure to have
>> these attributes since they are not mandatory because of the reasons I've
>> mentioned.
> I'm not sure I understand 100%, but try to address in the next
> revision and we'll discuss.

I meant to say that I'm *not* sure we can improve the common structure...

It was a typo.

And I don't understand why this info can't be in the 
command_specific_data because of all the reasons I mentioned above.

>
>>> The point of all this is to allow making sense of commands and
>>> e.g. virtualizing them for nested virt without necessarily
>>> knowing all of the detail about the specific command.
>> I don't understand this, sorry.
> Basically try to move stuff into generic format so it's possible
> to understand things without knowing detail of the command.

But we don't develop a networking protocol here. The management device 
is not sending packets towards its managed devices, right ?

This is an interface for a specific device that can manage others but 
also manage itself.

We didn't introduce a notion of broadcasting admin commands for other 
devices.


  reply	other threads:[~2022-02-08  0:41 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-03  7:57 [PATCH v3 0/4] VIRTIO: Provision maximum MSI-X vectors for a VF Max Gurtovoy
2022-02-03  7:57 ` [PATCH v3 1/4] Add virtio Admin virtqueue Max Gurtovoy
2022-02-03 13:09   ` [virtio-dev] " Cornelia Huck
2022-02-07 10:14     ` Max Gurtovoy
2022-02-07 10:28       ` Michael S. Tsirkin
2022-02-07 11:51         ` [virtio-dev] " Cornelia Huck
2022-02-07 14:34           ` Max Gurtovoy
2022-02-07 15:08             ` [virtio-comment] " Cornelia Huck
2022-02-07 16:19               ` Michael S. Tsirkin
2022-02-07 10:39   ` Michael S. Tsirkin
2022-02-07 14:58     ` Max Gurtovoy
2022-02-07 16:18       ` Michael S. Tsirkin
2022-02-08  0:41         ` Max Gurtovoy [this message]
2022-02-08  6:45           ` Michael S. Tsirkin
2022-02-08  8:34             ` Max Gurtovoy
2022-02-08 13:08               ` [virtio-dev] " Cornelia Huck
2022-02-08 13:20                 ` Parav Pandit
2022-02-08 14:04               ` Michael S. Tsirkin
2022-02-08  6:25     ` Parav Pandit
2022-02-08  6:42       ` Michael S. Tsirkin
2022-02-08  7:04         ` Parav Pandit
2022-02-08 13:19           ` [virtio-comment] " Cornelia Huck
2022-02-08 13:32             ` Parav Pandit
2022-02-08 13:58               ` Michael S. Tsirkin
2022-02-08 14:59                 ` [virtio-comment] " Cornelia Huck
2022-02-08 15:11                   ` [virtio-dev] " Parav Pandit
2022-02-08 15:18                     ` Cornelia Huck
2022-02-08 15:28                     ` Michael S. Tsirkin
2022-02-08 15:33                       ` Parav Pandit
2022-02-08 15:36                         ` Michael S. Tsirkin
2022-02-08 15:26                   ` Michael S. Tsirkin
2022-02-08 15:32                     ` [virtio-comment] " Cornelia Huck
2022-02-08 15:35                     ` [virtio-dev] " Parav Pandit
2022-02-08 15:37                       ` Michael S. Tsirkin
2022-02-08 15:48                         ` Parav Pandit
2022-02-08 21:02                           ` [virtio-comment] " Michael S. Tsirkin
2022-02-08 15:06                 ` Parav Pandit
2022-02-08 15:39                   ` Michael S. Tsirkin
2022-02-08 18:52                     ` Parav Pandit
2022-02-08 21:00                       ` Michael S. Tsirkin
2022-02-03  7:57 ` [PATCH v3 2/4] Add miscellaneous configuration structure for PCI Max Gurtovoy
2022-02-03  7:57 ` [PATCH v3 3/4] Add device management facility Max Gurtovoy
2022-02-03  7:57 ` [virtio-comment] [PATCH v3 4/4] Add support for MSI-X vectors configuration for PCI VFs Max Gurtovoy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=e29a241b-ebd6-ccb5-1f8c-1ca7fad471d9@nvidia.com \
    --to=mgurtovoy@nvidia.com \
    --cc=cohuck@redhat.com \
    --cc=jasowang@redhat.com \
    --cc=mst@redhat.com \
    --cc=oren@nvidia.com \
    --cc=parav@nvidia.com \
    --cc=shahafs@nvidia.com \
    --cc=stefanha@redhat.com \
    --cc=virtio-comment@lists.oasis-open.org \
    --cc=virtio-dev@lists.oasis-open.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.