cc [ flag … ] file… -llgrp [ library … ] #include <sys/lgrp_user.h>lgrp_cookie_t lgrp_init(lgrp_view_t view);
The lgrp_init() function initializes the lgroup interface and takes a snapshot of the lgroup hierarchy with the given view. If the given view is LGRP_VIEW_CALLER, the snapshot contains only the resources that are available to the caller (for example, with respect to processor sets). When the view is LGRP_VIEW_OS, the snapshot contains what is available to the operating system.
Given the view, lgrp_init() returns a cookie representing this snapshot of the lgroup hierarchy. This cookie should be used with other routines in the lgroup interface needing the lgroup hierarchy. The lgrp_fini(3LGRP) function should be called with the cookie when it is no longer needed.
The lgroup hierarchy consists of a root lgroup, which is the maximum bounding locality group of the system. It contains all the CPU and memory resources of the machine and can contain other locality groups that contain CPUs and memory within a smaller locality.
Upon successful completion, lgrp_init() returns a cookie. Otherwise it returns LGRP_COOKIE_NONE and sets errno to indicate the error.
The lgrp_init() function will fail if:
The view is not valid.
There was not enough memory to allocate the snapshot of the lgroup hierarchy.
See attributes(5) for descriptions of the following attributes:
|ATTRIBUTE TYPE||ATTRIBUTE VALUE|
lgrp_children(3LGRP), lgrp_cookie_stale(3LGRP), lgrp_cpus(3LGRP), lgrp_fini(3LGRP), lgrp_mem_size(3LGRP), lgrp_nlgrps(3LGRP), lgrp_parents(3LGRP), lgrp_root(3LGRP), lgrp_view(3LGRP), liblgrp(3LIB), attributes(5)