[PATCH 0/3] ARM: mvebu: disable I/O coherency on !SMP
Russell King - ARM Linux
linux at arm.linux.org.uk
Thu Jul 17 08:34:01 PDT 2014
On Thu, Jul 17, 2014 at 04:40:21PM +0200, Arnd Bergmann wrote:
> On Thursday 17 July 2014 15:27:20 Will Deacon wrote:
> > Just an FYI, but I've had to check internally to clarify the behaviour
> > around TLB conflict aborts. We're changing live page tables here, but the
> > *only* thing to differ is the output address, which I would hope is ok but
> > need to check to be sure.
>
> The two cases are slightly different:
>
> - The existing keystone code changes the output address but not the flags
> - The hypothetical mvebu code needs to change the flags but not the address.
Don't base too much confidence in the keystone code:
map_start = init_mm.start_code;
map_end = init_mm.brk;
phys = __pa(map_start) & PMD_MASK;
do {
...
phys += PMD_SIZE;
} while (phys < map_end);
Consider what happens when map_end is not PMD aligned - it misses the
PMD covering the end of the kernel BSS, which will be quite a common
case. Obviously something that needs fixing...
--
FTTC broadband for 0.8mile line: currently at 9.5Mbps down 400kbps up
according to speedtest.net.
More information about the linux-arm-kernel
mailing list