UPSTREAM: arm64: vdso: Avoid ISB after reading from cntvct_el0
commit 77ec462536a13d4b428a1eead725c4818a49f0b1 upstream. (The upstream patch was not marked as fixed but this can fix Fixes: 28b1a824 ("arm64: vdso: Substitute gettimeofday() with C implementation") sysbench memory comparison: - Before: 3072.00 MB transferred (2601.11 MB/sec) - After: 3072.00 MB transferred (3217.86 MB/sec) ) We can avoid the expensive ISB instruction after reading the counter in the vDSO gettime functions by creating a fake address hazard against a dummy stack read, just like we do inside the kernel. Bug: 195968646 Fixes: 28b1a824 ("arm64: vdso: Substitute gettimeofday() with C implementation") Signed-off-by:Will Deacon <will@kernel.org> Reviewed-by:
Vincenzo Frascino <vincenzo.frascino@arm.com> Link: https://lore.kernel.org/r/20210318170738.7756-5-will@kernel.org Signed-off-by:
Catalin Marinas <catalin.marinas@arm.com> CC: stable@vger.kernel.org (cherry picked from commit 77ec462536a13d4b428a1eead725c4818a49f0b1) Signed-off-by:
Chanho Park <chanho61.park@samsung.com> Change-Id: I891873626c27060e7ead724754096a7c5f59e4e6
Loading
Please register or sign in to comment