lgrp_view(3LGRP) Locality Group Library Functions lgrp_view(3LGRP)NAME
lgrp_view - get view of lgroup hierarchy
SYNOPSIS
cc [ flag ... ] file... -llgrp [ library ... ]
#include <sys/lgrp_user.h>
lgrp_view_t lgrp_view(lgrp_cookie_t cookie);
DESCRIPTION
The lgrp_view() function takes a cookie representing the snapshot of the lgroup hierarchy obtained from lgrp_init(3LGRP) and returns the
snapshot's view of the lgroup hierarchy.
If the given view is LGRP_VIEW_CALLER, the snapshot contains only the resources that are available to the caller (such as those with
respect to processor sets). When the view is LGRP_VIEW_OS, the snapshot contains what is available to the operating system.
RETURN VALUES
Upon succesful completion, lgrp_view() returns the view for the snapshot of the lgroup hierarchy represented by the given cookie. Other-
wise, -1 is returned and errno is set to indicate the error.
ERRORS
The lgrp_view() function will fail if:
EINVAL The cookie is not valid.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Interface Stability |Evolving |
+-----------------------------+-----------------------------+
|MT-Level |MT-Safe |
+-----------------------------+-----------------------------+
SEE ALSO lgrp_cookie_stale(3LGRP), lgrp_fini(3LGRP), lgrp_init(3LGRP), liblgrp(3LIB), attributes(5)SunOS 5.10 16 Apr 2003 lgrp_view(3LGRP)
Check Out this Related Man Page
lgrp_init(3LGRP)lgrp_init(3LGRP)NAME
lgrp_init - initialize lgroup interface
SYNOPSIS
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 rou-
tines 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 hiearchy represents the latency topology of the machine. The hierarchy is simplified to be a tree and can be used to find the
nearest resources.
The lgroup hiearchy consists of a root lgroup, which is the maximum bounding locality group of the system, contains all the CPU and memory
resources of the machine, and may contain other locality groups that contain CPUs and memory within a smaller locality. The leaf lgroups
contain resources within the smallest latency.
The resources of a given lgroup come directly from the lgroup itself or from leaf lgroups contained within the lgroup. Leaf lgroups
directly contain their own resources and do not encapsulate any other lgroups.
The lgroup hierarchy can be used to find the nearest resources. From a given lgroup, the closest resources can be found in the lgroup
itself. After that, the next nearest resources can be found in its parent lgroup, and so on until the root lgroup is reached where all the
resources of the machine are located.
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:
EINVAL The view is not valid.
ENOMEM 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 |
+-----------------------------+-----------------------------+
|Interface Stability |Evolving |
+-----------------------------+-----------------------------+
|MT-Level |MT-Safe |
+-----------------------------+-----------------------------+
lgrp_children(3LGRP), lgrp_cookie_stale(3LGRP), lgrp_cpus(3LGRP), lgrp_fini(3LGRP), lgrp_mem_size(3LGRP), lgrp_nlgrps(3LGRP), lgrp_par-
ents(3LGRP), lgrp_resources(3LGRP), lgrp_root(3LGRP), lgrp_view(3LGRP), liblgrp(3LIB), attributes(5)
26 Jan 2005 lgrp_init(3LGRP)