Messages in this thread | | | From | Andy Lutomirski <> | Date | Fri, 19 Dec 2014 08:48:07 -0800 | Subject | Re: [PATCH v2 3/3] X86: Add a thread cpu time implementation to vDSO |
| |
On Fri, Dec 19, 2014 at 3:23 AM, Peter Zijlstra <peterz@infradead.org> wrote: > On Thu, Dec 18, 2014 at 04:22:59PM -0800, Andy Lutomirski wrote: >> Bad news: this patch is incorrect, I think. Take a look at >> update_rq_clock -- it does fancy things involving irq time and >> paravirt steal time. So this patch could result in extremely >> non-monotonic results. > > Yeah, I'm not sure how (and if) we could make all that work :/
I obviously can't comment on what Facebook needs, but if I were rigging something up to profile my own code*, I'd want a count of elapsed time, including user, system, and probably interrupt as well. I would probably not want to count time during which I'm not scheduled, and I would also probably not want to count steal time. The latter makes any implementation kind of nasty.
The API presumably doesn't need to be any particular clock id for clock_gettime, and it may not even need to be clock_gettime at all.
Is perf self-monitoring good enough for this? If not, can we make it good enough?
* I do this today using CLOCK_MONOTONIC
--Andy
-- Andy Lutomirski AMA Capital Management, LLC
| |