All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wei Yang <weiyang@linux.vnet.ibm.com>
To: Bjorn Helgaas <bhelgaas@google.com>
Cc: Wei Yang <weiyang@linux.vnet.ibm.com>,
	benh@au1.ibm.com, gwshan@linux.vnet.ibm.com,
	linux-pci@vger.kernel.org, linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH V11 00/17] Enable SRIOV on Power8
Date: Thu, 5 Feb 2015 08:13:58 +0800	[thread overview]
Message-ID: <20150205001358.GA22897@richard> (raw)
In-Reply-To: <20150204234442.GC20072@google.com>

On Wed, Feb 04, 2015 at 05:44:42PM -0600, Bjorn Helgaas wrote:
>On Thu, Jan 15, 2015 at 10:27:50AM +0800, Wei Yang wrote:
>> This patchset enables the SRIOV on POWER8.
>> 
>> The gerneral idea is put each VF into one individual PE and allocate required
>> resources like MMIO/DMA/MSI. The major difficulty comes from the MMIO
>> allocation and adjustment for PF's IOV BAR.
>> 
>> On P8, we use M64BT to cover a PF's IOV BAR, which could make an individual VF
>> sit in its own PE. This gives more flexiblity, while at the mean time it
>> brings on some restrictions on the PF's IOV BAR size and alignment.
>> 
>> To achieve this effect, we need to do some hack on pci devices's resources.
>> 1. Expand the IOV BAR properly.
>>    Done by pnv_pci_ioda_fixup_iov_resources().
>> 2. Shift the IOV BAR properly.
>>    Done by pnv_pci_vf_resource_shift().
>> 3. IOV BAR alignment is calculated by arch dependent function instead of an
>>    individual VF BAR size.
>>    Done by pnv_pcibios_sriov_resource_alignment().
>> 4. Take the IOV BAR alignment into consideration in the sizing and assigning.
>>    This is achieved by commit: "PCI: Take additional IOV BAR alignment in
>>    sizing and assigning"
>
>I was hoping to merge this during the v3.20 merge window, but that will
>likely open next week, and none of these patches have been in linux-next at
>all yet, so I think next week would be rushing it a bit.  
>
>Most of the changes are in arch/powerpc, which does help, but there are
>some changes in pci/setup-bus.c that I would like to have some runtime on.
>The changes aren't extensive, but I don't understand that code well enough
>to be comfortable based on just reading the patch.
>
>I pushed the current state of this patchset to my pci/virtualization
>branch.  I think the best way forward would be for you to start with that
>branch, since I've made quite a few tweaks to the patches you posted to the
>list.  Then you can post a v12 with any changes you make for the next
>round.

Thanks :-)

I will rebase code on pci/virtualization and do changes as you mentioned in
previous letters.

Really thanks for your review, which must take you a lot of time, especially
on the PE and M64 BAR stuff. Also thanks for you kindness and tolerance on my
mistakes in communications :-)

>
>Ben, I know you chimed in earlier to help explain PEs.  Are you or another
>powerpc maintainer planning to ack all this?
>
>Bjorn

-- 
Richard Yang
Help you, Help me


WARNING: multiple messages have this Message-ID (diff)
From: Wei Yang <weiyang@linux.vnet.ibm.com>
To: Bjorn Helgaas <bhelgaas@google.com>
Cc: linux-pci@vger.kernel.org, Wei Yang <weiyang@linux.vnet.ibm.com>,
	benh@au1.ibm.com, linuxppc-dev@lists.ozlabs.org,
	gwshan@linux.vnet.ibm.com
Subject: Re: [PATCH V11 00/17] Enable SRIOV on Power8
Date: Thu, 5 Feb 2015 08:13:58 +0800	[thread overview]
Message-ID: <20150205001358.GA22897@richard> (raw)
In-Reply-To: <20150204234442.GC20072@google.com>

On Wed, Feb 04, 2015 at 05:44:42PM -0600, Bjorn Helgaas wrote:
>On Thu, Jan 15, 2015 at 10:27:50AM +0800, Wei Yang wrote:
>> This patchset enables the SRIOV on POWER8.
>> 
>> The gerneral idea is put each VF into one individual PE and allocate required
>> resources like MMIO/DMA/MSI. The major difficulty comes from the MMIO
>> allocation and adjustment for PF's IOV BAR.
>> 
>> On P8, we use M64BT to cover a PF's IOV BAR, which could make an individual VF
>> sit in its own PE. This gives more flexiblity, while at the mean time it
>> brings on some restrictions on the PF's IOV BAR size and alignment.
>> 
>> To achieve this effect, we need to do some hack on pci devices's resources.
>> 1. Expand the IOV BAR properly.
>>    Done by pnv_pci_ioda_fixup_iov_resources().
>> 2. Shift the IOV BAR properly.
>>    Done by pnv_pci_vf_resource_shift().
>> 3. IOV BAR alignment is calculated by arch dependent function instead of an
>>    individual VF BAR size.
>>    Done by pnv_pcibios_sriov_resource_alignment().
>> 4. Take the IOV BAR alignment into consideration in the sizing and assigning.
>>    This is achieved by commit: "PCI: Take additional IOV BAR alignment in
>>    sizing and assigning"
>
>I was hoping to merge this during the v3.20 merge window, but that will
>likely open next week, and none of these patches have been in linux-next at
>all yet, so I think next week would be rushing it a bit.  
>
>Most of the changes are in arch/powerpc, which does help, but there are
>some changes in pci/setup-bus.c that I would like to have some runtime on.
>The changes aren't extensive, but I don't understand that code well enough
>to be comfortable based on just reading the patch.
>
>I pushed the current state of this patchset to my pci/virtualization
>branch.  I think the best way forward would be for you to start with that
>branch, since I've made quite a few tweaks to the patches you posted to the
>list.  Then you can post a v12 with any changes you make for the next
>round.

Thanks :-)

I will rebase code on pci/virtualization and do changes as you mentioned in
previous letters.

Really thanks for your review, which must take you a lot of time, especially
on the PE and M64 BAR stuff. Also thanks for you kindness and tolerance on my
mistakes in communications :-)

>
>Ben, I know you chimed in earlier to help explain PEs.  Are you or another
>powerpc maintainer planning to ack all this?
>
>Bjorn

-- 
Richard Yang
Help you, Help me

  reply	other threads:[~2015-02-05  0:14 UTC|newest]

Thread overview: 168+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-22  5:54 [PATCH V10 00/17] Enable SRIOV on Power8 Wei Yang
2014-12-22  5:54 ` Wei Yang
2014-12-22  5:54 ` [PATCH V10 01/17] PCI/IOV: Export interface for retrieve VF's BDF Wei Yang
2014-12-22  5:54   ` Wei Yang
2014-12-22  5:54 ` [PATCH V10 02/17] PCI/IOV: add VF enable/disable hook Wei Yang
2014-12-22  5:54   ` Wei Yang
2014-12-22  5:54 ` [PATCH V10 03/17] PCI: Add weak pcibios_iov_resource_alignment() interface Wei Yang
2014-12-22  5:54   ` Wei Yang
2014-12-22  5:54 ` [PATCH V10 04/17] PCI: Store VF BAR size in pci_sriov Wei Yang
2014-12-22  5:54   ` Wei Yang
2014-12-22  5:54 ` [PATCH V10 05/17] PCI: Take additional PF's IOV BAR alignment in sizing and assigning Wei Yang
2014-12-22  5:54   ` Wei Yang
2014-12-22  5:54 ` [PATCH V10 06/17] powerpc/pci: Add PCI resource alignment documentation Wei Yang
2014-12-22  5:54   ` Wei Yang
2014-12-22  5:54 ` [PATCH V10 07/17] powerpc/pci: Don't unset pci resources for VFs Wei Yang
2014-12-22  5:54   ` Wei Yang
2014-12-22  5:54 ` [PATCH V10 08/17] powrepc/pci: Refactor pci_dn Wei Yang
2014-12-22  5:54 ` [PATCH V10 09/17] powerpc/pci: remove pci_dn->pcidev field Wei Yang
2014-12-22  5:54   ` Wei Yang
2014-12-22  5:54 ` [PATCH V10 10/17] powerpc/powernv: Use pci_dn in PCI config accessor Wei Yang
2014-12-22  5:54   ` Wei Yang
2014-12-22  5:54 ` [PATCH V10 11/17] powerpc/powernv: Allocate pe->iommu_table dynamically Wei Yang
2014-12-22  5:54   ` Wei Yang
2014-12-22  5:54 ` [PATCH V10 12/17] powerpc/powernv: Reserve additional space for IOV BAR according to the number of total_pe Wei Yang
2014-12-22  5:54   ` Wei Yang
2014-12-22  5:54 ` [PATCH V10 13/17] powerpc/powernv: Implement pcibios_iov_resource_alignment() on powernv Wei Yang
2014-12-22  5:54   ` Wei Yang
2014-12-22  5:54 ` [PATCH V10 14/17] powerpc/powernv: Shift VF resource with an offset Wei Yang
2014-12-22  5:54   ` Wei Yang
2014-12-22  5:54 ` [PATCH V10 15/17] powerpc/powernv: Allocate VF PE Wei Yang
2014-12-22  5:54   ` Wei Yang
2014-12-22  5:54 ` [PATCH V10 16/17] powerpc/powernv: Reserve additional space for IOV BAR, with m64_per_iov supported Wei Yang
2014-12-22  5:54   ` Wei Yang
2014-12-22  5:54 ` [PATCH V10 17/17] powerpc/powernv: Group VF PE when IOV BAR is big on PHB3 Wei Yang
2014-12-22  5:54   ` Wei Yang
2014-12-22  6:05 ` [PATCH V10 00/17] Enable SRIOV on Power8 Wei Yang
2014-12-22  6:05   ` Wei Yang
2015-01-13 18:05   ` Bjorn Helgaas
2015-01-13 18:05     ` Bjorn Helgaas
2015-01-15  2:27     ` [PATCH V11 " Wei Yang
2015-01-15  2:27       ` Wei Yang
2015-01-15  2:27       ` [PATCH V11 01/17] PCI/IOV: Export interface for retrieve VF's BDF Wei Yang
2015-01-15  2:27         ` Wei Yang
2015-02-20 23:09         ` Bjorn Helgaas
2015-02-20 23:09           ` Bjorn Helgaas
2015-03-02  6:05           ` Wei Yang
2015-03-02  6:05             ` Wei Yang
2015-01-15  2:27       ` [PATCH V11 02/17] PCI/IOV: add VF enable/disable hook Wei Yang
2015-01-15  2:27         ` Wei Yang
2015-02-10  0:26         ` Benjamin Herrenschmidt
2015-02-10  0:26           ` Benjamin Herrenschmidt
2015-02-10  1:35           ` Wei Yang
2015-02-10  1:35             ` Wei Yang
2015-02-10  2:13             ` Benjamin Herrenschmidt
2015-02-10  2:13               ` Benjamin Herrenschmidt
2015-02-10  6:18               ` Wei Yang
2015-02-10  6:18                 ` Wei Yang
2015-01-15  2:27       ` [PATCH V11 03/17] PCI: Add weak pcibios_iov_resource_alignment() interface Wei Yang
2015-01-15  2:27         ` Wei Yang
2015-02-10  0:32         ` Benjamin Herrenschmidt
2015-02-10  0:32           ` Benjamin Herrenschmidt
2015-02-10  1:44           ` Wei Yang
2015-02-10  1:44             ` Wei Yang
2015-01-15  2:27       ` [PATCH V11 04/17] PCI: Store VF BAR size in pci_sriov Wei Yang
2015-01-15  2:27         ` Wei Yang
2015-01-15  2:27       ` [PATCH V11 05/17] PCI: Take additional PF's IOV BAR alignment in sizing and assigning Wei Yang
2015-01-15  2:27         ` Wei Yang
2015-01-15  2:27       ` [PATCH V11 06/17] powerpc/pci: Add PCI resource alignment documentation Wei Yang
2015-01-15  2:27         ` Wei Yang
2015-02-04 23:44         ` Bjorn Helgaas
2015-02-04 23:44           ` Bjorn Helgaas
2015-02-10  1:02           ` Benjamin Herrenschmidt
2015-02-10  1:02             ` Benjamin Herrenschmidt
2015-02-20  0:56             ` Bjorn Helgaas
2015-02-20  0:56               ` Bjorn Helgaas
2015-02-20  2:41               ` Benjamin Herrenschmidt
2015-02-20  2:41                 ` Benjamin Herrenschmidt
2015-01-15  2:27       ` [PATCH V11 07/17] powerpc/pci: Don't unset pci resources for VFs Wei Yang
2015-01-15  2:27         ` Wei Yang
2015-02-10  0:36         ` Benjamin Herrenschmidt
2015-02-10  0:36           ` Benjamin Herrenschmidt
2015-02-10  1:51           ` Wei Yang
2015-02-10  1:51             ` Wei Yang
2015-02-10  2:14             ` Benjamin Herrenschmidt
2015-02-10  2:14               ` Benjamin Herrenschmidt
2015-02-10  6:25               ` Wei Yang
2015-02-10  6:25                 ` Wei Yang
2015-02-10  8:14                 ` Benjamin Herrenschmidt
2015-02-10  8:14                   ` Benjamin Herrenschmidt
2015-02-20 23:47                   ` Bjorn Helgaas
2015-02-20 23:47                     ` Bjorn Helgaas
2015-03-02  6:09                     ` Wei Yang
2015-03-02  6:09                       ` Wei Yang
2015-01-15  2:27       ` [PATCH V11 08/17] powrepc/pci: Refactor pci_dn Wei Yang
2015-02-20 23:19         ` Bjorn Helgaas
2015-02-20 23:19           ` Bjorn Helgaas
2015-02-23  0:13           ` Gavin Shan
2015-02-23  0:13             ` Gavin Shan
2015-02-24  8:13             ` Bjorn Helgaas
2015-02-24  8:13               ` Bjorn Helgaas
2015-02-24  8:25               ` Benjamin Herrenschmidt
2015-02-24  8:25                 ` Benjamin Herrenschmidt
2015-01-15  2:27       ` [PATCH V11 09/17] powerpc/pci: remove pci_dn->pcidev field Wei Yang
2015-01-15  2:27         ` Wei Yang
2015-01-15  2:28       ` [PATCH V11 10/17] powerpc/powernv: Use pci_dn in PCI config accessor Wei Yang
2015-01-15  2:28         ` Wei Yang
2015-01-15  2:28       ` [PATCH V11 11/17] powerpc/powernv: Allocate pe->iommu_table dynamically Wei Yang
2015-01-15  2:28         ` Wei Yang
2015-01-15  2:28       ` [PATCH V11 12/17] powerpc/powernv: Reserve additional space for IOV BAR according to the number of total_pe Wei Yang
2015-01-15  2:28         ` Wei Yang
2015-02-04 21:26         ` Bjorn Helgaas
2015-02-04 21:26           ` Bjorn Helgaas
2015-02-04 23:08           ` Wei Yang
2015-02-04 23:08             ` Wei Yang
2015-01-15  2:28       ` [PATCH V11 13/17] powerpc/powernv: Implement pcibios_iov_resource_alignment() on powernv Wei Yang
2015-01-15  2:28         ` Wei Yang
2015-02-04 21:26         ` Bjorn Helgaas
2015-02-04 21:26           ` Bjorn Helgaas
2015-02-04 22:45           ` Wei Yang
2015-02-04 22:45             ` Wei Yang
2015-01-15  2:28       ` [PATCH V11 14/17] powerpc/powernv: Shift VF resource with an offset Wei Yang
2015-01-15  2:28         ` Wei Yang
2015-01-30 23:08         ` Bjorn Helgaas
2015-01-30 23:08           ` Bjorn Helgaas
2015-02-03  1:30           ` Wei Yang
2015-02-03  1:30             ` Wei Yang
2015-02-03  7:01           ` [PATCH] powerpc/powernv: make sure the IOV BAR will not exceed limit after shifting Wei Yang
2015-02-03  7:01             ` Wei Yang
2015-02-04  0:19             ` Bjorn Helgaas
2015-02-04  0:19               ` Bjorn Helgaas
2015-02-04  3:34               ` Wei Yang
2015-02-04  3:34                 ` Wei Yang
2015-02-04 14:19                 ` Bjorn Helgaas
2015-02-04 14:19                   ` Bjorn Helgaas
2015-02-04 15:20                   ` Wei Yang
2015-02-04 15:20                     ` Wei Yang
2015-02-04 16:08                   ` [PATCH] pci/iov: fix memory leak introduced in "PCI: Store individual VF BAR size in struct pci_sriov" Wei Yang
2015-02-04 16:08                     ` Wei Yang
2015-02-04 16:28                     ` Bjorn Helgaas
2015-02-04 16:28                       ` Bjorn Helgaas
2015-02-04 20:53                 ` [PATCH] powerpc/powernv: make sure the IOV BAR will not exceed limit after shifting Bjorn Helgaas
2015-02-04 20:53                   ` Bjorn Helgaas
2015-02-05  3:01                   ` Wei Yang
2015-02-05  3:01                     ` Wei Yang
2015-01-15  2:28       ` [PATCH V11 15/17] powerpc/powernv: Allocate VF PE Wei Yang
2015-01-15  2:28         ` Wei Yang
2015-01-15  2:28       ` [PATCH V11 16/17] powerpc/powernv: Reserve additional space for IOV BAR, with m64_per_iov supported Wei Yang
2015-01-15  2:28         ` Wei Yang
2015-02-04 22:05         ` Bjorn Helgaas
2015-02-04 22:05           ` Bjorn Helgaas
2015-02-05  0:07           ` Wei Yang
2015-02-05  0:07             ` Wei Yang
2015-01-15  2:28       ` [PATCH V11 17/17] powerpc/powernv: Group VF PE when IOV BAR is big on PHB3 Wei Yang
2015-01-15  2:28         ` Wei Yang
2015-02-04 23:44       ` [PATCH V11 00/17] Enable SRIOV on Power8 Bjorn Helgaas
2015-02-04 23:44         ` Bjorn Helgaas
2015-02-05  0:13         ` Wei Yang [this message]
2015-02-05  0:13           ` Wei Yang
2015-02-05  6:34         ` [PATCH 0/3] Code adjustment on pci/virtualization Wei Yang
2015-02-05  6:34           ` Wei Yang
2015-02-05  6:34           ` [PATCH 1/3] fix on Store individual VF BAR size in struct pci_sriov Wei Yang
2015-02-05  6:34             ` Wei Yang
2015-02-05  6:34           ` [PATCH 2/3] fix Reserve additional space for IOV BAR, with m64_per_iov supported Wei Yang
2015-02-05  6:34             ` Wei Yang
2015-02-05  6:34           ` [PATCH 3/3] remove the unused end in pnv_pci_vf_resource_shift() Wei Yang
2015-02-05  6:34             ` Wei Yang
2015-02-10  0:25         ` [PATCH V11 00/17] Enable SRIOV on Power8 Benjamin Herrenschmidt
2015-02-10  0:25           ` Benjamin Herrenschmidt

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=20150205001358.GA22897@richard \
    --to=weiyang@linux.vnet.ibm.com \
    --cc=benh@au1.ibm.com \
    --cc=bhelgaas@google.com \
    --cc=gwshan@linux.vnet.ibm.com \
    --cc=linux-pci@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    /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.