rs_getinfo サブルーチン

目的

リソース・セットに関する情報を取得します。

ライブラリー

標準 C ライブラリー (libc.a)

構文

#include <sys/rset.h>
int rs_getinfo(rset, info_type, flags)
rsethandle_t rset;
rsinfo_t info_type;
unsigned int flags;

説明

取得情報 サブルーチンは、 RSET パラメーターによって識別されるリソース・セットに関する情報を検索します。 取得情報 サブルーチンは、 情報タイプ パラメーターの値に応じて、使用可能なプロセッサーの数、使用可能なメモリー・プールの数、またはリソース RSETに含まれている使用可能メモリーの量に関する情報を返します。 このサブルーチンは、最大システム詳細レベル、対称型マルチプロセッサー (SMP) およびマルチチップ・モジュール (MCM) システム詳細レベル、およびリソース・セット内のプロセッサーまたはメモリー・プール・リソースの最大数などのグローバル・システム情報を戻すこともできます。

パラメーター

項目 説明
rset 情報の取得元となるリソース・セットのリソース・セット・ハンドルを指定します。 このパラメーターは、 情報タイプ パラメーターが R_MAXSDL、R_MAXPROCS、R_MAXMEMPS、R_SMPSDL、または R_MCMSDL の場合は意味がありません。
情報タイプ 要求する情報のタイプを指定します。 以下のいずれかの値 ( rset.hで定義) を使用できます。
  • R_LGPGDEF: リソース・セット内の定義済みラージ・ページの数がメガバイト単位で返されます。
  • R_LGPGFREE: リソース・セット内のフリー・ラージ・ページの数がメガバイト単位で返されます。
  • R_NUMPROCS (R): リソース・セット内の使用可能なプロセッサーの数が返されます。
  • R_NUMPS: リソース・セット内の使用可能メモリー・プールの数が返されます。
  • R_MEMSIZE: リソース・セットに含まれる使用可能メモリーの量 (MB 単位) が返されます。
  • R_MAXSDL (R): システムの最大システム詳細レベルが返されます。
  • R_MAXPROCS: リソース・セットに含めることができるプロセッサーの最大数が返されます。
  • R_MAXMEMPS (R): リソース・セットに含めることができるメモリー・プールの最大数が返されます。
  • R_SMPSDL (R): SMP の従来の概念に対応するシステム詳細レベルが返されます。 ハードウェア・システムがシステム・トポロジー・データを提供しない場合は、システム詳細レベル 0 が戻されます。
  • _ 翻訳不要 _R_MCMSDL: MCM にパッケージ化されたリソースに対応するシステム詳細レベルが返されます。 ハードウェア・システムに MCM がない場合、またはシステム・トポロジー・データが提供されない場合は、システム詳細レベル 0 が戻されます。
  • _ 翻訳不要 _R_SRADSDL: システムのスケジューラー・リソース割り振りドメインに対応するシステム詳細レベルが返されます。 この SDL は、ほとんどのアフィニティー・リソース割り振りおよびスケジューリング・アクティビティーの基礎となります。 この SDL は、ローカル関係を持つリソースを識別します。
  • R_REF1SDL: 最初のハードウェア提供類似性参照点のシステム詳細レベル。 この SDL は、近接関係を持つリソースを識別します。 一部のハードウェア・システムのみが R_REF1SDL 参照点を提供します。 参照点を提供しないシステムでは、 R_REF1SDL は R_SRADSDL システム詳細レベルを識別します。
  • R_MAXSRADS: R_SRADSDL システム詳細レベルの RAD の最大数が戻されます。
  • R_GENERATION (R 生成): システムの現行リソース・セット・トポロジーの世代番号が返されます。 この数は、システムのリソース・セット・トポロジーが変更されるたびに増加します。 例えば、CPU をシステムに追加する動的再構成により、世代番号が増加します。
flags 将来のために予約されています。 0 を指定します。

戻り値

成功した場合は、要求された情報が返されます。 失敗した場合は-1が返され、エラーを示すerrnoグローバル変数が設定される。

エラー・コード

以下の 1 つ以上が該当する場合、 取得情報 サブルーチンは失敗します。

項目 説明
EINVAL 次の1つが起こっています。
  • 情報タイプ パラメーターに無効なリソース・タイプ値が指定されています。
  • フラグ パラメーターが 0 として指定されませんでした。
EFAULT 無効なアドレス。