Converting from jiffies to ticks

Jesse Smith jessefrgsmith at yahoo.ca
Sun Aug 22 00:20:25 UTC 2010


-----Original Message-----
From: Boris Kochergin <spawk at acm.poly.edu>
To: Jesse Smith <jessefrgsmith at yahoo.ca>
Cc: freebsd-hackers at freebsd.org
Subject: Re: Converting from jiffies to ticks
Date: Fri, 20 Aug 2010 09:46:26 -0400

Jesse Smith wrote:
> I am currently trying to port a program from Linux to FreeBSD which
> detects how much processor time a process is using. The native Linux
> code does this (in part) by reading the number of "jiffies" a given
> process uses. This info is pulled from the /proc/PID/stat file.
>
> One function is failing on FreeBSD and it's obviously because FreeBSD
> does not have all the same files/data in the /proc directory.
>
> I've looked around and, as I understand it, FreeBSD uses "ticks" instead
> of "jiffies" to measure process usage. However, how to gather that data
> is a bit lost on me.
>
> This raises a question for me:
> Where can I find the equivalent information on FreeBSD? I assume
> there's a function call. Maybe in the kvm_* family? I need to be able to
> get the number of ticks a given PID is using, both in the kernel and
> userspace.
>
>
> The rest of the program measures everything in "jiffies", so it would be
> ideal for me to get the ticks used on FreeBSD (based on PID), convert it
> to "jiffies" and pass it back to the main program.
>
> Thanks for any advice,
> Jesse
>
>   

As someone pointed out on -hackers, the jiffies situation in Linux is 
messy because it depends on the architecture, what version of the kernel 
is in use, etc. If, in the end, you're just interested in things like 
the real and CPU time used, however, check out kvm_getprocs(3). The 
information available with that call is documented in the kinfo_proc 
structure in /usr/include/sys/user.h.

-Boris



=======================================


Thank you, this seems to do the trick.

- Jesse




More information about the freebsd-hackers mailing list