Manpages

名 前

aio_init − 非 同 期 I/O の 初 期 化

書 式

#define _GNU_SOURCE /* See feature_test_macros(7) */
#include <aio.h>

void aio_init(const struct aioinit *init);

−lrt で リ ン ク す る 。

説 明

GNU 固 有 の aio_init() 関 数 を 使 う と 、 呼 び 出 し 側 が glibc の POSIX AIO 実 装 に 対 し て 調 整 (チ ュ ー ニ ン グ ) の ヒ ン ト を 与 え る こ と が で き る 。 こ の 関 数 は 使 用 し な く て も よ い が 、 こ の 関 数 が 効 果 を 持 つ に は 、 POSIX AIO API の 他 の 関 数 を 利 用 す る 前 に 呼 び 出 さ な け れ ば な ら な い 。 チ ュ ー ニ ン グ の 情 報 は 、 引 き 数 init が 指 す バ ッ フ ァ ー で 与 え る 。 こ の バ ッ フ ァ ー は 以 下 の 形 式 の 構 造 体 で あ る 。

struct aioinit {
int aio_threads; /* Maximum number of threads */
int aio_num; /* Number of expected simultaneous
requests */
int aio_locks; /* Not used */
int aio_usedba; /* Not used */
int aio_debug; /* Not used */
int aio_numusers; /* Not used */
int aio_idle_time; /* Number of seconds before idle thread
terminates (since glibc 2.2) */
int aio_reserved; };

aioinit 構 造 体 の フ ィ ー ル ド の う ち 以 下 が 使 用 さ れ る 。

aio_threads こ の フ ィ ー ル ド は 、

AIO の 実 装 が 使 用 で き る ワ ー カ ー ス レ ッ ド

数 の 最 大 値 を 指 定 す る 。 完 了 し て い な い I/O 操 作 の 数 が こ の 上 限 を 超 え た 場 合 、 超 過 し た 操 作 は 空 い た ワ ー カ ー ス レ ッ ド が で き る ま で キ ュ ー に 入 る 。 こ の フ ィ ー ル ド に 1 未 満 の 値 を 指 定 し た 場 合 に は 、 値 1 が 使 用 さ れ る 。 デ フ ォ ル ト 値 は 20 で あ る 。

aio_num こ の フ ィ ー ル ド は 、 呼 び 出 し 側 が キ ュ ー に 入 れ る 予 定 の 同 時

I/O リ ク エ ス ト 数 の 最 大 値 を 指 定 す る 。 こ の フ ィ ー ル ド に 32 未 満 の 値 が 指 定 さ れ た 場 合 、 値 は 32 に 切 り 上 げ ら れ る 。 デ フ ォ ル ト 値 は 64 で あ る 。

aio_idle_time こ の フ ィ ー ル ド は 、 あ る ワ ー カ ー ス レ ッ ド が 、 前 の リ ク エ ス ト の 処 理 を 完 了 し て か ら 、 次 の リ ク エ ス ト を ど の く ら い 時 間 待 つ か を 秒 単 位 で 指 定 す る 。 指 定 し た 時 間 を 経 過 し て も 次 の リ ク エ ス ト が な け れ ば 、 そ の ワ ー カ ー ス レ ッ ド は 終 了 さ れ る 。 デ フ ォ ル ト 値 は

1 秒 で あ る 。

バ ー ジ ョ ン

The aio_init() 関 数 は glibc 2.1 以 降 で 利 用 で き る 。

準 拠

こ の 関 数 は GNU に よ る 拡 張 で あ る 。

関 連 項 目

aio(7)

こ の 文 書 に つ い て

こ の man ペ ー ジ は Linux man−pages プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。