Re: [PATCH 2/2] Add a thread cpu time implementation to vDSO

From: john stultz
Date: Mon Dec 12 2011 - 18:33:01 EST


On Mon, 2011-12-12 at 15:20 -0800, Arun Sharma wrote:
> On 12/12/11 3:09 PM, john stultz wrote:
> > On Mon, 2011-12-12 at 11:36 -0800, Arun Sharma wrote:
> >> From: Kumar Sundararajan<kumar@xxxxxx>
> >>
> >> This primarily speeds up clock_gettime(CLOCK_THREAD_CPUTIME_ID, ..)
> >> via a new vsyscall. We also add a direct vsyscall that returns
> >> time in ns (RFC: the direct vsyscall doesn't have a corresponding
> >> regular syscall, although clock_gettime() is pretty close).
> >
> > I'm still not super psyched about providing a vdso-only API.
> >
> > If a nanosecond interface like thread_cpu_time() is actually a big win
> > over clock_gettime(CLOCK_THREAD_CPUTIME,...) it seems it should have its
> > own syscall as well, no?
>
> The win is relatively small when we're dealing with syscalls. But with
> vsyscalls, it starts showing up in micro benchmarks.
>
> Happy to post patches for regular syscalls (assuming I can get them
> allocated :).
>
> >
> > Possibly something like clock_gettime_ns(), which would return the same
> > values as clock_gettime() but in nanoseconds rather then a timespec?
> >
>
> If we're doing non-POSIXy things there, how about allocating one syscall
> per clock instead of multiplexing them through a single syscall?
>
> This would be a nice to have (clock_gettime_ns() should get us most of
> the perf benefit).

Well, it makes it a little easier to extend if we get a new clockid,
rather then having to add a whole new syscall. Keeps parity between the
timespec and ns interfaces.

Is it just that you're concerned about the clockid switch costs being
too high?

thanks
-john


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/