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.