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 機能が存在しません。