From: Alexey Kardashevskiy <aik@ozlabs.ru>
To: Wei Yang <weiyang@linux.vnet.ibm.com>,
gwshan@linux.vnet.ibm.com, bhelgaas@google.com,
mpe@ellerman.id.au
Cc: linuxppc-dev@lists.ozlabs.org, linux-pci@vger.kernel.org
Subject: Re: [PATCH V10 05/12] powerpc/eeh: Cache only BARs, not windows or IOV BARs
Date: Fri, 30 Oct 2015 14:22:43 +1100 [thread overview]
Message-ID: <5632E283.7000601@ozlabs.ru> (raw)
In-Reply-To: <1445829362-2738-6-git-send-email-weiyang@linux.vnet.ibm.com>
On 10/26/2015 02:15 PM, Wei Yang wrote:
> EEH address cache, which helps to locate the PCI device according to
> the given (physical) MMIO address, didn't cover PCI bridges. Also, it
> shouldn't return PF
"it shouldn't return" is about the cache, right? eeh_addr_cache_get_dev() -
this guy can "return", the cache cannot.
> with address in PF's IOV BARs. Instead, the VFs
> should be returned.
>
> Also, by doing so, it removes the type check in
> eeh_addr_cache_insert_dev(), since bridge's window would not be cached.
>
> The patch restricts the address cache to cover first 7 BARs for the
> above purposes.
I'd better understand something like this :)
This restricts the EEH address cache to use only first 7 BARs. This makes
__eeh_addr_cache_insert_dev() ignore PCI bridge windows and IOV BARs. As
the result of this change, eeh_addr_cache_get_dev() will return VFs from
VF's resource addresses instead of parent PFs.
This removes extra check for a PCI bridge as we limit
__eeh_addr_cache_insert_dev() to 7 BARs and this effectively excludes PCI
bridges from being cached.
>
> [gwshan: changelog]
> Signed-off-by: Wei Yang <weiyang@linux.vnet.ibm.com>
> Acked-by: Gavin Shan <gwshan@linux.vnet.ibm.com>
> ---
> arch/powerpc/kernel/eeh_cache.c | 6 +-----
> 1 file changed, 1 insertion(+), 5 deletions(-)
>
> diff --git a/arch/powerpc/kernel/eeh_cache.c b/arch/powerpc/kernel/eeh_cache.c
> index a1e86e1..e6887f0 100644
> --- a/arch/powerpc/kernel/eeh_cache.c
> +++ b/arch/powerpc/kernel/eeh_cache.c
> @@ -196,7 +196,7 @@ static void __eeh_addr_cache_insert_dev(struct pci_dev *dev)
> }
>
> /* Walk resources on this device, poke them into the tree */
> - for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
> + for (i = 0; i <= PCI_ROM_RESOURCE; i++) {
> resource_size_t start = pci_resource_start(dev,i);
> resource_size_t end = pci_resource_end(dev,i);
> unsigned long flags = pci_resource_flags(dev,i);
> @@ -222,10 +222,6 @@ void eeh_addr_cache_insert_dev(struct pci_dev *dev)
> {
> unsigned long flags;
>
> - /* Ignore PCI bridges */
> - if ((dev->class >> 16) == PCI_BASE_CLASS_BRIDGE)
> - return;
> -
> spin_lock_irqsave(&pci_io_addr_cache_root.piar_lock, flags);
> __eeh_addr_cache_insert_dev(dev);
> spin_unlock_irqrestore(&pci_io_addr_cache_root.piar_lock, flags);
>
--
Alexey
next prev parent reply other threads:[~2015-10-30 3:22 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-26 3:15 [PATCH V10 00/12] VF EEH on Power8 Wei Yang
2015-10-26 3:15 ` [PATCH V10 01/12] PCI/IOV: Rename and export virtfn_add/virtfn_remove Wei Yang
2015-10-27 1:31 ` Andrew Donnellan
2015-10-27 23:06 ` Bjorn Helgaas
2015-10-28 1:21 ` Wei Yang
2015-10-26 3:15 ` [PATCH V10 02/12] PCI: Add pcibios_bus_add_device() weak function Wei Yang
2015-10-27 5:07 ` Andrew Donnellan
2015-10-26 3:15 ` [PATCH V10 03/12] powerpc/pci: Cache VF index in pci_dn Wei Yang
2015-10-27 5:01 ` Andrew Donnellan
2015-10-27 22:04 ` Daniel Axtens
2015-10-28 1:45 ` Wei Yang
2015-10-30 2:05 ` Alexey Kardashevskiy
2015-10-30 2:48 ` Wei Yang
2015-10-26 3:15 ` [PATCH V10 04/12] powerpc/pci: Remove VFs prior to PF Wei Yang
2015-10-30 3:04 ` Alexey Kardashevskiy
2015-10-30 6:31 ` Wei Yang
2015-10-26 3:15 ` [PATCH V10 05/12] powerpc/eeh: Cache only BARs, not windows or IOV BARs Wei Yang
2015-10-29 3:29 ` Daniel Axtens
2015-10-29 8:57 ` Wei Yang
2015-10-30 3:22 ` Alexey Kardashevskiy [this message]
2015-10-30 6:37 ` Wei Yang
2015-10-26 3:15 ` [PATCH V10 06/12] powerpc/powernv: EEH device for VF Wei Yang
2015-10-30 3:33 ` Alexey Kardashevskiy
2015-10-30 6:52 ` Wei Yang
2015-10-30 7:36 ` Alexey Kardashevskiy
2015-10-30 7:58 ` Wei Yang
2015-10-26 3:15 ` [PATCH V10 07/12] powerpc/eeh: Create PE for VFs Wei Yang
2015-10-30 3:46 ` Alexey Kardashevskiy
2015-10-30 6:59 ` Wei Yang
2015-10-26 3:15 ` [PATCH V10 08/12] powerpc/powernv: Support EEH reset for VF PE Wei Yang
2015-10-30 4:11 ` Alexey Kardashevskiy
2015-10-30 7:18 ` Wei Yang
2015-10-30 8:05 ` Alexey Kardashevskiy
2015-11-02 22:45 ` Wei Yang
2015-10-26 3:15 ` [PATCH V10 09/12] powerpc/powernv: Support PCI config restore for VFs Wei Yang
2015-10-30 4:56 ` Alexey Kardashevskiy
2015-10-30 8:17 ` Wei Yang
2015-10-26 3:16 ` [PATCH V10 10/12] powerpc/eeh: Support error recovery for VF PE Wei Yang
2015-10-30 5:20 ` Alexey Kardashevskiy
2015-11-01 1:53 ` Wei Yang
2015-11-01 23:40 ` Alexey Kardashevskiy
2015-11-02 9:39 ` Wei Yang
2015-10-26 3:16 ` [PATCH V10 11/12] powerpc/eeh: Don't block PCI config on resetting " Wei Yang
2015-10-30 5:42 ` Alexey Kardashevskiy
2015-10-30 7:19 ` Wei Yang
2015-10-26 3:16 ` [PATCH V10 12/12] powerpc/eeh: Handle hot removed VF when PF is EEH aware Wei Yang
2015-10-30 5:35 ` Alexey Kardashevskiy
2015-10-30 7:29 ` Wei Yang
2015-10-27 23:11 ` [PATCH V10 00/12] VF EEH on Power8 Bjorn Helgaas
2015-10-28 1:50 ` Wei Yang
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=5632E283.7000601@ozlabs.ru \
--to=aik@ozlabs.ru \
--cc=bhelgaas@google.com \
--cc=gwshan@linux.vnet.ibm.com \
--cc=linux-pci@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mpe@ellerman.id.au \
--cc=weiyang@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).