Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

nsg_get_nsgs(3) [osf1 man page]

nsg_get_nsgs(3) 					     Library Functions Manual						   nsg_get_nsgs(3)

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
Points to an array that receives the NUMA Scheduling Group (NSG) identifiers. 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 dif- ferent 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 struc- ture; 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
Success. However, if the errno is set to E2BIG, more NSGs than numnsgs were available. Failure. 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: 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) nsg_get_nsgs(3)

Check Out this Related Man Page

nsg_init(3)						     Library Functions Manual						       nsg_init(3)

NAME
nsg_init - Look up or create a NUMA Scheduling Group (libnuma library) SYNOPSIS
#include <numa.h> nsgid_t nsg_init( key_t key, ulong_t flags ); PARAMETERS
Specifies the key that identifies the NUMA Scheduling Group (NSG). This value may be one of the following: An arbitrary binary value other than zero If the NSG_GETBYPID flag is set, the process ID of a member process of the requested NSG Specifies lookup or creation flags. See DESCRIPTION for details. DESCRIPTION
The nsg_init() function looks up and possibly creates the NSG identified by the key parameter. The flags parameter supplies options for the lookup or create operation. If the flags parameter includes the NSG_GETBYPID flag, then the key parameter is the process ID (pid_t) of a process that is currently a member of the requested NSG. Otherwise, key is an arbitrary binary value that identifies the requested NSG. If the NSG identified by key does not already exist, an error will be returned unless the NSG_CREATE flag is specified. The NSG_CREATE flag instructs nsg_init() to create the NSG and return its identifier. If NSG_CREATE and NSG_EXCL are both specified, an error will be returned if the NSG identified by key already exists. If the NSG_GETBYPID flag is set and the process identified by the value of key does not exist, an error is returned. If the NSG_CREATE flag is set along with the NSG_GETBYPID flag, and the process identified by the value of key exists but is not currently a member of an NSG, a new NSG will be created using the value of key (the process's ID) and the process will be attached to the new NSG. This establishes the "home RAD" of the process as the home RAD for the NSG. After creating a new NSG, the nsg_init() function initializes an associated nsgid_ds structure as follows: The nsg_perm.cuid and nsg_perm.uid members are set equal to the effective user ID of the calling process. The nsg_perm.cgid and nsg_perm.gid members are set equal to the effective group ID of the calling process. The low order nine bits of nsg_perm.mode are set equal to the low order nine bits of flags. The nsg_perm.nattach member is set to zero (or 1 if NSG_GETBYPID is specified in flags). The nsg_perm.mode permissions control operations on NSGs as follows: Write permission is required to destroy the NSG or to set the owner IDs and permissions. Read permission is required to query the NSG status or membership roster. Execute permission is required to attach processes or threads to an NSG. If NSG_CLEANUP is specified in flags, the NSG will be marked for automatic deletion when the nsg_perm.nattach member of the associated nsgid_ds structure transitions from non-zero to zero. RETURN VALUES
Success. Failure. In this case, errno is set to indicate the error. ERRORS
If the nsg_init() function fails, it sets errno to one of the following values for the specified condition: An NSG already exists for the specified key, but the caller does not have access based on the NSG's current permissions. An NSG already exists for the specified key, but NSG_CREATE and NSG_EXCL flags were specified. No NSG exists for the specified key, and the NSG_CREATE flag was not specified. The NSG_GETBYPID flag was set and the process identified by key was not found. One or more illegal values for flags was set. SEE ALSO
Functions: nsg_attach_pid(3), nsg_attach_thread(3), numa_intro(3) Files: numa_types(4) nsg_init(3)
Man Page