summaryrefslogtreecommitdiff
path: root/arch/arm64/include/asm/assembler.h
diff options
context:
space:
mode:
authorMark Salyzyn <salyzyn@android.com>2017-10-24 07:47:14 -0700
committerWill Deacon <will.deacon@arm.com>2017-10-24 16:23:07 +0100
commit9ca255bf041ddc7698b6906dbd846c0ba64b1fe1 (patch)
tree868d2b06309b5441a2174dc5e124f75c63cda3a1 /arch/arm64/include/asm/assembler.h
parent1e0c661f05ba0a3db52ed9debbe2b2e1d74aa0a4 (diff)
downloadlinux-9ca255bf041ddc7698b6906dbd846c0ba64b1fe1.tar.gz
linux-9ca255bf041ddc7698b6906dbd846c0ba64b1fe1.tar.xz
arm64: Avoid aligning normal memory pointers in __memcpy_{to,from}io
__memcpy_{to,from}io fall back to byte-at-a-time copying if both the source and destination pointers are not 8-byte aligned. Since one of the pointers always points at normal memory, this is unnecessary and detrimental to performance, so only do byte copying until we hit an 8-byte boundary for the device pointer. This change was motivated by performance issues in the pstore driver. On a test platform, measuring probe time for pstore, console buffer size of 1/4MB and pmsg of 1/2MB, was in the 90-107ms region. Change managed to reduce it to 10-25ms, an improvement in boot time. Cc: Kees Cook <keescook@chromium.org> Cc: Anton Vorontsov <anton@enomsg.org> Cc: Tony Luck <tony.luck@intel.com> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Will Deacon <will.deacon@arm.com> Cc: Anton Vorontsov <anton@enomsg.org> Cc: Robin Murphy <robin.murphy@arm.com> Signed-off-by: Mark Salyzyn <salyzyn@android.com> Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'arch/arm64/include/asm/assembler.h')
0 files changed, 0 insertions, 0 deletions