diff options
author | Lorry Tar Creator <lorry-tar-importer@baserock.org> | 2009-10-09 18:17:02 +0000 |
---|---|---|
committer | <> | 2013-09-20 15:53:04 +0000 |
commit | e6a27c468cae77ce26f6aa924b22bd39055892fe (patch) | |
tree | 5799c05ec62d99e582db411ed0fe5ffd2ba519db /libaio-0.3.109/man/aio_init.3 | |
download | libaio-tarball-libaio_0.3.109.orig.tar.gz |
Imported from /home/lorry/working-area/delta_libaio-tarball/libaio_0.3.109.orig.tar.gz.HEADlibaio_0.3.109.origmaster
Diffstat (limited to 'libaio-0.3.109/man/aio_init.3')
-rw-r--r-- | libaio-0.3.109/man/aio_init.3 | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/libaio-0.3.109/man/aio_init.3 b/libaio-0.3.109/man/aio_init.3 new file mode 100644 index 0000000..3b0ec95 --- /dev/null +++ b/libaio-0.3.109/man/aio_init.3 @@ -0,0 +1,96 @@ +.TH aio_init 3 2002-09-12 "Linux 2.4" Linux AIO" +.SH NAME +aio_init \- How to optimize the AIO implementation +.SH SYNOPSYS +.nf +.B #include <errno.h> +.sp +.br +.B #include <aio.h> +.sp +.br +.BI "void aio_init (const struct aioinit *init)" +.fi +.SH DESCRIPTION + +The POSIX standard does not specify how the AIO functions are +implemented. They could be system calls, but it is also possible to +emulate them at userlevel. + +At the point of this writing, the available implementation is a userlevel +implementation which uses threads for handling the enqueued requests. +While this implementation requires making some decisions about +limitations, hard limitations are something which is best avoided +in the GNU C library. Therefore, the GNU C library provides a means +for tuning the AIO implementation according to the individual use. + +.BI "struct aioinit" +.PP +This data type is used to pass the configuration or tunable parameters +to the implementation. The program has to initialize the members of +this struct and pass it to the implementation using the +.IR aio_init +function. +.TP +.B "int aio_threads" +This member specifies the maximal number of threads which may be used +at any one time. +.TP +.B "int aio_num" +This number provides an estimate on the maximal number of simultaneously +enqueued requests. +.TP +.B "int aio_locks" +Unused. +.TP +.B "int aio_usedba" +Unused. +.TP +.B "int aio_debug" +Unused. +.TP +.B "int aio_numusers" +Unused. +.TP +.B "int aio_reserved[2]" +Unused. +.PP +This function must be called before any other AIO function. Calling it +is completely voluntary, as it is only meant to help the AIO +implementation perform better. + +Before calling the +.IR aio_init +, function the members of a variable of +type +.IR "struct aioinit" +must be initialized. Then a reference to +this variable is passed as the parameter to +.IR aio_init +which itself +may or may not pay attention to the hints. + +It is a extension which follows a proposal from the SGI implementation in +.IR Irix 6 +. It is not covered by POSIX.1b or Unix98. +.SH "RETURN VALUES" +The function has no return value. +.SH ERRORS +The function has no error cases defined. +.SH "SEE ALSO" +.BR aio(3), +.BR aio_cancel(3), +.BR aio_cancel64(3), +.BR aio_error(3), +.BR aio_error64(3), +.BR aio_fsync(3), +.BR aio_fsync64(3), +.BR aio_read(3), +.BR aio_read64(3), +.BR aio_return(3), +.BR aio_return64(3), +.BR aio_suspend(3), +.BR aio_suspend64(3), +.BR aio_write(3), +.BR aio_write64(3), +.BR errno(3), |