OpenCloudOS-Kernel/arch/arm64
Will Deacon 63648dd20f arm64: entry: use ldp/stp instead of push/pop when saving/restoring regs
The push/pop instructions can be suboptimal when saving/restoring large
amounts of data to/from the stack, for example on entry/exit from the
kernel. This is because:

  (1) They act on descending addresses (i.e. the newly decremented sp),
      which may defeat some hardware prefetchers

  (2) They introduce an implicit dependency between each instruction, as
      the sp has to be updated in order to resolve the address of the
      next access.

This patch removes the push/pop instructions from our kernel entry/exit
macros in favour of ldp/stp plus offset.

Signed-off-by: Will Deacon <will.deacon@arm.com>
2014-11-14 10:42:21 +00:00
..
boot arm64: vexpress: Add CLCD support to the ARMv8 model platform 2014-10-22 15:33:16 +01:00
configs arm64: vexpress: Add CLCD support to the ARMv8 model platform 2014-10-22 15:33:16 +01:00
crypto arm64/crypto: use crypto instructions to generate AES key schedule 2014-11-06 17:25:28 +00:00
include arm64/kvm: Fix assembler compatibility of macros 2014-11-06 17:25:28 +00:00
kernel arm64: entry: use ldp/stp instead of push/pop when saving/restoring regs 2014-11-14 10:42:21 +00:00
kvm arm64: kvm: eliminate literal pool entries 2014-11-07 15:04:54 +00:00
lib arm64: lib: Implement optimized string length routines 2014-05-23 15:17:12 +01:00
mm arm64: fix data type for physical address 2014-11-06 17:25:27 +00:00
net net: bpf: arm64: minor fix of type in jited 2014-10-20 17:47:04 +01:00
xen arm: xen: implement multicall hypercall support. 2014-04-24 13:09:46 +01:00
Kconfig arm64: xchg: Implement cmpxchg_double 2014-11-06 17:25:28 +00:00
Kconfig.debug arm64: Add CONFIG_DEBUG_SET_MODULE_RONX support 2014-09-08 14:39:18 +01:00
Makefile Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild 2014-10-14 09:22:26 +02:00