bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [address@hidden: [PATCH] Make __getclktck return 100 for the Hurd]


From: Rich Felker
Subject: Re: [address@hidden: [PATCH] Make __getclktck return 100 for the Hurd]
Date: Tue, 11 Jun 2013 21:24:52 -0400
User-agent: Mutt/1.5.21 (2010-09-15)

On Tue, Jun 11, 2013 at 04:13:53PM -0700, Roland McGrath wrote:
> > Basically, top doesn't report correct CPU times. This is caused by
> > sysconf() returning 1000000 while values read from /proc are true tick
> > counts, hence 100 per second at most.
> 
> In fact, that is not a "true tick count".  Most modern Linux kernels have
> ticks at 1024Hz, for example.  The ABI for certain /proc/PID/* files is
> that certain fields are in centiseconds.  That has nothing (except for an
> historical relationship) to do with the actual frequency used in the kernel.
> 
> This is a bug in procfs, regardless.  If it's a good idea to change what
> libc uses, then we'll change.  Any caller of times or clock (i.e. any
> interface using clock_t) has to use sysconf (_SC_CLK_TCK) to know the
> translation from "clock ticks" to units of real time.

sysconf(_SC_CLK_TCK) has to match the units returned by the times()
function. That's about the only place it's relevant. My understanding
is that the kernel's times() syscall and numbers reported in /proc are
using the same units, but if not, times() is the one that's required
to match.

Rich



reply via email to

[Prev in Thread] Current Thread [Next in Thread]