メモリーとスレッドの配置最適化開発者ガイド

Solaris::lgrp モジュール

この Perl モジュールは、liblgrp に含まれている lgroup API への Perl インタフェースを提供します。このインタフェースを使用すると、lgroup 階層を探索し、その内容と特性を検出し、lgroup に対するスレッドのアフィニティーを設定することができます。このモジュールを使用して、lgrp_user.h ヘッダーファイルで定義されているさまざまな定数や関数にアクセスできます。このモジュールには、ライブラリへの手続き型インタフェースとオブジェクトインタフェースが用意されています。

このモジュールは、デフォルトの動作では何もエクスポートしません。次のタグを使用すると、このモジュールで定義されている定数と関数を選択的にインポートできます。

:LGRP_CONSTANTS

LGRP_AFF_NONE、LGRP_AFF_STRONG、LGRP_AFF_WEAK、LGRP_CONTENT_DIRECT、LGRP_CONTENT_HIERARCHY、LGRP_MEM_SZ_FREE、LGRP_MEM_SZ_INSTALLED、LGRP_VER_CURRENT、LGRP_VER_NONE、LGRP_VIEW_CALLER、LGRP_VIEW_OS、LGRP_NONE、LGRP_RSRC_CPU、LGRP_RSRC_MEM、LGRP_CONTENT_ALL、LGRP_LAT_CPU_TO_MEM

:PROC_CONSTANTS

P_PID、P_LWPID、P_MYID

:CONSTANTS

:LGRP_CONSTANTS、:PROC_CONSTANTS

:FUNCTIONS

lgrp_affinity_get()、lgrp_affinity_set()、lgrp_children()、lgrp_cookie_stale()、lgrp_cpus()、lgrp_fini()、lgrp_home()、lgrp_init()、lgrp_latency()、lgrp_latency_cookie()、lgrp_mem_size()、lgrp_nlgrps()、lgrp_parents()、lgrp_root()、lgrp_version()、lgrp_view()、lgrp_resources()、lgrp_lgrps()、lgrp_leaves()、lgrp_isleaf()、lgrp_lgrps()、lgrp_leaves()

:ALL()

:CONSTANTS()、:FUNCTIONS()

この Perl モジュールには、次のメソッドがあります。

:CONSTANTS タグまたは :ALL タグを使用して、定数をエクスポートできます。次に示す定数はどれでも、Perl プログラムで使用することができます。

基になるライブラリ関数が失敗すると、このモジュール内の関数は undef または空のリストを返します。モジュールでは、次のエラーコードが使用されます。

EINVAL

指定された値が無効です。

ENOMEM

システムメモリーが不足したため操作を完了できませんでした。

ESRCH

指定されたプロセスまたはスレッドが見つかりませんでした。

EPERM

呼び出しプロセスの実効ユーザーが適切な特権を持っておらず、実ユーザー ID または実効ユーザー ID が特定のスレッドの実ユーザー ID または実効ユーザー ID とも一致していません。