Using lgrp_init
()
The lgrp_init
()
function initializes the lgroup interface and
takes a snapshot of the lgroup hierarchy.
#include <sys/lgrp_user.h> lgrp_cookie_t lgrp_init(lgrp_view_t view);
When the lgrp_init
()
function is called with
LGRP_VIEW_CALLER
as the view, the function returns a snapshot
with the resources available only to the calling thread. When the
lgrp_init
()
function is called with
LGRP_VIEW_OS
as the view, the function returns a snapshot
with the resources available to the operating system. When a thread successfully
calls the lgrp_init
()
function, the function returns a cookie
that is used by any function interacting with the lgroup hierarchy. When a thread no
longer needs the lgroup hierarchy, call the lgrp_fini
()
function
with the cookie as the argument.
The lgroup hierarchy consists of a root lgroup that contains all of the system's CPU and memory resources. The root lgroup might contain other locality groups bounded by smaller latencies.
The lgrp_init
()
function can return two errors. When a view is
invalid, the function returns EINVAL
. When there is
insufficient memory to allocate the snapshot of the lgroup hierarchy, the function
returns ENOMEM
.