lat_syscall - time simple entry into the operating system
lat_syscall [ -P <parallelism> ] [ -W <warmups> ] [ -N <repetitions> ] null|read|write|stat|fstat|open [ file ]
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.
Output format is
Null syscall: 67 microseconds
Funding for the development of this tool was provided by Sun Microsystems Computer Corporation.
Carl Staelin and Larry McVoy
Comments, suggestions, and bug reports are always welcome.
Table of Contents