[RFC PATCH v4 00/11] powerpc: switch VDSO to C implementation.
christophe.leroy at c-s.fr
Fri Jan 17 01:26:56 PST 2020
Le 17/01/2020 à 09:58, Segher Boessenkool a écrit :
> On Thu, Jan 16, 2020 at 05:58:24PM +0000, Christophe Leroy wrote:
>> On a powerpc8xx, with current powerpc/32 ASM VDSO:
>> gettimeofday: vdso: 907 nsec/call
>> clock-getres-realtime: vdso: 484 nsec/call
>> clock-gettime-realtime: vdso: 899 nsec/call
>> The first patch adds VDSO generic C support without any changes to common code.
>> Performance is as follows:
>> gettimeofday: vdso: 1211 nsec/call
>> clock-getres-realtime: vdso: 722 nsec/call
>> clock-gettime-realtime: vdso: 1216 nsec/call
>> Then a few changes in the common code have allowed performance improvement. At
>> the end of the series we have:
>> gettimeofday: vdso: 974 nsec/call
>> clock-getres-realtime: vdso: 545 nsec/call
>> clock-gettime-realtime: vdso: 941 nsec/call
>> The final result is rather close to pure ASM VDSO:
>> * 7% more on gettimeofday (9 cycles)
>> * 5% more on clock-gettime-realtime (6 cycles)
>> * 12% more on clock-getres-realtime (8 cycles)
> Nice! Much better.
> It should be tested on more representative hardware, too, but this looks
> promising alright :-)
Now the challenge is to get VDSO32 buildable on PPC64. The big issue is
that in most powerpc/include/asm/*.h , CONFIG_PPC64 is used to know if
the build is a 64 bits build or a 32 bits build, so VDSO32 build fails.
I don't know how this could be easily fixed.
More information about the linux-arm-kernel