[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090807095426.GI8725@shareable.org>
Date: Fri, 7 Aug 2009 10:54:27 +0100
From: Jamie Lokier <jamie@...reable.org>
To: Russell King - ARM Linux <linux@....linux.org.uk>
Cc: Laurent Pinchart <laurent.pinchart@...asonboard.com>,
David Xiao <dxiao@...adcom.com>,
Ben Dooks <ben-linux@...ff.org>,
Hugh Dickins <hugh.dickins@...cali.co.uk>,
Robin Holt <holt@....com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
v4l2_linux <linux-media@...r.kernel.org>,
"linux-arm-kernel@...ts.arm.linux.org.uk"
<linux-arm-kernel@...ts.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 ?")
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?
-- Jamie
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists