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


NAME


lgrp_cpus - get CPU IDs contained in specified lgroup

SYNOPSIS


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);


DESCRIPTION


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.

RETURN VALUES


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.

ERRORS


The lgrp_cpus() 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.


ATTRIBUTES


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


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

SEE ALSO


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


January 26, 2005 LGRP_CPUS(3LGRP)