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.