Re: [PATCH v3 2/6] perf tsc: Add rdtsc() for Arm64

From: Arnaldo Carvalho de Melo
Date: Fri Sep 04 2020 - 15:08:30 EST


Em Thu, Sep 03, 2020 at 10:23:54AM +0800, Leo Yan escreveu:
> Hi Peter,
>
> On Wed, Sep 02, 2020 at 03:48:05PM +0200, Peter Zijlstra wrote:
> > On Wed, Sep 02, 2020 at 02:21:27PM +0100, Leo Yan wrote:
> > > The system register CNTVCT_EL0 can be used to retrieve the counter from
> > > user space. Add rdtsc() for Arm64.
> >
> > > +u64 rdtsc(void)
> > > +{
> > > + u64 val;
> >
> > Would it make sense to put a comment in that this counter is/could-be
> > 'short' ? Because unlike x86-TSC, this thing isn't architecturally
> > specified to be 64bits wide.
>
> Will add below comments:
>
> According to ARM DDI 0487F.c, from Armv8.0 to Armv8.5 inclusive, the
> system counter is at least 56 bits wide; from Armv8.6, the counter must
> be 64 bits wide. So the system counter could be less than 64 bits wide
> and it is attributed with the flag 'cap_user_time_short' is true.

Ok, so waiting for v4.

- Arnaldo