nsg_get_nsgs(3) — Subroutines
NAME
nsg_get_nsgs − Returns a list NUMA Scheduling Groups (libnuma library)
SYNOPSIS
#include <numa.h>
int nsg_get_nsgs(
nsgid_t ∗nsgidlist,
int numnsgs );
PARAMETERS
nsgidlist
Points to an array that receives the NUMA Scheduling Group (NSG) identifiers.
numnsgs
Specifies the maximum number of nsgid_t entries in nsgidlist.
DESCRIPTION
The nsg_get_nsgs() function returns a list of NSGs that are active on the system in the buffer pointed to by nsgidlist. The argument numnsgs specifies the number of nsgid_t entries that can be accommodated in the buffer. The list is terminated by a NULL entry.
The required size of the buffer can be obtained by first calling nsg_get_nsgs() with a numnsgs set to zero. In this case, the number of NSGs active on the system will be reported in nsgidlist[0]. As always, on a dynamically changing system, the number of entries may be different by the time it is used for the numnsgs argument to the second nsg_get_nsgs() call.
RESTRICTIONS
The effective user ID of the calling process must be equal to the value of nsg_perm.cuid or nsg_perm.uid in the associated nsgid_ds structure; or the calling process must have read permissions to each NSG. If the caller does not have the proper permission, that NSG will not be reported in nsgidlist.
RETURN VALUES
0Success. However, if the errno is set to E2BIG, more NSGs than numnsgs were available.
−1Failure. In this case, errno is set to indicate the error.
ERRORS
If the nsg_get_nsgs() function fails, it sets errno to the following value for the specified condition:
[EFAULT]
The nsgidlist argument points to an invalid address.
SEE ALSO
Functions: nsg_attach_pid(3), nsg_get(3), nsg_get_pids(3), numa_intro(3)
Files: numa_types(4)