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:
EINVAL
ESRCH
See attributes(7) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
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 |