AIO_INIT

Section: Linux Programmer's Manual (3)
Updated: 2020-08-13
IndexJM Home Page
 

名前

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

書式

#define _GNU_SOURCE#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;    
    int aio_num;        
    int aio_locks;      
    int aio_usedba;     
    int aio_debug;      
    int aio_numusers;   
    int aio_idle_time;  
    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/ に書かれている。


関連キーワード

int,フィールド,INIT,init,ワーカースレッド,リクエスト,Not,threads,idle,aioinit 

Index

名前
書式
説明
バージョン
準拠
関連項目
この文書について

This document was created byman2html, using the manual pages.
Time: 03:39:06 GMT, June 22, 2021