
6
Chapter 1: Software Overview
Fast
gettimeofday
Library Function
In order to correctly order operations in a database, the database must timestamp data
and log entries frequently. Traditional gettimeofday(3)library functions are implemented
as system calls, thus causing an address space switch (from user to kernel mode) each
time a timestamp is required.
With this release, SGIhas includeda device driverthat allowsa read-onlypage of kernel
memory,containing only the time value, to be mapped by an application (or on its behalf
by alibrary function).gettimeofday is then implemented as a library functionthat simply
reads the time value from the exported page in memory, thus avoiding a system call to
obtain the time value.
In order to use the Fast gettimeofday(3) Library Function, the kernel must be compiled
with CONFIG_SYSDAT and the user program must link against libdba in order to
override the libc version of gettimeofday(3).
POSIX Asynchronous I/O
The ability to overlap I/O and processing activities has always been important to
high-performance applications. To allow this type of overlap in single-threaded
applications, SGI has included a kernel-level implementation of POSIX asynchronous
I/O and the associated API library.
This facility is turned on by setting the CONFIG_AIO kernel option. User code can get
access to the facility by linking with libdba.so. Further information can be found in the
lib/libdba/README file.
Commenti su questo manuale