Re: pci-gart_64.c: could we get better explanation?

From: Pavel Machek
Date: Wed Jun 25 2008 - 18:24:59 EST


On Tue 2008-05-27 05:51:39, Benjamin Herrenschmidt wrote:
>
> On Mon, 2008-05-26 at 20:47 +0200, Pavel Machek wrote:
> > Hi!
> >
> > +++ b/arch/x86/kernel/pci-gart_64.c
> > @@ -774,6 +778,7 @@ #endif
> >
> > /*
> > * Try to workaround a bug (thanks to BenH)
> > * Set unmapped entries to a scratch page instead of 0.
> > * Any prefetches that hit unmapped entries won't get an bus abort
> >
> > Could someone explain? Which bug is being worked around? CPUs
> > prefetching over NULL?
>
> P2P bridge prefetching on DMA reads.

---

Add better explanation to pci-gart.

Signed-off-by: Pavel Machek <pavel@xxxxxxx>

diff --git a/arch/x86/kernel/pci-gart_64.c b/arch/x86/kernel/pci-gart_64.c
index 838a1d3..e72e583 100644
--- a/arch/x86/kernel/pci-gart_64.c
+++ b/arch/x86/kernel/pci-gart_64.c
@@ -800,10 +800,10 @@ #endif
wbinvd();

/*
- * Try to workaround a bug (thanks to BenH)
+ * Try to workaround a bug (thanks to BenH):
* Set unmapped entries to a scratch page instead of 0.
* Any prefetches that hit unmapped entries won't get an bus abort
- * then.
+ * then. (P2P bridge may be prefetching on DMA reads).
*/
scratch = get_zeroed_page(GFP_KERNEL);
if (!scratch)

--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/