LGRP_MEM_SIZE(3LGRP) Locality Group Library Functions LGRP_MEM_SIZE(3LGRP)

lgrp_mem_size - return the memory size of the given lgroup

cc [ flag... ] file... -llgrp [ library... ]
#include <sys/lgrp_user.h>
lgrp_mem_size_t lgrp_mem_size(lgrp_cookie_t cookie, lgrp_id_t lgrp,

int type, int content);

The lgrp_mem_size() function takes a cookie representing a snapshot of the lgroup hierarchy. The cookie was obtained by calling lgrp_init(3LGRP). The lgrp_mem_size() function returns the memory size of the given lgroup in bytes. The type argument should be set to one of the following values:


LGRP_MEM_SZ_FREE                /* free memory */
LGRP_MEM_SZ_INSTALLED           /* installed memory */

The content argument should be set to one of the following values to specify whether the direct contents or everything in this lgroup should be returned:


LGRP_CONTENT_ALL        /* everything in this lgroup */
LGRP_CONTENT_DIRECT     /* directly contained in lgroup */
LGRP_CONTENT_HIERARCHY  /* everything within this hierarchy (for */

compatibility only, use LGRP_CONTENT_ALL) */

The LGRP_CONTENT_HIERARCHY value can still be used, but is being replaced by LGRP_CONTENT_ALL.

The total sizes include all the memory in the lgroup including its children, while the others reflect only the memory contained directly in the given lgroup.

Upon successful completion, the size in bytes is returned. Otherwise, −1 is returned and errno is set to indicate the error.

The lgrp_mem_size() function will fail if:

EINVAL

The specified cookie, lgroup ID, or one of the flags is not valid.

ESRCH

The specified lgroup ID was not found.

See attributes(7) for descriptions of the following attributes:

ATTRIBUTE TYPE ATTRIBUTE VALUE
Interface Stability Evolving
MT-Level MT-Safe

lgrp_cpus(3LGRP), lgrp_init(3LGRP), lgrp_resources(3LGRP), liblgrp(3LIB), attributes(7)

January 26, 2005 OmniOS