From: cov@codeaurora.org (Christopher Covington)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/3] ARM: sched_clock: support 64-bit counters
Date: Fri, 22 Mar 2013 08:03:07 -0400 [thread overview]
Message-ID: <514C487B.4020208@codeaurora.org> (raw)
In-Reply-To: <514B866A.3010308@gmail.com>
Hi Rob,
On 03/21/2013 06:15 PM, Rob Herring wrote:
> On 03/21/2013 09:02 AM, Christopher Covington wrote:
>> Hi Rob,
>>
>> On 03/11/2013 10:26 PM, Rob Herring wrote:
>>> From: Rob Herring <rob.herring@calxeda.com>
>>>
>>> With architected timers, we now have 64-bit counters which can be used
>>> directly for sched_clock. However, the ARM sched_clock code currently just
>>> uses the lower 32-bits and handles wrapping in software. Add support for
>>> using the full 64-bit counter values. If multiple counters are registered,
>>> a 64-bit counter is preferred.
>>
>> To be more precise, architected timers are anywhere between 56 and 64 bits
>> wide, zero-extended to 64-bits. See section B8.1.1 of the ARM ARM rev C.b. I
>> don't know if the code really needs to change until someone has a need to
>> distinguish more finely between timers, but if you're using access size as an
>> approximation for counter width, I feel like it at least deserves a mention in
>> the comments.
>
> Is there a defined way to determine the number of active bits?
> setup_sched_clock could be generalized to take any sizes >32 - 64 bits,
> but then we need some threshold as to when we need to worry about
> wrapping or not.
An easy way isn't clear to me. As a thought experiment, one might be able to
write all ones to the CNTCV and see what sticks, or if that doesn't work,
write 56 ones, turn the timer on and see if that rolls over, and if not check
57 ones, etc. However, the write(s) are only possible using the memory-mapped
interface from the secure world while the timer is off. Perhaps the width
could be enumerated in the device tree entry.
Regards,
Christopher
--
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by the Linux Foundation.
next prev parent reply other threads:[~2013-03-22 12:03 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-12 2:26 [PATCH 0/3] ARM sched_clock selection enhancements Rob Herring
2013-03-12 2:26 ` [PATCH 1/3] ARM: sched_clock: allow changing to higher frequency counter Rob Herring
2013-03-12 2:26 ` [PATCH 2/3] ARM: sched_clock: support 64-bit counters Rob Herring
2013-03-21 14:02 ` Christopher Covington
2013-03-21 22:15 ` Rob Herring
2013-03-22 12:03 ` Christopher Covington [this message]
2013-03-22 12:58 ` Rob Herring
2013-03-22 15:20 ` Russell King - ARM Linux
2013-03-22 11:09 ` Russell King - ARM Linux
2013-03-12 2:26 ` [PATCH 3/3] ARM: arch_timer: use the 64-bit sched_clock setup Rob Herring
2013-03-12 9:23 ` [PATCH 0/3] ARM sched_clock selection enhancements Russell King - ARM Linux
2013-03-12 12:43 ` Rob Herring
2013-03-20 23:03 ` Rob Herring
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=514C487B.4020208@codeaurora.org \
--to=cov@codeaurora.org \
--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).