From: "Michael S. Tsirkin" <mst@redhat.com>
To: Parav Pandit <parav@nvidia.com>
Cc: "virtio-dev@lists.oasis-open.org"
<virtio-dev@lists.oasis-open.org>,
"cohuck@redhat.com" <cohuck@redhat.com>,
"david.edmondson@oracle.com" <david.edmondson@oracle.com>,
"sburla@marvell.com" <sburla@marvell.com>,
"jasowang@redhat.com" <jasowang@redhat.com>,
Yishai Hadas <yishaih@nvidia.com>,
Maor Gottlieb <maorg@nvidia.com>,
"virtio-comment@lists.oasis-open.org"
<virtio-comment@lists.oasis-open.org>,
Shahaf Shuler <shahafs@nvidia.com>
Subject: [virtio-dev] Re: [virtio-comment] RE: [PATCH v2 1/2] transport-pci: Introduce legacy registers access commands
Date: Sun, 21 May 2023 05:16:38 -0400 [thread overview]
Message-ID: <20230521050829-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <PH0PR12MB5481AABA8A22DC088B5D7CFDDC7C9@PH0PR12MB5481.namprd12.prod.outlook.com>
On Fri, May 19, 2023 at 04:37:16PM +0000, Parav Pandit wrote:
>
> > From: Michael S. Tsirkin <mst@redhat.com>
> > Sent: Friday, May 19, 2023 2:07 AM
> >
> > On Thu, May 18, 2023 at 03:42:19PM -0400, Michael S. Tsirkin wrote:
> > > > > Does this sound like a reasonable
> > > > > compromize to you?
> > > >
> > > > Splitting proposed one command to two commands, 1. one for accessing
> > > > legacy common config 2. second for accessing legacy device specific
> > > > config
> > > >
> > > > seems fine to me as below.
> > > >
> > > > So we will have total 5 commands (instead of 3).
> > > >
> > > > 1. legacy common config read
> > > > 2. legacy common config write
> > > >
> > > > 3. legacy device config read
> > > > 4. legacy device config write
> > > > 5. query device notification area
> > > >
> > > > #1 and #3 same cmd signature but different opcode.
> > > > #2 and #4 same cmd signature but different opcode.
> > > >
> > >
> > > Sounds reasonable. Jason?
> > >
> > > notification thing needs more thought I feel though.
> > > It feels weirdly bolted on, but I can't put my finger on what's wrong
> > > exactly yet. Will think it over.
> >
> >
> > So with a fresh mind, at least three things:
> >
> > 1. given driver attaches to the PF, it should be possible to forward
> > notifications there, as opposed to individual VFs. NumVFs is 16 bit so
> > it will fit in a 32 bit write together with VQ index.
> >
> The Notification of the VFs are on the VF BAR for modern or legacy.
> One needs to build additional cross forwarding hardware from PF to VF for the doorbells.
I think doorbells are driver notifications (linux driver calls them
kicks)?
I don't understand what you are saying above really.
what can and what can't be done?
Again all this idea (as opposed to Jason's transport vq)
is to have a simple software model. Attaching a driver to two
devices at the same time is hard to achive e.g. under windows.
> And it cannot utilize what already exists for 1.x VF.
>
> > 2. It should be possible to send notifications through an admin command too,
> > otherwise admin commands are an incomplete set of functionality.
> >
> Yes. it is only for the functionality. As we discussed in past already, this will not get any performance.
Performance might be ok if hardware disables kicks most of the time.
> > 3. I feel using a capability to describe legacy notification
> > area would be better just because we already have a
> > structure for this. make it an express capability if you like.
> The AQ command interface is far more programable object than PCI capability to return this admin info.
> Hence I prefer AQ cmd.
I feel your preferences for 1 and 3 conflict. If you really insist on
kicks being on VFs then at least let us make VF driver in the
host simple. If it has to talk to PF driver things are really
complex. At this point we are very very far from VFIO model,
and then what exactly have we gained by implementing
legacy control path in hardware? Let's do software with
maybe a couple of features such as VIRTIO_NET_F_LEGACY_HEADER.
--
MST
---------------------------------------------------------------------
To unsubscribe, e-mail: virtio-dev-unsubscribe@lists.oasis-open.org
For additional commands, e-mail: virtio-dev-help@lists.oasis-open.org
next prev parent reply other threads:[~2023-05-21 9:16 UTC|newest]
Thread overview: 126+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-05-06 0:01 [virtio-dev] [PATCH v2 0/2] transport-pci: Introduce legacy registers access using AQ Parav Pandit
2023-05-06 0:01 ` [virtio-dev] [PATCH v2 1/2] transport-pci: Introduce legacy registers access commands Parav Pandit
2023-05-17 5:44 ` [virtio-dev] " Michael S. Tsirkin
2023-05-17 19:32 ` [virtio-dev] " Parav Pandit
2023-05-18 19:42 ` [virtio-dev] Re: [virtio-comment] " Michael S. Tsirkin
2023-05-18 20:51 ` [virtio-dev] " Parav Pandit
2023-05-19 1:54 ` [virtio-dev] " Jason Wang
2023-05-19 2:04 ` [virtio-dev] " Parav Pandit
2023-05-19 6:06 ` [virtio-dev] " Michael S. Tsirkin
2023-05-19 16:37 ` [virtio-dev] " Parav Pandit
2023-05-21 9:16 ` Michael S. Tsirkin [this message]
2023-05-21 13:21 ` Parav Pandit
2023-05-21 14:33 ` [virtio-dev] " Michael S. Tsirkin
2023-05-21 14:44 ` [virtio-dev] " Parav Pandit
2023-05-22 20:07 ` [virtio-dev] " Michael S. Tsirkin
2023-05-22 21:05 ` [virtio-dev] " Parav Pandit
2023-05-22 21:34 ` [virtio-dev] " Michael S. Tsirkin
2023-05-23 17:13 ` [virtio-dev] " Parav Pandit
2023-05-23 18:48 ` [virtio-dev] " Michael S. Tsirkin
2023-05-23 22:22 ` [virtio-dev] " Parav Pandit
2023-05-24 1:17 ` [virtio-dev] " Jason Wang
2023-05-24 10:07 ` Michael S. Tsirkin
2023-05-24 19:18 ` [virtio-dev] " Parav Pandit
2023-05-24 20:12 ` [virtio-dev] " Michael S. Tsirkin
2023-05-24 21:02 ` [virtio-dev] " Parav Pandit
2023-05-22 21:42 ` [virtio-dev] " Michael S. Tsirkin
2023-05-22 0:54 ` Jason Wang
2023-05-22 2:46 ` [virtio-dev] " Parav Pandit
2023-05-22 19:35 ` [virtio-dev] " Michael S. Tsirkin
2023-05-06 0:01 ` [virtio-dev] [PATCH v2 2/2] transport-pci: Add legacy register access conformance section Parav Pandit
2023-05-06 2:31 ` [virtio-dev] Re: [PATCH v2 0/2] transport-pci: Introduce legacy registers access using AQ Jason Wang
2023-05-07 13:44 ` Michael S. Tsirkin
2023-05-08 2:23 ` Jason Wang
2023-05-08 17:07 ` Parav Pandit
2023-05-09 3:44 ` Jason Wang
2023-05-09 3:56 ` [virtio-dev] " Parav Pandit
2023-05-10 3:51 ` [virtio-dev] " Jason Wang
2023-05-10 4:22 ` Jason Wang
2023-05-10 16:07 ` Parav Pandit
2023-05-11 7:20 ` [virtio-dev] Re: [virtio-comment] " Jason Wang
2023-05-11 11:35 ` Michael S. Tsirkin
2023-05-15 5:08 ` Jason Wang
2023-05-15 15:25 ` [virtio-dev] " Parav Pandit
2023-05-10 16:04 ` [virtio-dev] " Parav Pandit
2023-05-11 7:17 ` Jason Wang
2023-05-11 14:31 ` [virtio-dev] " Parav Pandit
2023-05-15 5:12 ` [virtio-dev] Re: [virtio-comment] " Jason Wang
2023-05-15 15:26 ` [virtio-dev] " Parav Pandit
2023-05-10 6:04 ` [virtio-dev] " Michael S. Tsirkin
2023-05-10 7:01 ` Jason Wang
2023-05-10 7:43 ` Michael S. Tsirkin
2023-05-10 16:13 ` Parav Pandit
2023-05-11 7:04 ` Jason Wang
2023-05-11 12:54 ` Michael S. Tsirkin
2023-05-11 13:02 ` [virtio-dev] " Parav Pandit
2023-05-15 7:30 ` [virtio-dev] " Jason Wang
2023-05-15 10:08 ` Michael S. Tsirkin
2023-05-15 14:30 ` [virtio-dev] " Parav Pandit
2023-05-23 18:16 ` [virtio-dev] " Michael S. Tsirkin
2023-05-23 21:32 ` [virtio-dev] " Parav Pandit
2023-05-24 5:56 ` [virtio-dev] " Michael S. Tsirkin
2023-05-24 18:57 ` [virtio-dev] " Parav Pandit
2023-05-24 19:58 ` [virtio-dev] " Michael S. Tsirkin
2023-05-24 20:01 ` [virtio-dev] " Parav Pandit
2023-05-24 20:15 ` [virtio-dev] " Michael S. Tsirkin
2023-05-15 15:59 ` [virtio-dev] " Parav Pandit
2023-05-16 6:21 ` [virtio-dev] " Michael S. Tsirkin
2023-05-16 19:11 ` [virtio-dev] " Parav Pandit
2023-05-16 20:58 ` [virtio-dev] " Michael S. Tsirkin
2023-05-16 21:19 ` [virtio-dev] " Parav Pandit
2023-05-16 21:23 ` [virtio-dev] " Michael S. Tsirkin
2023-05-16 21:30 ` [virtio-dev] " Parav Pandit
2023-05-15 7:13 ` [virtio-dev] " Jason Wang
2023-05-11 13:15 ` [virtio-dev] " Parav Pandit
2023-05-11 13:45 ` [virtio-dev] " Michael S. Tsirkin
2023-05-12 14:03 ` Parav Pandit
2023-05-16 3:54 ` Jason Wang
2023-05-16 19:35 ` [virtio-dev] RE: [virtio-comment] " Parav Pandit
2023-05-16 21:11 ` [virtio-dev] " Michael S. Tsirkin
2023-05-16 21:49 ` [virtio-dev] " Parav Pandit
2023-05-16 21:56 ` [virtio-dev] " Michael S. Tsirkin
2023-05-10 16:11 ` [virtio-dev] " Parav Pandit
2023-05-10 16:16 ` Michael S. Tsirkin
2023-05-10 17:33 ` [virtio-dev] " Parav Pandit
2023-05-10 21:08 ` Parav Pandit
2023-05-10 21:33 ` [virtio-dev] " Michael S. Tsirkin
2023-05-10 21:48 ` [virtio-dev] " Parav Pandit
2023-05-11 7:06 ` [virtio-dev] " Jason Wang
2023-05-11 13:04 ` Michael S. Tsirkin
2023-05-15 5:19 ` Jason Wang
2023-05-15 15:31 ` [virtio-dev] " Parav Pandit
2023-05-11 13:28 ` Parav Pandit
2023-05-11 13:38 ` [virtio-dev] " Michael S. Tsirkin
2023-05-11 16:00 ` [virtio-dev] " Parav Pandit
2023-05-11 20:47 ` Parav Pandit
2023-05-11 20:58 ` [virtio-dev] " Michael S. Tsirkin
2023-05-11 21:03 ` [virtio-dev] " Parav Pandit
2023-05-15 16:55 ` Parav Pandit
2023-05-15 7:10 ` [virtio-dev] " Jason Wang
2023-05-15 15:49 ` [virtio-dev] " Parav Pandit
2023-05-15 17:44 ` [virtio-dev] " Michael S. Tsirkin
2023-05-15 17:51 ` [virtio-dev] " Parav Pandit
2023-05-15 17:56 ` [virtio-dev] " Michael S. Tsirkin
2023-05-15 18:00 ` [virtio-dev] " Parav Pandit
2023-05-15 18:01 ` [virtio-dev] " Michael S. Tsirkin
2023-05-15 18:05 ` [virtio-dev] " Parav Pandit
2023-05-16 3:37 ` [virtio-dev] " Jason Wang
2023-05-16 3:43 ` Jason Wang
2023-05-16 5:38 ` Michael S. Tsirkin
2023-05-16 3:28 ` Jason Wang
2023-05-16 3:45 ` [virtio-dev] " Parav Pandit
2023-05-16 4:08 ` [virtio-dev] " Jason Wang
2023-05-16 19:29 ` [virtio-dev] " Parav Pandit
2023-05-16 21:09 ` [virtio-dev] " Michael S. Tsirkin
2023-05-16 21:41 ` [virtio-dev] " Parav Pandit
2023-05-16 21:54 ` [virtio-dev] " Michael S. Tsirkin
2023-05-16 4:18 ` Michael S. Tsirkin
2023-05-07 9:04 ` Michael S. Tsirkin
2023-05-08 16:54 ` Parav Pandit
2023-05-15 20:29 ` [virtio-dev] Re: [virtio-comment] " Michael S. Tsirkin
2023-05-15 20:56 ` [virtio-dev] " Parav Pandit
2023-05-16 4:32 ` [virtio-dev] " Michael S. Tsirkin
2023-05-16 18:45 ` [virtio-dev] " Parav Pandit
2023-05-16 20:42 ` [virtio-dev] " Michael S. Tsirkin
2023-05-23 6:38 ` [virtio-dev] " Michael S. Tsirkin
2023-05-23 17:28 ` [virtio-dev] " Parav Pandit
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=20230521050829-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=cohuck@redhat.com \
--cc=david.edmondson@oracle.com \
--cc=jasowang@redhat.com \
--cc=maorg@nvidia.com \
--cc=parav@nvidia.com \
--cc=sburla@marvell.com \
--cc=shahafs@nvidia.com \
--cc=virtio-comment@lists.oasis-open.org \
--cc=virtio-dev@lists.oasis-open.org \
--cc=yishaih@nvidia.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox