[PATCH 1/2] ARM: use cache type functions for arch_get_unmapped_area

Will Deacon will.deacon at arm.com
Mon Nov 14 15:27:59 EST 2011


Hi Rob, Nico,

On Mon, Nov 14, 2011 at 05:36:57PM +0000, Nicolas Pitre wrote:
> On Mon, 7 Nov 2011, Rob Herring wrote:
> 
> > From: Rob Herring <rob.herring at calxeda.com>
> > 
> > There are already cache type decoding functions, so use those instead
> > of custom decode code which only works for ARMv6.
> > 
> > This change also correctly enables cache colour alignment on Cortex-A9
> > whose I-cache is aliasing VIPT.

I appreciate that this is preserving the current behaviour, but why do we need
to ensure colour alignment when only the I-side is aliasing?

In the case that there is a MAP_SHARED, PROT_WRITE|PROT_EXEC mapping then
explicit cache maintenance will still be required by the task writing to the
page and also the task executing the written data (not to mention the
synchronisation requirements). Russell confirmed this recently:

http://lists.arm.linux.org.uk/lurker/message/20110923.193941.47decb13.en.html

no amount of colouring can avoid that, so why not only bother with it when
we alias on the D-side? On a coherent system it's reasonable to expect that
to work across tasks, so we definitely need the colouring correction there.

Will



More information about the linux-arm-kernel mailing list