From: David Ahern <dsahern@gmail.com>
To: Shaohua Li <shli@fb.com>
Cc: Peter Zijlstra <peterz@infradead.org>,
Andy Lutomirski <luto@amacapital.net>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
X86 ML <x86@kernel.org>,
Kernel-team@fb.com, "H. Peter Anvin" <hpa@zytor.com>,
Ingo Molnar <mingo@redhat.com>,
John Stultz <john.stultz@linaro.org>
Subject: Re: [PATCH v2 3/3] X86: Add a thread cpu time implementation to vDSO
Date: Fri, 02 Jan 2015 10:09:10 -0700 [thread overview]
Message-ID: <54A6D0B6.7090700@gmail.com> (raw)
In-Reply-To: <20150102170223.GA2381637@devbig257.prn2.facebook.com>
On 1/2/15 10:02 AM, Shaohua Li wrote:
> On Fri, Jan 02, 2015 at 08:31:33AM -0700, David Ahern wrote:
>> On 1/1/15 7:59 PM, Shaohua Li wrote:
>>> I'm wondering how we could use the perf to implament a clock_gettime.
>>> reading the perf fd or using ioctl is slow so reading the mmap
>>> ringbuffer is the only option. But as far as I know the ringbuffer has
>>> data only when an event is generated. Between two events, there is
>>> nothing we can read from the ringbuffer. Then how can application get
>>> time info in the interval?
>>
>> Are you wanting to read perf_clock from userspace?
>
> Yep, in some sort of form. Basically I want to read the time a task
> runs. Peter suggests we can read the activation time of a perf event.
> But I don't want to use any system call, as it's slow and likes
> clock_gettime.
Since we cannot get the capability committed upstream a number of folks
are using this method:
https://github.com/dsahern/linux/blob/perf-full-monty/README.ahern
ie., a KLM exports perf_clock and apps can use:
#define CLOCK_PERF 14
if (clock_gettime(CLOCK_PERF, &ts) != 0) {
}
No vdso acceleration, but works with an unmodified kernel.
David
next prev parent reply other threads:[~2015-01-02 17:09 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-17 23:12 [PATCH v2 1/3] X86: make VDSO data support multiple pages Shaohua Li
2014-12-17 23:12 ` [PATCH v2 2/3] X86: add a generic API to let vdso code detect context switch Shaohua Li
2014-12-19 1:05 ` Thomas Gleixner
2014-12-17 23:12 ` [PATCH v2 3/3] X86: Add a thread cpu time implementation to vDSO Shaohua Li
2014-12-18 23:30 ` Andy Lutomirski
2014-12-19 0:22 ` Andy Lutomirski
2014-12-19 0:30 ` Shaohua Li
2014-12-19 0:32 ` Andy Lutomirski
2014-12-19 0:34 ` Thomas Gleixner
2014-12-19 11:23 ` Peter Zijlstra
2014-12-19 16:48 ` Andy Lutomirski
2014-12-19 17:03 ` Peter Zijlstra
2014-12-19 17:07 ` Andy Lutomirski
2014-12-19 17:27 ` Peter Zijlstra
2014-12-19 17:42 ` Andy Lutomirski
2015-01-02 2:59 ` Shaohua Li
2015-01-02 15:31 ` David Ahern
2015-01-02 17:02 ` Shaohua Li
2015-01-02 17:09 ` David Ahern [this message]
2015-01-02 17:17 ` Shaohua Li
2015-01-02 17:26 ` David Ahern
2015-01-02 17:47 ` Andy Lutomirski
2015-01-05 23:23 ` Shaohua Li
2015-01-06 10:18 ` Peter Zijlstra
2015-01-06 16:59 ` Shaohua Li
2015-01-12 19:50 ` Shaohua Li
2014-12-19 17:42 ` Chris Mason
2014-12-19 17:53 ` Andy Lutomirski
2014-12-19 18:16 ` Shaohua Li
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=54A6D0B6.7090700@gmail.com \
--to=dsahern@gmail.com \
--cc=Kernel-team@fb.com \
--cc=hpa@zytor.com \
--cc=john.stultz@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=luto@amacapital.net \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=shli@fb.com \
--cc=x86@kernel.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.