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.