1
0
Files
irix-657m-src/irix/lib/libdba/src
2022-09-29 17:59:04 +03:00
..
2022-09-29 17:59:04 +03:00
2022-09-29 17:59:04 +03:00
2022-09-29 17:59:04 +03:00
2022-09-29 17:59:04 +03:00
2022-09-29 17:59:04 +03:00
2022-09-29 17:59:04 +03:00
2022-09-29 17:59:04 +03:00
2022-09-29 17:59:04 +03:00
2022-09-29 17:59:04 +03:00
2022-09-29 17:59:04 +03:00
2022-09-29 17:59:04 +03:00
2022-09-29 17:59:04 +03:00
2022-09-29 17:59:04 +03:00
2022-09-29 17:59:04 +03:00
2022-09-29 17:59:04 +03:00
2022-09-29 17:59:04 +03:00

Assumptions:

once kaio is marked enabled, akwaiting and akcomplete are expected to
exist. if there is a failure initializing all kaio stuff, kaio is marked
disabled and everything goes through libc aio.

within libc aio, if kaio is enabled, certain functions (error, ...) are
assumed to work without any sproc overhead, making it safe for kaio to
return back to them to complete processing.

USR_AIO_IS_ACTIVE -->> MAYBE_INIT_AGAIN has been done


----------------------------------------------------

Things to add to man pages in DBA/libc patch:


You must link dynamically (libdba.so)

Use aio_usedba in aio_sgi_init() or set __SGI_USE_DBA.
(Backdoor __SGI_DBA_NOKAIO will disable kaio even if aio_usedba or
__SGI_USE_DBA is set.)

Alignment restrictions.

Raw file descriptors (xlv ok).

Unsupported: cancel, fsync, hold, callbacks, signal notification, 5.2compat.
	-> must poll or use suspend

Do not attempt to call any libdba functions directly - they are intended
for use with the libc aio functions and will not work correctly outside
that environment.

Include getdbacf, dbastat (?). src?

It is intended to be invisible *if* you follow the above
restrictions. If your application does not follow these restrictions,
some I/O requests may be rejected.

Uses the max_sys_aio kernel tunable (master.d/kaio) to determine the
number of concurrent I/O ops allowed, rather than
sysconf(_SC_AIO_MAX). This is statically tunable, not dynamic.

Will not start sprocs, unless there is an **aio** request to a
filesystem file.

No ABI version of the library.

No guarantees it will work if application uses pthreads.

LIO_WAIT with lio_listio is not supported. The "sig" arg must be 0 for
LIO_NOWAIT.