From: Yui Washizu <yui.washidu@gmail.com>
To: "Akihiko Odaki" <akihiko.odaki@daynix.com>,
"Michael S. Tsirkin" <mst@redhat.com>,
"Marcel Apfelbaum" <marcel.apfelbaum@gmail.com>,
"Alex Williamson" <alex.williamson@redhat.com>,
"Cédric Le Goater" <clg@redhat.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Daniel P. Berrangé" <berrange@redhat.com>,
"Eduardo Habkost" <eduardo@habkost.net>,
"Jason Wang" <jasowang@redhat.com>,
"Sriram Yagnaraman" <sriram.yagnaraman@ericsson.com>,
"Keith Busch" <kbusch@kernel.org>,
"Klaus Jensen" <its@irrelevant.dk>
Cc: qemu-devel@nongnu.org, qemu-block@nongnu.org
Subject: Re: [PATCH RFC v4 0/7] virtio-net: add support for SR-IOV emulation
Date: Wed, 31 Jul 2024 18:34:21 +0900 [thread overview]
Message-ID: <90cef42c-dbb5-44fd-9b20-fe0996c9974b@gmail.com> (raw)
In-Reply-To: <88ffcfa0-f3c4-406c-ac79-456b0f8b38bd@daynix.com>
On 2024/07/15 14:15, Akihiko Odaki wrote:
> On 2024/05/16 11:00, Yui Washizu wrote:
>>
>> On 2024/04/28 18:05, Akihiko Odaki wrote:
>>> Based-on: <20240315-reuse-v9-0-67aa69af4d53@daynix.com>
>>> ("[PATCH for 9.1 v9 00/11] hw/pci: SR-IOV related fixes and
>>> improvements")
>>>
>>> Introduction
>>> ------------
>>>
>>> This series is based on the RFC series submitted by Yui Washizu[1].
>>> See also [2] for the context.
>>>
>>> This series enables SR-IOV emulation for virtio-net. It is useful
>>> to test SR-IOV support on the guest, or to expose several vDPA devices
>>> in a VM. vDPA devices can also provide L2 switching feature for
>>> offloading though it is out of scope to allow the guest to configure
>>> such a feature.
>>>
>>> The PF side code resides in virtio-pci. The VF side code resides in
>>> the PCI common infrastructure, but it is restricted to work only for
>>> virtio-net-pci because of lack of validation.
>>>
>>> User Interface
>>> --------------
>>>
>>> A user can configure a SR-IOV capable virtio-net device by adding
>>> virtio-net-pci functions to a bus. Below is a command line example:
>>> -netdev user,id=n -netdev user,id=o
>>> -netdev user,id=p -netdev user,id=q
>>> -device pcie-root-port,id=b
>>> -device virtio-net-pci,bus=b,addr=0x0.0x3,netdev=q,sriov-pf=f
>>> -device virtio-net-pci,bus=b,addr=0x0.0x2,netdev=p,sriov-pf=f
>>> -device virtio-net-pci,bus=b,addr=0x0.0x1,netdev=o,sriov-pf=f
>>> -device virtio-net-pci,bus=b,addr=0x0.0x0,netdev=n,id=f
>>>
>>> The VFs specify the paired PF with "sriov-pf" property. The PF must be
>>> added after all VFs. It is user's responsibility to ensure that VFs
>>> have
>>> function numbers larger than one of the PF, and the function numbers
>>> have a consistent stride.
>>
>>
>> I tried to start a VM with more than 8 VFs allocated using your patch,
>> but the following error occured and qemu didn't work:
>> VF function number overflows.
>>
>> I think the cause of this error is that virtio-net-pci PFs don't have
>> ARI.
>> (pcie_ari_init is not added to virtio-net-pci when PFs are initialized.)
>> I think it is possible to add it later,
>> but how about adding pcie_ari_init ?
>>
>> As a trial,
>> adding pcie_ari_init to virtio_pci_realize enabled the creation of
>> more than 8 VFs.
>
> I have just looked into that possibility, but adding pcie_ari_init to
> virtio_pci_realize has some implications. Unconditionally calling
> pcie_ari_init will break the existing configuration of virtio-pci
> devices so we need to implement some logic to detect when ARI is
> needed. Preferably such logic should be implemented in the common PCI
> infrastructure instead of implementing it in virtio-pci so that other
> PCI multifunction devices can benefit from it.
>
> While I don't think implementing this will be too complicated, I need
> to ensure that such a feature is really needed before doing so.
OK.
I want to use this emulation for offloading virtual network
in a environment where there are many containers in VMs.
So, I consider that the feature is need.
I think that 7 VFs are too few.
I'll keep thinking about the feature's necessity.
I'll add other comments to RFC v5 patch.
Regards,
Yui Washizu
next prev parent reply other threads:[~2024-07-31 9:35 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-28 9:05 [PATCH RFC v4 0/7] virtio-net: add support for SR-IOV emulation Akihiko Odaki
2024-04-28 9:05 ` [PATCH RFC v4 1/7] hw/pci: Do not add ROM BAR for SR-IOV VF Akihiko Odaki
2024-04-28 9:05 ` [PATCH RFC v4 2/7] hw/pci: Fix SR-IOV VF number calculation Akihiko Odaki
2024-04-28 9:05 ` [PATCH RFC v4 3/7] pcie_sriov: Ensure PF and VF are mutually exclusive Akihiko Odaki
2024-04-28 9:05 ` [PATCH RFC v4 4/7] pcie_sriov: Check PCI Express for SR-IOV PF Akihiko Odaki
2024-04-28 9:05 ` [PATCH RFC v4 5/7] pcie_sriov: Allow user to create SR-IOV device Akihiko Odaki
2024-04-28 9:05 ` [PATCH RFC v4 6/7] virtio-pci: Implement SR-IOV PF Akihiko Odaki
2024-04-28 9:05 ` [PATCH RFC v4 7/7] virtio-net: Implement SR-IOV VF Akihiko Odaki
2024-05-16 2:00 ` [PATCH RFC v4 0/7] virtio-net: add support for SR-IOV emulation Yui Washizu
2024-07-15 5:15 ` Akihiko Odaki
2024-07-31 9:34 ` Yui Washizu [this message]
2024-08-01 5:37 ` Akihiko Odaki
2024-08-01 5:52 ` Michael S. Tsirkin
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=90cef42c-dbb5-44fd-9b20-fe0996c9974b@gmail.com \
--to=yui.washidu@gmail.com \
--cc=akihiko.odaki@daynix.com \
--cc=alex.williamson@redhat.com \
--cc=berrange@redhat.com \
--cc=clg@redhat.com \
--cc=eduardo@habkost.net \
--cc=its@irrelevant.dk \
--cc=jasowang@redhat.com \
--cc=kbusch@kernel.org \
--cc=marcel.apfelbaum@gmail.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=sriram.yagnaraman@ericsson.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;
as well as URLs for NNTP newsgroup(s).