This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
RE: Measuring system call times, elapsed and cpu
- From: "Stone, Joshua I" <joshua dot i dot stone at intel dot com>
- To: "Mike Mason" <mmlnx at us dot ibm dot com>, <systemtap at sourceware dot org>
- Date: Tue, 18 Sep 2007 15:41:23 -0700
- Subject: RE: Measuring system call times, elapsed and cpu
- References: <46F05029.7040705@us.ibm.com>
Mike Mason wrote:
> I'm writing a script that attempts to measure how long it takes
> system calls to finish. It uses gettimeofday_ns() to get the time at
> entry and exit, then calculates the delta. Simple. It occurred me,
> however, that a system call can start on one cpu and finish on
> another. Now I'm wondering if I can rely on gettimeofday_ns() for
> this type of measurement. If not, is there a better way to do this?
It should work, with the caveat of bug #3916. The gettimeofday results
are system time, so they should be consistent across CPUs.
> I'd also like to break down the system call latency into cpu and wait
> times. I thought of calculating the delta of utime+stime from
> task_struct to get cpu time, then subtracting that from the overall
> delta to get wait time. Should this work or am I missing something?
This will include any time while you were context-switched away -- is
that your intention?
Josh