bsr_query カーネル・サービス
目的
バリア同期レジスター機能の存在を照会し、存在する場合は、そのサイズと割り振りの細分度を照会します。
構文
#include <sys/adspace.h>
int bsr_query (
int *total_bytes,
uint * supported_window_mask,
int *free_bytes,
uint *free_window_mask)
パラメーター
| 項目 | 説明 |
|---|---|
| 合計バイト数 | システムまたは論理区画内に現在存在する BSR 機能の合計バイト数 |
| サポートされるウィンドウ・マスク | 割り振り可能な、サポートされる power-of-2-sized ウィンドウを表すビット・マスク |
| フリー・バイト数 | 現在使用可能な (割り振られていない) BSR バイト数 |
| フリー・ウィンドウ・マスク | 使用可能 (割り振られていない) power-of-2-sized ウィンドウを表すビット・マスク |
説明
bsr_query サービスを使用して、特定のシステムまたは論理区画上のバリア同期レジスター (BSR) 機能の存在と機能を検出することができます。 BSR 機能がシステム上または論理区画内に存在する場合は、値 0 が戻され、参照によって渡されるパラメーターが適切な情報とともに書き込まれます。
合計バイト数 フィールドには、システムまたは論理区画に現在存在する BSR バイトの合計数が書き込まれます。 supported_window_mask フィールドは、ビット・マスク付きで書き込まれます。各ビット・セットは、 total_bytes が割り振りおよびアクセスできるさまざまな power-of-2 ウィンドウ・サイズを示します。 例えば、マスク 0x58 は、サイズ 64 (0x40)、16 (0x10)、および 8 (0x8) バイトのウィンドウがサポートされていたことを示します。
フリー・バイト数 フィールドには、現在割り当てられていないシステムまたは論理区画内の BSR バイト数が書き込まれます。 フリー・ウィンドウ・マスク フィールドはビット・マスク付きで書き込まれます。各ビット・セットは、残りの フリー・バイト数の割り振りとアクセスに使用できる power-of-2 ウィンドウ・サイズを示します。
注: 動的再構成のために、この照会サービスによって返される情報が失効する可能性があります。
実行環境
bsr_query サービスは、プロセス環境からのみ呼び出すことができます。
戻り値
| 項目 | 説明 |
|---|---|
| 0 | BSR 機能が存在し、情報が提供されます。 |
| ENODEV | BSR 機能が存在しません。 |