On Tue, 2017-07-11 at 08:56 +0100, Edmund Grimley Evans wrote: > > Does this emulation take a considerable performance hit, as opposed > > to > > running on armhf hardware/kernel, where the instruction doesn't > > appear > > to be listed as deprecated? > > I'd expect the kernel-emulated instruction to be much slower than any > non-emulated instruction, but the overall effect on performance will, > of course, depend on how often the instruction is used. > > See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=864847 (where I > think I claimed that the instruction is deprecated on armhf hardware > but I could easily be wrong)
Deprecated for both ARMv7 and ARMv8 according to the Kconfig help: config CP15_BARRIER_EMULATION bool "Emulate CP15 Barrier instructions" help The CP15 barrier instructions - CP15ISB, CP15DSB, and CP15DMB - are deprecated in ARMv8 (and ARMv7). It is strongly recommended to use the ISB, DSB, and DMB instructions instead. Say Y here to enable software emulation of these instructions for AArch32 userspace code. When this option is enabled, CP15 barrier usage is traced which can help identify software that needs updating. If unsure, say Y However I there is a sysctl which allows selecting between "undef", "emulated" and "hw" (where the latter is dependent on the hw actually supporting the instructions in question). See: http://elixir.free-electrons.com/linux/latest/source/Documentation/arm64/legacy_instructions.txt Ian