All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alex Williamson <alex.williamson@redhat.com>
To: David Ahern <dsahern@gmail.com>
Cc: LKML <linux-kernel@vger.kernel.org>
Subject: Re: oops in pci_acs_path_enabled
Date: Fri, 03 Aug 2012 15:52:13 -0600	[thread overview]
Message-ID: <1344030733.8003.43.camel@ul30vt> (raw)
In-Reply-To: <501C3EB7.4000900@gmail.com>

On Fri, 2012-08-03 at 15:12 -0600, David Ahern wrote:
> On 8/3/12 2:21 PM, Alex Williamson wrote:
> > On Fri, 2012-08-03 at 11:39 -0600, David Ahern wrote:
> >> Hi Alex:
> >>
> >> Hitting an oops with 3.6-rc1. Backtrace from console attached. git blame
> >> for the top function points to ad805758.
> >
> > Hey David,
> >
> > Hmm, what's special about your system?  I've got an 82576 here and the
> > same path works fine.  Any way you can get the top of the oops message?
> > Thanks,
> >
> > Alex
> >
> 
> Dell R410 I believe. pair of 5620 processors. 3 overlapping screen shots 
> attached. objdump on pci.o suggests the pdev is NULL:
> 
> /opt/sw/ahern/kernels/kernel.git/drivers/pci/pci.c:2454
> 
>          ret = pci_dev_specific_acs_enabled(pdev, acs_flags);
>          if (ret >= 0)
>                  return ret > 0;
> 
>          if (!pci_is_pcie(pdev))
>      408a:       41 80 7c 24 4a 00       cmpb   $0x0,0x4a(%r12)
>      4090:       74 e8                   je     407a <pci_acs_enabled+0x2a>
> 
> 
> Perhaps this bug explains the larger the issue which is that device 
> passthrough in 3.6-rc1 (0d7614f) is broken for me -- config field for 
> the PCI device does not exist. e.g.,
> 
> pcilib: Cannot open /sys/bus/pci/devices/0000:06:10.0/config
> lspci: Unable to read the standard configuration space header of device 
> 0000:06:10.0
> pcilib: Cannot open /sys/bus/pci/devices/0000:06:10.0/config
> lspci: Unable to read the standard configuration space header of device 
> 0000:06:10.0
> failed to find vendor-product id for PCI id "06:10.0"
> Failed to claim PCI device 06:10.0
> 
> git bisect points to:
> 
> 783f157bc5a7fa30ee17b4099b27146bd1b68af4 is the first bad commit
> commit 783f157bc5a7fa30ee17b4099b27146bd1b68af4
> Author: Alex Williamson <alex.williamson@redhat.com>
> Date:   Wed May 30 14:19:43 2012 -0600
> 
>      intel-iommu: Make use of DMA quirks and ACS checks in IOMMU groups
> 
>      Work around broken devices and adhere to ACS support when determining
>      IOMMU grouping.
> 
>      Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
>      Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
> 
> :040000 040000 83890398dabbf225fd0f5b3c8c3713a75b3fb5e1 
> b674ce2ecb315393a8c6c1ac98b3796d5ba09708 M	drivers
> 
> I triggered the oops in a number of the bisect points as well -- in 
> those cases the machine had to be power cycled.

Is this the chunk that's causing the oops?

diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c
index 7469b53..27d8c97 100644
--- a/drivers/iommu/intel-iommu.c
+++ b/drivers/iommu/intel-iommu.c
@@ -4133,6 +4133,7 @@ static int intel_iommu_add_device(struct device *dev)
                                          PCI_DEVFN(PCI_SLOT(dma_pdev->devfn),
                                          0)));
 
+#if 0
        while (!pci_is_root_bus(dma_pdev->bus)) {
                if (pci_acs_path_enabled(dma_pdev->bus->self,
                                         NULL, REQ_ACS_FLAGS))
@@ -4140,6 +4141,7 @@ static int intel_iommu_add_device(struct device *dev)
 
                swap_pci_ref(&dma_pdev, pci_dev_get(dma_pdev->bus->self));
        }
+#endif
 
        group = iommu_group_get(&dma_pdev->dev);
        pci_dev_put(dma_pdev);



  reply	other threads:[~2012-08-03 21:52 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-03 17:39 oops in pci_acs_path_enabled David Ahern
2012-08-03 20:21 ` Alex Williamson
2012-08-03 21:12   ` David Ahern
2012-08-03 21:52     ` Alex Williamson [this message]
2012-08-03 22:08       ` David Ahern
2012-08-04  1:41         ` Alex Williamson

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=1344030733.8003.43.camel@ul30vt \
    --to=alex.williamson@redhat.com \
    --cc=dsahern@gmail.com \
    --cc=linux-kernel@vger.kernel.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.