From: Juan Alvarez <jjalvare@linux.vnet.ibm.com>
To: Bjorn Helgaas <helgaas@kernel.org>
Cc: "Bryant G. Ly" <bryantly@linux.vnet.ibm.com>,
Alex Williamson <alex.williamson@redhat.com>,
Steven Royer <seroyer@linux.vnet.ibm.com>,
Michael Ellerman <mpe@ellerman.id.au>,
bhelgaas@google.com, benh@kernel.crashing.org, paulus@samba.org,
linux-pci@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
"Juan J . Alvarez" <jjalvare@us.ibm.com>,
Bodong Wang <bodong@mellanox.com>, Eli Cohen <eli@mellanox.com>,
Saeed Mahameed <saeedm@mellanox.com>
Subject: Re: [PATCH v3 2/2] pseries/eeh: Add Pseries pcibios_bus_add_device
Date: Tue, 17 Oct 2017 12:23:01 -0500 [thread overview]
Message-ID: <f8fbbd56-f165-0a17-a24a-2b021f7fa238@linux.vnet.ibm.com> (raw)
In-Reply-To: <20171017162621.GB5641@bhelgaas-glaptop.roam.corp.google.com>
On 10/17/17 11:26 AM, Bjorn Helgaas wrote:
> To pop back up to the top of the stack, I think the main point of this
> patch is to keep from binding a driver to the VFs in the kernel that
> set PCI_SRIOV_CTRL_VFE. This patch does that by setting
> pdev->match_driver to -1 in powerpc-specific code.
Correct, to add to your comment, we will only add to the PSeries platform
(in PowerPC) configure SR-IOV path.
> I think all systems, not just powerpc, want to prevent this VF driver
> binding, so I hope there's a generic solution that everybody can use.
The patch that we made this change dependent on:
https://patchwork.kernel.org/patch/9882915/
Is a generic form of not binding a pci device to a device driver
and can be used in another environment if needed.
>
>>>> So like existing way of enabling SRIOV we still rely on the PF driver to
>>>> enable VFs - but in this case the attachment phase is done via a user
>>>> action via a management console in our case (novalink or hmc) triggered
>>>> event that will essentially act like a hotplug.
>>>>
>>>> So in the fine details of that user triggered action the system
>>>> firmware will bind the VFs, allowing resources to be allocated to
>>>> the VF. - Which essentially does all the attaching as we know it
>>>> today but is managed by PHYP not by the kernel.
>>> What exactly does "firmware binding the VFs" mean? I guess this must
>>> mean assigning a VF to a partition, injecting a hotplug add event to
>>> that partition, and making the VF visible in config space?
>> Firmware basically adds a device node to the device tree as defined
>> in the (PAPR) Power Architecture Platform Requirements document.
> From the point of view of the kernel that consumes this device tree
> and owns the VF, I guess this looks like a hot-add.
Correct, this is intended. We want to minimize change and only focus
on configure SR-IOV path in the PF on PSeries platform.
> It would be nice
> if this could be exposed to that kernel by having the firmware inject
> a normal PCIe hotplug interrupt, but I'm guessing it's not that
> simple.
I don't understand entirely your suggestion. However, in the case of
interrupts PHYP owns all the resources and will be associated accordingly
with a partitionable endpoint (PE).
> But if I understand correctly, this patch series isn't concerned with
> that kernel; it's concerned with the kernel that owns the PF and sets
> PCI_SRIOV_CTRL_VFE.
Correct, we will enable SR-IOV in the PF through the Linux kernel and map system resources
for the new VFs in powerpc platform specific kernel code. Furthermore, not binding
the device drivers for the VFs that get mapped within the configure SR-IOV path
is a requirement for this PSeries SR-IOV environment.
Juan J. Alvarez
next prev parent reply other threads:[~2017-10-17 17:23 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-22 14:19 [PATCH v3 0/2] Prepartion for SR-IOV PowerVM Enablement Bryant G. Ly
2017-09-22 14:19 ` [PATCH v3 1/2] powerpc/kernel: Separate SR-IOV Calls Bryant G. Ly
2017-09-22 14:19 ` [PATCH v3 2/2] pseries/eeh: Add Pseries pcibios_bus_add_device Bryant G. Ly
2017-10-11 20:05 ` Bjorn Helgaas
2017-10-12 4:09 ` Michael Ellerman
2017-10-12 18:29 ` Bjorn Helgaas
2017-10-12 19:59 ` Bryant G. Ly
2017-10-13 3:34 ` Bjorn Helgaas
2017-10-13 11:53 ` Steven Royer
2017-10-13 12:01 ` Steven Royer
2017-10-13 18:05 ` Alex Williamson
2017-10-13 19:12 ` Bryant G. Ly
2017-10-17 13:51 ` Bjorn Helgaas
2017-10-17 14:23 ` Juan Alvarez
2017-10-17 14:33 ` Juan Alvarez
2017-10-17 16:26 ` Bjorn Helgaas
2017-10-17 17:23 ` Juan Alvarez [this message]
2017-10-17 18:52 ` Bjorn Helgaas
2017-10-17 23:13 ` Juan Alvarez
2017-10-27 21:30 ` Bjorn Helgaas
2017-10-17 3:38 ` Michael Ellerman
2017-10-17 14:11 ` Bryant G. Ly
2017-10-18 1:01 ` Alexey Kardashevskiy
2017-10-18 1:36 ` Alexey Kardashevskiy
2017-10-18 13:20 ` Juan Alvarez
2017-10-11 20:07 ` [PATCH v3 0/2] Prepartion for SR-IOV PowerVM Enablement Bjorn Helgaas
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=f8fbbd56-f165-0a17-a24a-2b021f7fa238@linux.vnet.ibm.com \
--to=jjalvare@linux.vnet.ibm.com \
--cc=alex.williamson@redhat.com \
--cc=benh@kernel.crashing.org \
--cc=bhelgaas@google.com \
--cc=bodong@mellanox.com \
--cc=bryantly@linux.vnet.ibm.com \
--cc=eli@mellanox.com \
--cc=helgaas@kernel.org \
--cc=jjalvare@us.ibm.com \
--cc=linux-pci@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mpe@ellerman.id.au \
--cc=paulus@samba.org \
--cc=saeedm@mellanox.com \
--cc=seroyer@linux.vnet.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 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).