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

lgrp_cpus - get CPU IDs contained in specified lgroup

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

processorid_t *cpuids, uint_t count, int content);

The lgrp_cpus() function takes a cookie representing a snapshot of the lgroup hierarchy obtained from lgrp_init(3LGRP) and returns the number of CPUs in the lgroup specified by lgrp. If both the cpuids[] argument is non-null and the count is non-zero, lgrp_cpus() stores up to the specified count of CPU IDs into the cpuids[] array.

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.

Upon successful completion, the number of CPUs in the given lgroup is returned. Otherwise, −1 is returned and errno is set to indicate the error.

The lgrp_cpus() function will fail if:


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


The specified lgroup ID was not found.

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

Interface Stability Evolving
MT-Level MT-Safe

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

January 26, 2005 OmniOS