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

ローカリティグループの内容

次に示す API では、指定した lgroup の内容に関する情報を取り出します。

lgrp_cpus() の使用法

lgrp_cpus() 関数は、lgroup 階層のスナップショットを表すクッキーを引数に使用し、指定した lgroup にある CPU の数を返します。

#include <sys/lgrp_user.h>
int lgrp_cpus(lgrp_cookie_t cookie, lgrp_id_t lgrp, processorid_t *cpuids,
              uint_t count, int content);

cpuid[] 引数が NULL ではなく、CPU 数がゼロでないとき、lgrp_cpus() 関数は、配列の要素数の上限まで、またはすべての CPU ID を配列に入れて返します。

content 引数には、次の 2 つの値が指定できます。

LGRP_CONTENT_HIERARCHY

lgrp_cpus() 関数は、この lgroup と下位ノードにある CPU の ID を返す

LGRP_CONTENT_DIRECT

lgrp_cpus() 関数は、この lgroup にある CPU の ID だけを返す

指定したクッキー、lgroup ID、または上記フラグのいずれか 1 つが無効な場合、lgrp_cpus() 関数は EINVAL を返します。指定した lgroup ID が存在しない場合は、lgrp_cpus() 関数は ESRCH を返します。

lgrp_mem_size() の使用法

lgrp_mem_size() 関数は、lgroup 階層のスナップショットを表すクッキーを引数に使用し、指定した lgroup にインストールされたメモリー、または空きメモリー領域のサイズを返します。lgrp_mem_size() 関数は、メモリーサイズをバイト数で返します。

#include <sys/lgrp_user.h>
lgrp_mem_size_t lgrp_mem_size(lgrp_cookie_t cookie, lgrp_id_t lgrp,
                              int type, int content)

type 引数には、次の値が指定できます。

LGRP_MEM_SZ_FREE

lgrp_mem_size() 関数は、空きメモリー領域のサイズをバイト数で返す

LGRP_MEM_SZ_INSTALLED

lgrp_mem_size() 関数は、インストールされたメモリーのサイズをバイト数で返す

content 引数には、次の 2 つの値が指定できます。

LGRP_CONTENT_HIERARCHY

lgrp_mem_size() 関数は、この lgroup と下位ノードのメモリーサイズの総量を返す

LGRP_CONTENT_DIRECT

lgrp_mem_size() 関数は、この lgroup のメモリーのサイズのみを返す

指定したクッキー、lgroup ID、またはフラグのいずれか 1 つが無効な場合、lgrp_mem_size() 関数は EINVAL を返します。指定した lgroup ID が存在しない場合は、lgrp_mem_size() 関数は ESRCH を返します。