From: Niklas Schnelle <schnelle@linux.ibm.com>
To: Bjorn Helgaas <bhelgaas@google.com>,
Jan Kiszka <jan.kiszka@siemens.com>,
Matthew Rosato <mjrosato@linux.ibm.com>,
Pierre Morel <pmorel@linux.ibm.com>
Cc: linux-s390@vger.kernel.org, linux-pci@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: [PATCH RESEND v5 0/4] PCI: Rework pci_scan_slot() and isolated PCI functions
Date: Thu, 2 Jun 2022 12:30:12 +0200 [thread overview]
Message-ID: <20220602103016.1499031-1-schnelle@linux.ibm.com> (raw)
Hi Bjorn, Hi Jan,
In an earlier version[0], I sought to apply the existing jailhouse special case
for isolated PCI functions to s390. As Bjorn noted in[1] there appears to be
some potential for cleaning things up and removing duplication though.
This series attempts to do this cleanup (Patches 1 and 2) followed by enabling
isolated PCI functions for s390 (Patches 3 and 4). If need be I can of course
split the cleanup off but for now I kept it as one as that's what I have
been testing.
Testing:
- On s390 with SR-IOV and a ConnectX NIC with PF 1 but not PF 0 passed throug
i.e. the isolated function case. Also of course with just VFs and an NVMe.
- On x86_64 on a desktop system where ARI is disabled and with an SR-IOV NIC
with non-contiguous VFs as well as the usual other PCI devices.
Thanks,
Niklas
Changes v4 -> v5:
- Remove unintended whitespace change in patch 1
Changes v3 -> v4:
- Use a do {} while loop in pci_scan_slot() as it is simpler (Bjorn)
- Explicitly check "fn == 0" as it is not a pointer or bool (Bjorn)
- Keep the "!dev" check in the ARI branch of next_fn() (Bjorn)
- Moved the "fn == 0 && !dev" condition out of next_fn() into pci_scan_slot().
This allows us to keep the "!dev" case in the ARI branch and means there are
no new conditions in next_fn() making it easier to verify that its behavior
is equivalent to the existing code.
- Guard the assignment of dev->multifunction with "fn > 0"
instead of "nr > 0". This matches the existing logic more closely and works
for the jailhouse case which unconditionally sets dev->multifunction for
"fn > 0". This also means fn == 0 is the single "first iteration" test.
- Remove some unneeded whitespace in patch 2
Changes v2 -> v3:
- Removed now unused nr_devs variable (kernel test robot)
Niklas Schnelle (4):
PCI: Clean up pci_scan_slot()
PCI: Move jailhouse's isolated function handling to pci_scan_slot()
PCI: Extend isolated function probing to s390
s390/pci: allow zPCI zbus without a function zero
arch/s390/pci/pci_bus.c | 82 ++++++++++----------------------------
drivers/pci/probe.c | 64 +++++++++++++----------------
include/linux/hypervisor.h | 8 ++++
3 files changed, 55 insertions(+), 99 deletions(-)
--
2.32.0
next reply other threads:[~2022-06-02 10:30 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-02 10:30 Niklas Schnelle [this message]
2022-06-02 10:30 ` [PATCH RESEND v5 1/4] PCI: Clean up pci_scan_slot() Niklas Schnelle
2022-06-15 11:09 ` Niklas Schnelle
2022-06-02 10:30 ` [PATCH RESEND v5 2/4] PCI: Move jailhouse's isolated function handling to pci_scan_slot() Niklas Schnelle
2022-06-02 10:30 ` [PATCH RESEND v5 3/4] PCI: Extend isolated function probing to s390 Niklas Schnelle
2022-06-02 10:30 ` [PATCH RESEND v5 4/4] s390/pci: allow zPCI zbus without a function zero Niklas Schnelle
-- strict thread matches above, loose matches on Subject: below --
2022-05-05 8:38 [PATCH RESEND v5 0/4] PCI: Rework pci_scan_slot() and isolated PCI functions Niklas Schnelle
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=20220602103016.1499031-1-schnelle@linux.ibm.com \
--to=schnelle@linux.ibm.com \
--cc=bhelgaas@google.com \
--cc=jan.kiszka@siemens.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=mjrosato@linux.ibm.com \
--cc=pmorel@linux.ibm.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 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.