The following APIs retrieve information about the contents of a given lgroup.
The lgrp_cpus() function takes a cookie representing a snapshot of the lgroup hierarchy and returns the number of CPUs in a given lgroup.
#include <sys/lgrp_user.h> int lgrp_cpus(lgrp_cookie_t cookie, lgrp_id_t lgrp, processorid_t *cpuids, uint_t count, int content);
If the cpuid[] argument is not NULL and the CPU count is not zero, the lgrp_cpus() function fills the array with CPU IDs until the array is full or all the CPU IDs are in the array.
The content argument can have the following two values:
The lgrp_cpus() function returns IDs for the CPUs in this lgroup and this lgroup's descendants.
The lgrp_cpus() function returns IDs for the CPUs in this lgroup only.
The lgrp_cpus() function returns EINVAL when the cookie, lgroup ID, or one of the flags is not valid. The lgrp_cpus() function returns ESRCH when the specified lgroup ID is not found.
The lgrp_mem_size() function takes a cookie representing a snapshot of the lgroup hierarchy and returns the size of installed or free memory in the given lgroup. The lgrp_mem_size() function reports memory sizes in bytes.
#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 type argument can have the following two values:
The lgrp_mem_size() function returns the amount of free memory in bytes.
The lgrp_mem_size() function returns the amount of installed memory in bytes.
The content argument can have the following two values:
The lgrp_mem_size() function returns the amount of memory in this lgroup and this lgroup's descendants.
The lgrp_mem_size() function returns the amount of memory in this lgroup only.
The lgrp_mem_size() function returns EINVAL when the cookie, lgroup ID, or one of the flags is not valid. The lgrp_mem_size() function returns ESRCH when the specified lgroup ID is not found.