mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Russell King - ARM Linux <linux@arm.linux.org.uk>
To: Jamie Lokier <jamie@shareable.org>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	David Xiao <dxiao@broadcom.com>, Ben Dooks <ben-linux@fluff.org>,
	Hugh Dickins <hugh.dickins@tiscali.co.uk>,
	Robin Holt <holt@sgi.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	v4l2_linux <linux-media@vger.kernel.org>,
	"linux-arm-kernel@lists.arm.linux.org.uk" 
	<linux-arm-kernel@lists.arm.linux.org.uk>
Subject: Re: How to efficiently handle DMA and cache on ARMv7 ? (was "Is get_user_pages() enough to prevent pages from being swapped out ?")
Date: Fri, 7 Aug 2009 10:59:12 +0100	[thread overview]
Message-ID: <20090807095912.GA21199@n2100.arm.linux.org.uk> (raw)
In-Reply-To: <20090807095426.GI8725@shareable.org>

On Fri, Aug 07, 2009 at 10:54:27AM +0100, Jamie Lokier wrote:
> Russell King - ARM Linux wrote:
> > On Fri, Aug 07, 2009 at 09:58:30AM +0200, Laurent Pinchart wrote:
> > > Sorry about this, but I'm not sure to understand the speculative prefetching 
> > > cache issue completely.
> > 
> > The general case with speculative prefetching is that if memory is
> > accessible, it can be prefetched.
> > 
> > In other words, if we mapped devices without NX (non-exec) set, the
> > CPU can prefetch instructions from devices, causing random read
> > accesses.  Yes, I know it sounds crazy, but that's what I'm told
> > _can_ happen.
> 
> 1. Does the architecture not prevent speculative instruction
> prefetches from crossing a page boundary?  It would be handy under the
> circumstances.
> 
> 2. Is NX available on all the CPUs with speculative prefetching
> behaviour?  If it is, just use that for device mappings?

I was using it as an example.  Setting NX doesn't stop _data_ speculative
prefetching to _memory_ areas (as opposed to device areas.)

Getting things like the right memory attributes in place and ensuring
people don't abuse them is the first step towards getting this stuff
right.  It's an ongoing project.

  reply	other threads:[~2009-08-07  9:59 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-08-06 10:08 Laurent Pinchart
2009-08-06 11:46 ` Ben Dooks
2009-08-06 13:06   ` Laurent Pinchart
2009-08-06 18:46     ` David Xiao
2009-08-06 19:16       ` Chetan.Loke
2009-08-06 20:15       ` Jamie Lokier
2009-08-06 22:25       ` Russell King - ARM Linux
2009-08-07  5:59         ` David Xiao
2009-08-07  7:58           ` Laurent Pinchart
2009-08-07  8:10             ` Russell King - ARM Linux
2009-08-07  9:54               ` Jamie Lokier
2009-08-07  9:59                 ` Russell King - ARM Linux [this message]
2009-08-07 12:07                 ` Laurent Desnogues
2009-08-07 13:15                   ` Robin Holt
2009-08-07 19:01                     ` Russell King - ARM Linux
2009-08-07 20:11                       ` Laurent Pinchart
2009-08-07 20:28                         ` Russell King - ARM Linux
2009-08-07 22:25                           ` David Xiao
2009-08-10 13:49                           ` Laurent Pinchart
2009-08-07  8:08           ` Russell King - ARM Linux
2009-08-07 10:23           ` Jamie Lokier
2009-08-07 19:03             ` Russell King - ARM Linux
2009-08-11  9:31           ` Catalin Marinas
2009-08-11 18:23             ` David Xiao
2009-08-07  7:48         ` Laurent Pinchart
2009-08-25 12:53         ` Steven Walter
2009-08-25 22:02           ` David Xiao
2009-08-25 23:17             ` Laurent Pinchart
2009-08-26 17:22               ` David Xiao
2009-09-01 13:31                 ` Russell King - ARM Linux
2009-09-01 18:08                   ` David Xiao
2009-09-01 13:28           ` Russell King - ARM Linux
2009-09-01 13:43             ` Laurent Pinchart
2009-09-01 14:18               ` Russell King - ARM Linux
2009-09-01 16:53                 ` Hugh Dickins
2009-09-02 15:10               ` Imre Deak
2009-09-03  7:31                 ` Imre Deak
2009-09-03  8:36                 ` Russell King - ARM Linux
2009-09-08 13:05                   ` Steven Walter
2009-08-07  7:29       ` Laurent Pinchart
2009-08-07  8:12         ` Matthieu CASTET
2009-08-07 10:13           ` How to efficiently handle DMA and cache on ARMv7 ? (was " Is " Laurent Pinchart

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=20090807095912.GA21199@n2100.arm.linux.org.uk \
    --to=linux@arm.linux.org.uk \
    --cc=ben-linux@fluff.org \
    --cc=dxiao@broadcom.com \
    --cc=holt@sgi.com \
    --cc=hugh.dickins@tiscali.co.uk \
    --cc=jamie@shareable.org \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-arm-kernel@lists.arm.linux.org.uk \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®