All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nathan_Lynch@mentor.com (Nathan Lynch)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v7 7/9] ARM: add vdso user-space code
Date: Sat, 28 Jun 2014 16:35:12 -0500	[thread overview]
Message-ID: <53AF3510.7030707@mentor.com> (raw)
In-Reply-To: <20140628201120.GK32514@n2100.arm.linux.org.uk>

On 06/28/2014 03:11 PM, Russell King - ARM Linux wrote:
> 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)

That's consistent with my results on iMX6.  The reported 1.00x "speedup"
for clock-gettime-monotonic etc indicates the VDSO is falling back to
syscall.

Thanks for testing.

  reply	other threads:[~2014-06-28 21:35 UTC|newest]

Thread overview: 76+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-23  3:11 [PATCH v7 0/9] ARM: VDSO Nathan Lynch
2014-06-23  3:11 ` [PATCH v7 1/9] clocksource: arm_arch_timer: change clocksource name if CP15 unavailable Nathan Lynch
2014-06-23  3:11 ` [PATCH v7 2/9] clocksource: arm_arch_timer: enable counter access for 32-bit ARM Nathan Lynch
2014-06-23  3:11 ` [PATCH v7 3/9] ARM: arch_timer: remove unused functions Nathan Lynch
2014-06-23  3:11 ` [PATCH v7 4/9] arm64: " Nathan Lynch
2014-06-23  3:11 ` [PATCH v7 5/9] ARM: place sigpage at a random offset above stack Nathan Lynch
2014-06-23  3:11 ` [PATCH v7 6/9] ARM: miscellaneous vdso infrastructure, preparation Nathan Lynch
2014-06-30 10:11   ` Arnd Bergmann
2014-06-30 12:27     ` Nathan Lynch
2014-06-30 13:06       ` Arnd Bergmann
2014-06-23  3:11 ` [PATCH v7 7/9] ARM: add vdso user-space code Nathan Lynch
2014-06-28  9:53   ` Russell King - ARM Linux
2014-06-28 10:03     ` Russell King - ARM Linux
2014-06-30 15:56       ` Andy Lutomirski
2014-06-28 15:19     ` Nathan Lynch
2014-06-28 15:26   ` Russell King - ARM Linux
2014-06-28 16:13     ` Nathan Lynch
2014-06-28 18:12       ` Russell King - ARM Linux
2014-06-28 19:45         ` Nathan Lynch
2014-06-28 20:11           ` Russell King - ARM Linux
2014-06-28 21:35             ` Nathan Lynch [this message]
2014-06-29  8:34               ` Russell King - ARM Linux
2014-06-29 15:48                 ` Nathan Lynch
2014-06-29 16:07                   ` Russell King - ARM Linux
2014-06-29 23:04                     ` Nathan Lynch
2014-06-30 21:33                     ` Andy Lutomirski
2014-06-30 15:59     ` Andy Lutomirski
2014-06-30 16:50       ` Nathan Lynch
2014-06-30 21:29   ` Andy Lutomirski
2014-07-01  9:00     ` Will Deacon
2014-07-01 13:34       ` Nathan Lynch
2014-07-01 14:11         ` Andy Lutomirski
2014-07-01 13:28     ` Nathan Lynch
2014-07-01 14:56       ` Andy Lutomirski
2014-06-23  3:11 ` [PATCH v7 8/9] ARM: vdso initialization, mapping, and synchronization Nathan Lynch
2014-06-30 21:37   ` Andy Lutomirski
2014-07-01  9:03     ` Will Deacon
2014-07-01 14:11       ` Nathan Lynch
2014-07-01 14:15         ` Will Deacon
2014-07-01 14:17           ` Andy Lutomirski
2014-07-01 17:27             ` Christopher Covington
2014-07-02 14:40             ` Will Deacon
2014-07-02 15:54               ` Andy Lutomirski
2014-07-02 16:18                 ` Nathan Lynch
2014-07-02 16:27                   ` Will Deacon
2014-07-02 16:47                     ` Andy Lutomirski
2014-07-02 17:24                       ` Will Deacon
2014-07-02 18:34                         ` Andy Lutomirski
2014-07-02 18:54                           ` Will Deacon
2014-07-22  0:14                             ` Andy Lutomirski
2014-07-22  8:13                               ` Will Deacon
2014-07-01 14:01     ` Nathan Lynch
2014-07-01 14:09       ` Andy Lutomirski
2014-07-01 14:14         ` Russell King - ARM Linux
2014-06-23  3:11 ` [PATCH v7 9/9] ARM: add CONFIG_VDSO Kconfig and Makefile bits Nathan Lynch
2014-06-27  8:51 ` [PATCH v7 0/9] ARM: VDSO Jan Glauber
2014-06-27  8:57   ` Russell King - ARM Linux
2014-06-27  9:41     ` Ard Biesheuvel
2014-06-27  9:46       ` Russell King - ARM Linux
2014-06-27 17:01         ` Nathan Lynch
2014-06-28  9:42           ` Russell King - ARM Linux
2014-06-28  9:55             ` Russell King - ARM Linux
2014-06-28 14:49               ` Russell King - ARM Linux
2014-06-30  7:27                 ` Arnd Bergmann
2014-06-30  7:43             ` Arnd Bergmann
2014-06-30 18:27               ` Nathan Lynch
2014-06-27 16:00   ` Nathan Lynch
2014-06-30 16:03   ` Andy Lutomirski
2014-06-30  8:12 ` Ard Biesheuvel
2014-07-01 16:34   ` Nathan Lynch
2014-07-01 20:08     ` Ard Biesheuvel
2014-07-01 22:44       ` Russell King - ARM Linux
2014-06-30 14:40 ` Will Deacon
2014-06-30 15:42   ` Nathan Lynch
2014-06-30 21:56     ` Andy Lutomirski
2014-07-01  9:04       ` Will Deacon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=53AF3510.7030707@mentor.com \
    --to=nathan_lynch@mentor.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.