From: Akihiko Odaki <akihiko.odaki@daynix.com>
To: "Matthew Rosato" <mjrosato@linux.ibm.com>,
"Cédric Le Goater" <clg@redhat.com>,
"Philippe Mathieu-Daudé" <philmd@linaro.org>,
"Michael S. Tsirkin" <mst@redhat.com>,
"Marcel Apfelbaum" <marcel.apfelbaum@gmail.com>,
"Alex Williamson" <alex.williamson@redhat.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Daniel P. Berrangé" <berrange@redhat.com>,
"Eduardo Habkost" <eduardo@habkost.net>,
"Sriram Yagnaraman" <sriram.yagnaraman@ericsson.com>,
"Jason Wang" <jasowang@redhat.com>,
"Keith Busch" <kbusch@kernel.org>,
"Klaus Jensen" <its@irrelevant.dk>,
"Markus Armbruster" <armbru@redhat.com>,
"Eric Farman" <farman@linux.ibm.com>
Cc: qemu-devel@nongnu.org, qemu-block@nongnu.org
Subject: Re: [PATCH for-9.2 v15 04/11] s390x/pci: Check for multifunction after device realization
Date: Thu, 12 Sep 2024 15:40:29 +0900 [thread overview]
Message-ID: <3ea67905-fa37-448d-9872-d8fc70613ed0@daynix.com> (raw)
In-Reply-To: <a58519cf-90ce-4bdf-aa5a-04c3526d7192@linux.ibm.com>
On 2024/09/12 6:11, Matthew Rosato wrote:
> On 9/11/24 11:15 AM, Akihiko Odaki wrote:
>> On 2024/09/11 22:53, Matthew Rosato wrote:
>>> On 9/11/24 6:58 AM, Akihiko Odaki wrote:
>>>> On 2024/09/11 18:38, Cédric Le Goater wrote:
>>>>> +Matthew +Eric
>>>>>
>>>>> Side note for the maintainers :
>>>>>
>>>>> Before this change, the igb device, which is multifunction, was working
>>>>> fine under Linux.
>>>>>
>>>>> Was there a fix in Linux since :
>>>>>
>>>>> 57da367b9ec4 ("s390x/pci: forbid multifunction pci device")
>>>>> 6069bcdeacee ("s390x/pci: Move some hotplug checks to the pre_plug handler")
>>>>>
>>>>> ?
>>> The timing of those particular commits predates the linux s390 kernel support of multifunction/SR-IOV. At that time it was simply not possible on s390.
>>
>> Is it OK to remove this check of multifunction now?
>
> Yes, I think removing the check (which AFAIU was broken since 6069bcdeacee) will get us back to the behavior Cedric was seeing, where a device that reports multifunction in the config space is still allowed through but only the PF will be usable in the guest.
Commit 6069bcdeacee predates the introduction of SR-IOV (commit
7c0fa8dff811 ["pcie: Add support for Single Root I/O Virtualization
(SR/IOV)"]) so it did not break anything, strictly speaking. Ideally, we
should have taken care of the check when introducing SR-IOV.
>
>>
>> This code is not working properly with SR-IOV and misleading. It is better to remove the code if it does no good.
>>
>> It would be nice if anyone confirms multifunction works for s390x with the code removed.
>
> Even if you remove the check, multifunction itself won't work in the s390x guest without these missing CLP pieces too. When I have some time I'll hack something together to fabricate some CLP data and try it out, but it sounds like Cedric could use his setup to right now at least verify that the PF itself should remain usable in the guest (current behavior).
Well, it seems better to keep the check for non-SR-IOV multifunction
devices while not enforcing the restriction for SR-IOV.
Multifunction devices without SR-IOV are created with explicit requests
by specifying multifunction=on for PCI devices. Such requests cannot be
fulfilled without multifunction CLP so we should reject them.
The situation is different for SR-IOV. SR-IOV is a feature inherent to
specific type of devices and gets automatically enabled for these
devices. It may make more sense to ignore just the SR-IOV part of such
devices and keep the other functionalities working.
The current code implements such a behavior, but it is accidental and
semantically wrong. I will correct the code to explicitly allow
multifunction for SR-IOV.
Regards,
Akihiko Odaki
next prev parent reply other threads:[~2024-09-12 6:42 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-23 5:00 [PATCH for-9.2 v15 00/11] hw/pci: SR-IOV related fixes and improvements Akihiko Odaki
2024-08-23 5:00 ` [PATCH for-9.2 v15 01/11] hw/pci: Rename has_power to enabled Akihiko Odaki
2024-08-23 5:00 ` [PATCH for-9.2 v15 02/11] hw/ppc/spapr_pci: Do not create DT for disabled PCI device Akihiko Odaki
2024-08-23 5:00 ` [PATCH for-9.2 v15 03/11] hw/ppc/spapr_pci: Do not reject VFs created after a PF Akihiko Odaki
2024-08-23 5:00 ` [PATCH for-9.2 v15 04/11] s390x/pci: Check for multifunction after device realization Akihiko Odaki
2024-09-10 13:22 ` Cédric Le Goater
2024-09-11 9:38 ` Cédric Le Goater
2024-09-11 10:58 ` Akihiko Odaki
2024-09-11 11:23 ` Michael S. Tsirkin
2024-09-11 13:53 ` Matthew Rosato
2024-09-11 15:15 ` Akihiko Odaki
2024-09-11 21:11 ` Matthew Rosato
2024-09-12 6:40 ` Akihiko Odaki [this message]
2024-08-23 5:00 ` [PATCH for-9.2 v15 05/11] pcie_sriov: Do not manually unrealize Akihiko Odaki
2024-08-23 5:00 ` [PATCH for-9.2 v15 06/11] pcie_sriov: Reuse SR-IOV VF device instances Akihiko Odaki
2024-08-23 5:00 ` [PATCH for-9.2 v15 07/11] pcie_sriov: Release VFs failed to realize Akihiko Odaki
2024-08-23 5:00 ` [PATCH for-9.2 v15 08/11] pcie_sriov: Remove num_vfs from PCIESriovPF Akihiko Odaki
2024-08-23 5:00 ` [PATCH for-9.2 v15 09/11] pcie_sriov: Register VFs after migration Akihiko Odaki
2024-08-23 5:00 ` [PATCH for-9.2 v15 10/11] hw/pci: Use -1 as the default value for rombar Akihiko Odaki
2024-08-23 5:00 ` [PATCH for-9.2 v15 11/11] hw/qdev: Remove opts member Akihiko Odaki
2024-09-10 9:21 ` [PATCH for-9.2 v15 00/11] hw/pci: SR-IOV related fixes and improvements Michael S. Tsirkin
2024-09-10 9:33 ` Akihiko Odaki
2024-09-10 11:47 ` Michael S. Tsirkin
2024-09-10 13:21 ` Cédric Le Goater
2024-09-10 13:34 ` Michael S. Tsirkin
2024-09-10 14:13 ` Cédric Le Goater
2024-09-10 15:27 ` Michael S. Tsirkin
2024-09-11 3:05 ` Akihiko Odaki
2024-09-11 10:00 ` Michael S. Tsirkin
2024-09-11 10:09 ` Cédric Le Goater
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=3ea67905-fa37-448d-9872-d8fc70613ed0@daynix.com \
--to=akihiko.odaki@daynix.com \
--cc=alex.williamson@redhat.com \
--cc=armbru@redhat.com \
--cc=berrange@redhat.com \
--cc=clg@redhat.com \
--cc=eduardo@habkost.net \
--cc=farman@linux.ibm.com \
--cc=its@irrelevant.dk \
--cc=jasowang@redhat.com \
--cc=kbusch@kernel.org \
--cc=marcel.apfelbaum@gmail.com \
--cc=mjrosato@linux.ibm.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=philmd@linaro.org \
--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).