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. |
||
open |
measures how long it takes to open() and then close() a file. |
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.