linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Peter LaDow <pladow@gmail.com>
Cc: Peter LaDow <petela@gocougs.wsu.edu>,
	"linuxppc-dev@lists.ozlabs.org" <linuxppc-dev@lists.ozlabs.org>
Subject: Re: Inbound PCI and Memory Corruption
Date: Mon, 24 Jun 2013 11:16:13 +1000	[thread overview]
Message-ID: <1372036573.3944.115.camel@pasglop> (raw)
In-Reply-To: <F3E9F49F-9C68-4BCB-B2A0-507AB1B2F10F@gmail.com>

On Sun, 2013-06-23 at 17:56 -0700, Peter LaDow wrote:
> 
> On Jun 22, 2013, at 5:00 PM, Benjamin Herrenschmidt
> <benh@kernel.crashing.org> wrote:
> 
> > On Fri, 2013-06-21 at 10:14 -0700, Peter LaDow wrote:
> >> 
> > Afaik e300 is slightly out of order, maybe it's missing a memory
> barrier
> > somewhere.... One thing to try is to add some to the dma_map/unmap
> ops.
> > 
> > Also audit the driver to ensure that it properly uses barriers when
> > populating descriptors (and maybe compare to a more recent version
> of
> > the driver upstream).
> Thanks for the tips.
> 
> I've been working with the folk at Intel on the e1000-dev list, and
> they did add memory barriers. And I've tried the latest e1000 drivers
> (direct from the e1000 tree) with no luck.
> 
> I've done PCI traces, and there is no DMA after the disable is written
> to the e1000 part. All I can think is that there may be posted writes,
> the kernel goes on to cleanup the DMA buffers. But there are write
> memory barriers, so I don't see how this is possible.
> 
> Are the memory barriers meaningful in single processor builds?

Yes. However they have no effect on posted writes by the chip. You
need to do an MMIO read for these to take effect.

Also dbl check that the MMU is indeed mapping all these pages with the
"M" bit.

Cheers,
Ben.

  reply	other threads:[~2013-06-24  1:16 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-21 16:56 Inbound PCI and Memory Corruption Peter LaDow
2013-06-21 17:14 ` Peter LaDow
2013-06-23  0:00   ` Benjamin Herrenschmidt
2013-06-24  0:56     ` Peter LaDow
2013-06-24  1:16       ` Benjamin Herrenschmidt [this message]
2013-06-24  3:47         ` Peter LaDow
2013-06-24  3:49           ` Benjamin Herrenschmidt
2013-06-25 18:44         ` Peter LaDow
2013-07-10 21:06     ` Peter LaDow
2013-07-10 21:40       ` Benjamin Herrenschmidt
2013-07-10 22:16         ` Peter LaDow
2013-07-11 21:00         ` Peter LaDow
2013-07-18 21:30           ` Peter LaDow
2013-07-18 22:02             ` Benjamin Herrenschmidt
2013-07-19 17:44               ` Scott Wood
2013-07-19 13:46             ` Gerhard Sittig
2013-07-24  4:22               ` Peter LaDow
2013-07-24  4:27                 ` Benjamin Herrenschmidt
2013-07-24 15:39                   ` Peter LaDow
2013-07-24 22:08                     ` Benjamin Herrenschmidt
2013-07-25  6:13                       ` Peter LaDow
2013-08-02 15:01                         ` Peter LaDow
2013-07-24  8:40                 ` David Laight
2013-07-19 20:13             ` Timur Tabi

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=1372036573.3944.115.camel@pasglop \
    --to=benh@kernel.crashing.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=petela@gocougs.wsu.edu \
    --cc=pladow@gmail.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).