Messages in this thread | | | From | Mark Salyzyn <> | Subject | [PATCH v2 0/10] arm+arm64: vdso unification | Date | Thu, 12 Oct 2017 15:58:08 -0700 |
| |
Take an effort to recode the arm64 vdso code from assembler to C previously submitted by Andrew Pinski <apinski@cavium.com>, rework it for use in both arm and arm64, overlapping any optimizations for each architecture. But instead of landing it in arm64, land the result into arm codebase and unify both implementations to simplify future maintenance. This will act as the basis for implementing arm64 vdso32 in the future.
apinski@cavium.com made the following claims in the original patch:
This allows the compiler to optimize the divide by 1000 and remove the other divides.
On ThunderX, gettimeofday improves by 32%. On ThunderX 2, gettimeofday improves by 18%.
Note I noticed a bug in the old implementation of __kernel_clock_getres; it was checking only the lower 32bits of the pointer; this would work for most cases but could fail in a few.
Signed-off-by: Mark Salyzyn <salyzyn@android.com>
v2: - split first CL into 7 pieces, there were cosmetic adjustments. - make sure profiling is turned off. - kept quiet_cmd_vdsoas.
| |