[PATCH v7 7/9] ARM: add vdso user-space code

Russell King - ARM Linux linux at arm.linux.org.uk
Sat Jun 28 13:11:20 PDT 2014

On Sat, Jun 28, 2014 at 02:45:41PM -0500, Nathan Lynch wrote:
> On 06/28/2014 01:12 PM, Russell King - ARM Linux wrote:
> > I know that I'm probably many years away from it, even if Ubuntu
> > adopt it for something recent - I'm rather stuck with 12.04 due to
> > the move towards requiring 3D GPU acceleration in later versions.
> > It seems that the choices on ARM now are to either have a crippled
> > distro through lack of open GPU support, or stick with an old distro
> > that doesn't require GPUs.
> Based on other messages from you on the ML I'm assuming you have an
> i.MX6 system in mind?  (Forgive me if I'm wrong.)  On any Cortex-A9 or
> -A8 the VDSO isn't going to be any great benefit anyway.  Those CPUs
> don't implement the generic timers extension, so only clock_gettime()
> with low-resolution clock ids will see a speedup.  And few programs use
> those, to my knowledge.
> A15, A7, and I'm pretty sure A12 and A17 all implement the timer
> extension and will see full benefit.  Some Qualcomm CPUs too, I think.

Here's the results from vdsotest... yes on iMX6 as that's the most
advanced bootable system I have:

clock-gettime-monotonic system calls per second: 1601780
clock-gettime-monotonic vdso calls per second:   1600862 (1.00x speedup)
clock-getres-monotonic system calls per second: 3001396
clock-getres-monotonic vdso calls per second:   52163259 (17.38x speedup)
clock-gettime-monotonic-coarse system calls per second: 2824631
clock-gettime-monotonic-coarse vdso calls per second:   13760820 (4.87x speedup)
clock-getres-monotonic-coarse system calls per second: 3166932
clock-getres-monotonic-coarse vdso calls per second:   52111805 (16.45x speedup)
clock-gettime-realtime system calls per second: 1596863
clock-gettime-realtime vdso calls per second:   1590424 (1.00x speedup)
clock-getres-realtime system calls per second: 2993748
clock-getres-realtime vdso calls per second:   52123753 (17.41x speedup)
clock-gettime-realtime-coarse system calls per second: 3007894
clock-gettime-realtime-coarse vdso calls per second:   17081617 (5.68x speedup)
clock-getres-realtime-coarse system calls per second: 3072073
clock-getres-realtime-coarse vdso calls per second:   49401452 (16.08x speedup)
Note: vDSO version of getcpu not found
getcpu system calls per second: 4902323
getcpu vdso calls per second:   4972290 (1.01x speedup)
Note: vDSO version of getcpu not found
Note: vDSO version of getcpu not found
gettimeofday system calls per second: 1637099
gettimeofday vdso calls per second:   1637573 (1.00x speedup)

FTTC broadband for 0.8mile line: now at 9.7Mbps down 460kbps up... slowly
improving, and getting towards what was expected from it.

More information about the linux-arm-kernel mailing list