From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Jeremy Fitzhardinge <jeremy@goop.org>
Cc: Patrick Scharrenberg <pittipatti@web.de>,
Ian Campbell <Ian.Campbell@eu.citrix.com>,
Xen-devel <xen-devel@lists.xensource.com>
Subject: Re: pvops: AHCI problems with SB600
Date: Thu, 24 Sep 2009 08:44:16 -0400 [thread overview]
Message-ID: <20090924124415.GA9056@phenom.dumpdata.com> (raw)
In-Reply-To: <4ABA9980.1020007@goop.org>
On Wed, Sep 23, 2009 at 02:56:16PM -0700, Jeremy Fitzhardinge wrote:
> On 09/23/09 14:24, Konrad Rzeszutek Wilk wrote:
> > The weird part is that the function you copied-n-pasted (gart_iommu_hole_init)
> > only detectes and allocates a buffer. It does not set the dma_ops at all.
> > Setting of the dma_ops is done via the gart_iommu_init() call which is done
> > much later. But with Xen-SWIOTLB already initialized, the gart_iommu_init()
> > quits right away.
> >
>
> Perhaps the fix is to make gart_iommu_hole_init() quit if iommu_detected
> too? Though it is called after xen_swiotlb_init()...
That is a good idea too. That would avoid that ugly #ifdef.
>
> > So the kernel sets the dma_ops to the Xen SWIOTLB, and it
> > allocates an extra 64MB chunk of memory for the GART, which is not
> > used, and ... somehow all of the ioremap_nocache functions stop working
> > correctly. Maybe the ioremap_nocache does use some of that memory that
> > the gart_iommu_hole_init allocated?
> >
> Can't see how it would affect it. ioremap allocates a new virtual space
> for the mapping and then just plugs in the pfns for the pages you want
> to map. They end up getting _PAGE_IOMAP set in the pte flags, which
> causes the xen/mmu.c backend to use the address as-is (ie, as an mfn),
> so the mapping will be constructed properly. Well, that's the theory;
> but I'd expect we'd be seeing a lot more havok of ioremap is either
> mapping the wrong pages or using the wrong caching.
There was a lot of havoc - all of the PCI BARs were useless. Is the MFN
(from the pfn_to_mfn on this address) suppose to have a specific value?
>
> > With this patch, the GART is forcefully disabled, and the kernel boots fine
> > (with 6GB, 8GB, etc).
> >
>
> OK, I'll put it in for now. Will we have issues with other forms of iommu?
There are three other types: AMD IOMMU (a real IOMMU), Intel's IOMMU,
and the IBM's Calgary IOMMU.
For all of those setting, no_iommu=1 should do the trick. But in reality
I need to double-check that:
diff --git a/arch/x86/xen/pci-swiotlb.c b/arch/x86/xen/pci-swiotlb.c
index 00f2260..390f698 100644
--- a/arch/x86/xen/pci-swiotlb.c
+++ b/arch/x86/xen/pci-swiotlb.c
@@ -989,6 +989,8 @@ void __init xen_swiotlb_init(void)
xen_swiotlb_init_with_default_size(64 * (1<<20)); /* default to 64MB */
dma_ops = &xen_swiotlb_dma_ops;
iommu_detected = 1;
+ no_iommu = 1; /* Forces the other IOMMU (if they are detected) to
+ to quit, rather than initialize. */
#ifdef CONFIG_GART_IOMMU
gart_iommu_aperture_disabled = 1;
#endif
<sigh>I think I need to rethink this swiotlb-Xen part. This is starting
to look like a hack.
>
> Another thought, could we actually use the gart iommu instead of swiotlb
> if it is available? I think it leads to exactly the same set of issues
> as extending normal swiotlb for Xen's use (ie, inserting pfn->mfn
> conversion into the correct places, and perhaps allocating the memory
> properly). Worth thinking about; it may shine light on better ways to
> fix up swiotlb.
Yes! That was my next step - see if it is possible to use it and if so
extend it for that purpose (and without any ghastly #ifdef).
next prev parent reply other threads:[~2009-09-24 12:44 UTC|newest]
Thread overview: 122+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-09-19 1:19 Announcing xen/master: pvops git trees rearranged Jeremy Fitzhardinge
2009-09-19 10:36 ` Marc - A. Dahlhaus
2009-09-20 19:29 ` Marc - A. Dahlhaus
2009-09-21 6:22 ` Pasi Kärkkäinen
2009-09-21 8:49 ` Marc - A. Dahlhaus [ Administration | Westermann GmbH ]
2009-09-21 9:03 ` Pasi Kärkkäinen
2009-09-21 9:18 ` Marc - A. Dahlhaus [ Administration | Westermann GmbH ]
2009-09-21 14:39 ` Konrad Rzeszutek Wilk
2009-09-21 16:19 ` [Cluster-devel] Re: [Xen-devel] " Marc
2009-09-21 15:20 ` Pasi Kärkkäinen
2009-09-19 14:46 ` pvops: AHCI problems with SB600 Patrick Scharrenberg
2009-09-21 5:57 ` Patrick Scharrenberg
2009-09-21 15:06 ` Konrad Rzeszutek Wilk
2009-09-22 9:00 ` Patrick Scharrenberg
2009-09-22 14:08 ` Konrad Rzeszutek Wilk
2009-09-23 7:37 ` Patrick Scharrenberg
2009-09-23 12:09 ` Konrad Rzeszutek Wilk
2009-09-23 12:06 ` Konrad Rzeszutek Wilk
2009-09-23 19:22 ` Jeremy Fitzhardinge
2009-09-23 19:32 ` Konrad Rzeszutek Wilk
2009-09-23 20:09 ` Jeremy Fitzhardinge
2009-09-23 20:30 ` Jeremy Fitzhardinge
2009-09-23 21:24 ` Konrad Rzeszutek Wilk
2009-09-23 21:56 ` Jeremy Fitzhardinge
2009-09-24 12:44 ` Konrad Rzeszutek Wilk [this message]
2009-09-24 18:23 ` Jeremy Fitzhardinge
2009-09-24 21:36 ` Konrad Rzeszutek Wilk
2009-09-24 19:12 ` Patrick Scharrenberg
2009-09-21 14:43 ` Announcing xen/master: pvops git trees rearranged (AMD tests?) Konrad Rzeszutek Wilk
2009-09-21 19:25 ` Announcing xen/master: pvops git trees rearranged Pasi Kärkkäinen
2009-09-21 19:30 ` Jeremy Fitzhardinge
2009-09-21 19:50 ` Pasi Kärkkäinen
2009-09-21 20:21 ` Jeremy Fitzhardinge
2009-09-21 20:26 ` Pasi Kärkkäinen
2009-09-21 20:29 ` Jeremy Fitzhardinge
2009-09-21 20:36 ` Pasi Kärkkäinen
2009-09-23 13:16 ` Christian Tramnitz
2009-09-23 20:13 ` Jeremy Fitzhardinge
2009-09-24 3:17 ` Qing He
2009-09-24 19:38 ` Jeremy Fitzhardinge
2009-09-24 8:15 ` Zhang, Xiantao
2009-09-25 1:44 ` Zhang, Xiantao
[not found] ` <706158FABBBA044BAD4FE898A02E4BC201C9AC7ED0@pdsmsx503.ccr.corp.intel.com>
[not found] ` <4AC54350.7040909@goop.org>
[not found] ` <706158FABBBA044BAD4FE898A02E4BC201C9AC8A88@pdsmsx503.ccr.corp.intel.com>
[not found] ` <4AD75A0B.9020508@goop.org>
[not found] ` <706158FABBBA044BAD4FE898A02E4BC201C9BD87FA@pdsmsx503.ccr.corp.intel.com>
2009-11-12 0:47 ` APIC rework Jeremy Fitzhardinge
2009-11-12 1:00 ` Jeremy Fitzhardinge
2009-11-12 23:51 ` Jeremy Fitzhardinge
2009-11-13 5:27 ` Zhang, Xiantao
2009-11-13 7:24 ` Keir Fraser
2009-11-13 23:57 ` Jeremy Fitzhardinge
2009-11-14 8:04 ` Keir Fraser
2009-11-16 10:38 ` Zhang, Xiantao
2009-11-16 18:37 ` Jeremy Fitzhardinge
2009-11-17 3:13 ` Zhang, Xiantao
2009-11-17 3:45 ` Keir Fraser
2009-11-17 5:20 ` Jeremy Fitzhardinge
2009-11-17 5:44 ` Keir Fraser
2009-11-17 12:46 ` Zhang, Xiantao
2009-11-17 13:05 ` Keir Fraser
2009-11-17 14:17 ` Zhang, Xiantao
2009-11-17 18:51 ` Jeremy Fitzhardinge
2009-11-18 3:37 ` Zhang, Xiantao
2009-11-18 14:29 ` Konrad Rzeszutek Wilk
2009-11-20 1:47 ` Zhang, Xiantao
2009-11-17 19:49 ` Keir Fraser
2009-11-18 3:12 ` Jiang, Yunhong
2009-11-18 3:25 ` Zhang, Xiantao
2009-11-18 9:37 ` Keir Fraser
2009-11-24 10:04 ` Zhang, Xiantao
2009-11-24 19:25 ` Jeremy Fitzhardinge
2009-11-25 1:42 ` Zhang, Xiantao
2009-11-24 19:44 ` Konrad Rzeszutek Wilk
2009-11-24 23:35 ` Jeremy Fitzhardinge
2009-11-25 14:10 ` Konrad Rzeszutek Wilk
2009-11-25 19:14 ` Jeremy Fitzhardinge
2009-11-30 14:26 ` Konrad Rzeszutek Wilk
2009-11-25 2:43 ` Zhang, Xiantao
2009-11-25 13:41 ` Konrad Rzeszutek Wilk
2009-11-25 15:21 ` Zhang, Xiantao
2009-11-25 18:00 ` Konrad Rzeszutek Wilk
2009-11-26 11:53 ` Zhang, Xiantao
2009-11-30 14:34 ` Konrad Rzeszutek Wilk
2009-12-03 2:13 ` Zhang, Xiantao
2009-12-03 14:38 ` Konrad Rzeszutek Wilk
2009-11-25 18:59 ` Jeremy Fitzhardinge
2009-11-26 1:11 ` Zhang, Xiantao
2009-11-18 14:15 ` Konrad Rzeszutek Wilk
2009-11-20 1:45 ` Zhang, Xiantao
2009-11-17 5:12 ` Jeremy Fitzhardinge
2009-09-24 13:20 ` Announcing xen/master: pvops git trees rearranged Christian Tramnitz
2009-09-24 17:47 ` Andy Burns
2009-09-24 18:29 ` Thiago Camargo Martins Cordeiro
2009-09-24 19:32 ` Thiago Camargo Martins Cordeiro
2009-09-24 20:00 ` Jeremy Fitzhardinge
2009-09-24 19:56 ` Jeremy Fitzhardinge
2009-10-11 15:39 ` Pasi Kärkkäinen
2009-10-12 20:02 ` Konrad Rzeszutek Wilk
2009-10-14 21:14 ` Pasi Kärkkäinen
2009-10-15 20:04 ` Konrad Rzeszutek Wilk
2009-10-16 9:01 ` Pasi Kärkkäinen
2009-10-20 16:58 ` [drm:r100_ring_test] *ERROR* radeon: ring test failed Konrad Rzeszutek Wilk
2009-10-21 11:54 ` Pasi Kärkkäinen
2009-10-21 18:31 ` Konrad Rzeszutek Wilk
2009-10-21 18:52 ` Pasi Kärkkäinen
2009-10-21 19:50 ` Jeremy Fitzhardinge
2009-10-21 20:22 ` Pasi Kärkkäinen
2009-10-27 15:46 ` Pasi Kärkkäinen
2009-10-27 17:00 ` Konrad Rzeszutek Wilk
2009-10-27 17:30 ` Pasi Kärkkäinen
2009-10-27 19:45 ` Pasi Kärkkäinen
2009-10-27 19:41 ` Konrad Rzeszutek Wilk
2009-10-27 20:18 ` Pasi Kärkkäinen
2009-10-27 20:13 ` Konrad Rzeszutek Wilk
2009-10-27 20:36 ` Pasi Kärkkäinen
2010-01-01 17:21 ` Pasi Kärkkäinen
2010-01-04 13:37 ` Konrad Rzeszutek Wilk
2010-01-04 19:42 ` Pasi Kärkkäinen
2010-01-14 20:05 ` Konrad Rzeszutek Wilk
2010-01-15 7:18 ` Pasi Kärkkäinen
2009-10-27 20:23 ` Pasi Kärkkäinen
2009-12-04 16:07 ` Announcing xen/master: pvops git trees rearranged Stefan Kuhne
2009-12-04 18:58 ` Pasi Kärkkäinen
2009-12-04 19:27 ` Jeremy Fitzhardinge
-- strict thread matches above, loose matches on Subject: below --
2009-09-19 16:07 pvops: AHCI problems with SB600 Boris Derzhavets
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=20090924124415.GA9056@phenom.dumpdata.com \
--to=konrad.wilk@oracle.com \
--cc=Ian.Campbell@eu.citrix.com \
--cc=jeremy@goop.org \
--cc=pittipatti@web.de \
--cc=xen-devel@lists.xensource.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.