プログラミングインタフェース

lgrp_init() の使用法

lgrp_init() 関数は、 lgroup インタフェースを初期化し、 lgroup 階層のスナップショットを取得します。

#include <sys/lgrp_user.h>
lgrp_cookie_t lgrp_init(lgrp_view_t view);

引数 view に LGRP_VIEW_CALLER を指定して lgrp_init() 関数を呼び出す場合には、呼び出したスレッドで利用可能な資源だけがスナップショットとして返されます。引数 view に LGRP_VIEW_OS を指定して lgrp_init() 関数を呼び出す場合は、オペレーティングシステムで利用可能な資源がスナップショットとして返されます。スレッドが lgrp_init() 関数の呼び出しに成功すると、関数は lgroup 階層とやりとりするすべての関数で使用される cookie を返します。スレッドに cookie が必要でなくなったときは、cookie を引数に指定して lgrp_fini() 関数を呼び出します。

lgroup 階層は、マシン上のすべての CPU とメモリー資源を含むルート lgroup 階層によって構成されています。ルート lgroup は、応答時間がより短く制限された複数の近傍性グループを持つことができます。

lgrp_init() 関数が返すエラーは 2 種類あります。無効な引数 view が指定された場合、EINVAL を返します。lgroup 階層のスナップショットを割り当てる十分なメモリーがない場合には、ENOMEM を返します。