From: Nathan_Lynch@mentor.com (Nathan Lynch)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 0/3] arm_arch_timer: VDSO preparation, code consolidation
Date: Wed, 24 Sep 2014 09:32:54 -0500 [thread overview]
Message-ID: <5422D616.7060807@mentor.com> (raw)
In-Reply-To: <5422D138.8000002@codeaurora.org>
On 09/24/2014 09:12 AM, Christopher Covington wrote:
> Hi Nathan,
>
> On 09/22/2014 08:28 PM, Nathan Lynch wrote:
>> On 09/22/2014 05:30 PM, Russell King - ARM Linux wrote:
>>> On Mon, Sep 22, 2014 at 04:39:19PM +0100, Will Deacon wrote:
>>>> On Thu, Sep 18, 2014 at 03:59:32PM +0100, Nathan Lynch wrote:
>>>>> This series contains the necessary changes to allow architected timer
>>>>> access from user-space on 32-bit ARM. This allows the VDSO to support
>>>>> high resolution timestamps for clock_gettime and gettimeofday. This
>>>>> also merges substantially similar code from arm and arm64 into the
>>>>> core arm_arch_timer driver.
>>>>>
>>>>> The functional changes are:
>>>>> - When available, CNTVCT is made readable by user space on arm, as it
>>>>> is on arm64.
>>>>> - The clocksource name becomes "arch_mem_counter" if CP15 access to
>>>>> the counter is not available.
>>>>>
>>>>> These changes have been carried as part of the ARM VDSO patch set over
>>>>> the last several months, but I am splitting them out here as I assume
>>>>> they should go through the clocksource maintainers.
>>>>
>>>> For the series:
>>>>
>>>> Acked-by: Will Deacon <will.deacon@arm.com>
>>>>
>>>> I'm not sure which tree the arch-timer stuff usually goes through, but
>>>> the arm/arm64 bits look fine so I'm happy for them to merged together.
>>>
>>> I raised a while back with Will whether there's much point to having
>>> this on ARM. While it's useful for virtualisation, the majority of
>>> 32-bit ARM doesn't run virtualised. So there's little point in having
>>> the VDSO on the majority of platforms - it will just add additional
>>> unnecessary cycles slowing down the system calls that the VDSO is
>>> designed to try to speed up.
>>
>> Hmm, this patch set is merely exposing the hardware counter when it is
>> present for the VDSO's use; I take it you have no objection to that?
>>
>> While the 32-bit ARM VDSO I've posted (in a different thread) exploits a
>> facility that is required by the virtualization option in the
>> architecture, its utility is not limited to guest operating systems.
>
> Just to clarify, were the performance improvements you measured from a
> virtualized guest or native?
Yeah I should have been explicit about this. My tests and measurements
(and all test results I've received from others, I believe) have been on
native/host kernels, not guests.
>>> So, my view is that this VDSO will only be of very limited use for
>>> 32-bit ARM, and should not be exposed to userspace unless there is
>>> a reason for it to be exposed (iow, the hardware necessary to support
>>> it is present.)
>>
>> My thinking is that it should prove useful in a growing subset of v7
>> CPUs. It is useful today on Cortex-A15 and -A7, and I believe -A12 and
>> -A17 implement the generic timer facility as well.
>
> I count 18 dts* files that have "arm,armv7-timer", including platforms with
> Krait, Exynos, and Tegra processors.
Yup.
next prev parent reply other threads:[~2014-09-24 14:32 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-18 14:59 [PATCH v2 0/3] arm_arch_timer: VDSO preparation, code consolidation Nathan Lynch
2014-09-18 14:59 ` [PATCH v2 1/3] clocksource: arm_arch_timer: change clocksource name if CP15 unavailable Nathan Lynch
2014-09-26 7:04 ` Daniel Lezcano
2014-09-26 9:26 ` Will Deacon
2014-09-26 11:34 ` Daniel Lezcano
2014-09-26 14:55 ` Nathan Lynch
2014-09-18 14:59 ` [PATCH v2 2/3] clocksource: arm_arch_timer: enable counter access for 32-bit ARM Nathan Lynch
2014-09-18 14:59 ` [PATCH v2 3/3] clocksource: arm_arch_timer: consolidate arch_timer_evtstrm_enable Nathan Lynch
2014-09-22 15:39 ` [PATCH v2 0/3] arm_arch_timer: VDSO preparation, code consolidation Will Deacon
2014-09-22 16:15 ` Nathan Lynch
2014-09-22 18:56 ` Daniel Lezcano
2014-09-22 22:30 ` Russell King - ARM Linux
2014-09-23 0:28 ` Nathan Lynch
2014-09-24 14:12 ` Christopher Covington
2014-09-24 14:32 ` Nathan Lynch [this message]
2014-09-24 14:50 ` Russell King - ARM Linux
2014-09-24 16:58 ` Nathan Lynch
2014-09-24 18:58 ` Russell King - ARM Linux
2014-09-24 14:45 ` Catalin Marinas
2014-09-24 14:52 ` Russell King - ARM Linux
2014-09-24 15:04 ` Catalin Marinas
2014-09-24 15:08 ` Russell King - ARM Linux
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=5422D616.7060807@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).