diff options
author | Mark Salyzyn <salyzyn@android.com> | 2017-10-24 07:47:14 -0700 |
---|---|---|
committer | Mark Salyzyn <salyzyn@google.com> | 2017-11-08 21:59:38 +0000 |
commit | 04af12976bc6d6da87438cd9a7f7f195a34e2d60 (patch) | |
tree | 9a664edd864950a14db2167be6b4cbf697c180e0 /net/ipv4/tcp_output.c | |
parent | 46d256da87ef1132f02d234b885110d96c6889eb (diff) |
FROMLIST: arm64: Avoid aligning normal memory pointers in __memcpy_{to,from}io
(cherry picked from arm64/for-next/core commit 9ca255bf041ddc7698b6906dbd846c0ba64b1fe1)
__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>
Bug: 63716230
Change-Id: I245545e8243a54b44d30fbb0d0c71a9b8a77ef63
Diffstat (limited to 'net/ipv4/tcp_output.c')
0 files changed, 0 insertions, 0 deletions