lat_syscall(8) time simple entry into the operating system

SYNOPSIS

lat_syscall [ -P <parallelism> ] [ -W <warmups> ] [ -N <repetitions> ] null|read|write|stat|fstat|open [ file ]

DESCRIPTION

null
measures how long it takes to do getppid(). We chose getppid() because in all UNIX variants we are aware of, it requires a round-trip to/from kernel space and the actual work required inside the kernel is small and bounded.
read
measures how long it takes to read one byte from /dev/zero. Note that some operating systems do not support /dev/zero.
write
times how long it takes to write one byte to /dev/null. This is useful as a lower bound cost on anything that has to interact with the operating system.
stat
measures how long it takes to stat() a file whose inode is already cached.
fstat
measures how long it takes to fstat() an open file whose inode is already cached.
open
measures how long it takes to open() and then close() a file.

OUTPUT

Output format is

Null syscall: 67 microseconds

ACKNOWLEDGEMENT

Funding for the development of this tool was provided by Sun Microsystems Computer Corporation.

AUTHOR

Carl Staelin and Larry McVoy

Comments, suggestions, and bug reports are always welcome.