Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

nsg_get_pids(3) [osf1 man page]

nsg_get_pids(3) 					     Library Functions Manual						   nsg_get_pids(3)

NAME
nsg_get_pids - Return a list of a NUMA Scheduling Group's process identifiers (libnuma library) SYNOPSIS
#include <numa.h> int nsg_get_pids( nsgid_t nsg, pid_t *pidlist, int numpids ); PARAMETERS
Specifies the NUMA Scheduling Group (NSG). Specifies an array receiving the process identifiers of the specified NSG. Specifies the maxi- mum number of pid_t entries in pidlist. DESCRIPTION
The nsg_get_pids() function returns a list of process IDs of processes attached to the NSG in the buffer pointed to by pidlist. The argu- ment numpids specifies the number of process IDs that can be accommodated in the buffer. The list is terminated by a NULL entry. The required size of the buffer can be obtained from the nsg_nattach member of the nsgid_ds structure returned by the nsg_get() function. As always, on a dynamically changing system, the number of entries may be different by the time nsg_get_pids() is called. 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 the NSG. RETURN VALUES
Success. However, if errno is set to E2BIG on a successful return, more processes than numpids were available. Failure. In this case, errno is set to indicate the error. ERRORS
If the nsg_get_pids() function fails, it sets errno to one of the following values for the specified condition: The calling process does not have read permission. The pidlist argument specifies an invalid address. The NSG argument does not specify a valid NSG identifier. SEE ALSO
Functions: nsg_attach_pid(3), nsg_get(3), nsg_get_nsgs(3), numa_intro(3) Files: numa_types(4) nsg_get_pids(3)

Check Out this Related Man Page

numa_scheduling_groups(4)				     Kernel Interfaces Manual					 numa_scheduling_groups(4)

NAME
numa_scheduling_groups - Compaq Tru64 UNIX NUMA Scheduling Groups description (libnuma library) DESCRIPTION
Normally, the kernel scheduler attempts to distribute the workload evenly over the entire machine. When the system resources are evenly utilized, the machine is considered to be balanced. When balancing the workload, the scheduler operates in a context-free manner; that is, processes may be distributed to various CPUs, or other resources, without regard to their function or relationship to one another. In cer- tain cases, a user may wish to bundle a group of processes together so that they have equal access to the same system resources. For instance, cooperating processes that share the same physical memory may perform better if all of these processes execute on CPUs that are local to that memory. NUMA Scheduling Groups (NSG) cause the scheduler load-balancing system to treat all members of an NSG as a unit. If one process belonging to an NSG moves from one Resource Affinity Domain (RAD) to another, all other members of the NSG have to move with it. NSGs and their members have the following characteristics: The resource domain of the first process joining an NSG provides the initial resource domain location for that NSG, called the NSG home RAD. All other processes joining the NSG (through the nsg_attach_pid() func- tion) will be migrated to the NSG home RAD. If the joining process is not allowed to migrate, the nsg_attach_pid() function will fail. To support load balancing, an NSG is allowed to migrate to any RAD on the system if none of its members is bound to a specific resource (such as another RAD, CPU, and so on). An NSG member is allowed to attach to or bind to a resource only if no other members are bound to differ- ent resources. The entire NSG will migrate to the RAD containing the resource at the time it was successfully bound. If one NSG member is bound to a resource, all other members of that NSG are also bound to the RAD containing that resource, because the NSG and, therefore its members, is no longer allowed to migrate. SEE ALSO
Commands: runon(1) Functions: bind_to_cpu(3), nsg_attach_pid(3), nsg_detach_pid(3), nsg_destroy(3), nsg_get(3), nsg_get_pids(3), nsg_init(3), nsg_set(3), numa_intro(3), rad_attach_pid(3), rad_bind_pid(3), rad_detach_pid(3) numa_scheduling_groups(4)
Man Page