AIO_INIT
Section: Linux Programmer's Manual (3)
Updated: 2020-08-13
Index
JM Home Page
roff page
 
名前
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 プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
https://www.kernel.org/doc/man-pages/ に書かれている。
 Index
- 名前
 - 
 - 書式
 - 
 - 説明
 - 
 - バージョン
 - 
 - 準拠
 - 
 - 関連項目
 - 
 - この文書について
 - 
 
This document was created by
man2html,
using the manual pages.
Time: 16:46:40 GMT, November 24, 2023