[PATCH] ARM: v6: avoid read_cpuid_ext() on ARM1136r0 in cache_ops_need_broadcast()
Paul Walmsley
paul at pwsan.com
Sun Jul 28 15:56:32 EDT 2013
On Sun, 28 Jul 2013, Russell King - ARM Linux wrote:
> We don't want to make the asm() itself volatile, because that means the
> asm() statement can't be optimised away.
>
> Adding a memory clobber to that asm seems to place it more appropriately,
> but again, that's not particularly desirable.
>
> Another solution would be to make both tlb_ops_need_broadcast and
> cache_ops_need_broadcast both be a flag test, but that introduces a
> memory load in all those paths no matter if we're running on SMP_ON_UP
> or not.
I considered adding a HWCAP_* bit under the theory that elf_hwcap may
already be cache-resident. But thought that the loss of the flag space
and possible memory access vs. the additional mrc wasn't worth it.
Anyway, if either of you have a preference between these three, I'd be
happy to update the patch. Or feel free to take it over from here if
either of you prefer.
- Paul
More information about the linux-arm-kernel
mailing list