Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

__pset_rtctl(2) [hpux man page]

__pset_rtctl(2) 						System Calls Manual						   __pset_rtctl(2)

NAME
__pset_rtctl() - real-time processor set control SYNOPSIS
DESCRIPTION
HP-UX Processor Sets allow a subset of processors in the system to be isolated for exclusive use by specified threads and processes. Only the threads bound to a processor set can execute on processors in that processor set (see pset_create(2)). The function extends processor set functionality for real-time applications to minimize operating system activities in a processor set. A processor set can be configured as a real-time processor set (referred to as RTE processor set). An RTE processor set has the following special features that are not available in standard processor sets: The scheduler does not schedule kernel daemons on processors in the RTE processor set. Kernel daemons are restricted to processors in non-RTE processor sets. External I/O interrupts on processors in the RTE processor set are disabled. The system is reconfigured to not deliver any external I/O interrupts to processors in the RTE processor set. (The clock interrupt still continues to come on each processor though). This feature may not be supported on all platforms (see intctl(1M) for details). All pending callouts on processors in the RTE processor set are reassigned to processors in non-RTE processor sets. However, if a real-time application in an RTE processor set requests a service which requires callout support in the kernel, such callouts may execute on RTE processors. The system always has at least one non-RTE processor set. The system default processor set (see pset_create(2)) cannot be configured as an RTE processor set. Since the system default processor set is never empty, there is always at least one processor in a non-RTE processor set to execute the kernel daemons, I/O interrupts and callouts for the system. The request argument specifies the operation to perform on the processor set pset for real time extension. The following values are sup- ported: Configure the specified processor set, pset, as an RTE processor set. The processor set may or may not have processors assigned at this point. If pset has processors assigned to it at the time of this request, these processors are made unavailable to the kernel daemons. External I/O interrupts and pending callouts on processors in pset are reassigned to processors in non-RTE processor sets in the system. The processor set attribute values are changed to default values for an RTE processor set. If pset has any assigned workload, it continues to execute in that processor set. The arg argument is ignored. Unconfigure the specified processor set pset as an RTE processor set. The processors, if any, in this processor set are made available to the kernel daemons. The system may redistribute the external I/O interrupts with availability of these processors. Pending callouts in the system are not redis- tributed to these processors. The processor set attribute values are restored to default values for a non-RTE processor set as applicable. If pset has any assigned workload, it continues to execute in that processor set. The arg argument is ignored. Return the ID of the first RTE processor set in the system. The pset and arg arguments are ignored. Return the ID of the next RTE processor set in the system after pset. The arg argument is ignored. Typically, is called to determine the first RTE processor set. is then called in a loop (until the call returns -1) to determine the IDs of the remaining RTE processor sets in the system. See pset_ctl(2) for additional processor set query operations. The function allows users to query all processor sets in the system, pro- cessors in a specific processor set, processor set given a processor, etc. A processor may be added to an RTE processor set using the function. In this case, the processor is made unavailable to the kernel dae- mons; external I/O interrupts and pending callouts on this processor are reassigned to processors in non-RTE processor sets in the system. Conversely, if a processor is removed from an RTE processor set and added to a non-RTE processor set, it is made available to the kernel daemons and for external I/O interrupts. Similarly, if a non-empty RTE processor set is destroyed, its processors are made available to the kernel daemons and for external I/O interrupts. Only a user with appropriate privileges may configure and unconfigure an RTE processor set. However, any user may query the IDs and con- figuration of RTE processor sets. Only a user with appropriate privileges may reassign processors into or out of an RTE processor set, change attribute values, or destroy an RTE processor set. Any user with EXEC permissions in an RTE processor set may run applications in that RTE processor set. HP-UX processor sets define processor set attributes to provide users explicit control in managing their processor set configuration and work load assignment among many users and applications (see pset_getattr(2) for details). A processor set is assigned default values for these attributes at creation time. The RTE processor sets attributes are assigned different default values at time of configuration. The supported attributes and their default values are: UID of the processor set owner. When a processor set is converted into an RTE pset, the owner of the pset changes to that of the effective uid of the calling process. The owner of the pset or a user with appropriate privilege can change this attribute using (See pset_setattr(2).) GID of processor set's owner group. When a processor set is converted into an RTE pset, the group of the pset changes to that of the effective gid of the calling process. The owner of the pset or a user with appropriate privilege can change this attribute using (See pset_setattr(2).) Access permissions for the processor set. When a processor set is converted to an RTE processor set, the permissions are reset such that the processor set owner has all per- missions, group has READ and EXEC permissions, and others have only READ permissions. The owner of the pset or a user with appro- priate privileges can change this attribute using (See pset_setattr(2).) Indicates the behavior on a request to bind a process or a thread to a processor set that does not contain any processors. For RTE processor sets, such a request is rejected by default. However, a user with appropriate privileges or a user with WRITE access to the pset can change the value of this attribute to allow deletion of an empty RTE processor set. See pset_getattr(2) for supported values. A flag to indicate if processors in the processor set are configured to receive external I/O interrupts or not. All processors in an RTE processor set are disabled to receive interrupts. This attribute cannot be enabled until the processor set is unconfigured as an RTE processor set. Indicates the behavior on a request to remove the last processor from a processor set if there are active processes and threads bound to the processor set. For RTE processor sets, such a request is rejected by default. However, a user with appropriate privileges or a user with WRITE access to the pset can change the value of this attribute to allow removal of the last processor from an RTE processor set even if the processor set is busy. See pset_setattr(2) for supported values. Indicates the behavior on a request to destroy a non-empty processor set. A non-empty processor set has at least one processor assigned to it. For RTE processor sets, such a request will be rejected by default. However, a user with appropriate privileges or a user with WRITE access to the pset can change the value of this attribute to allow deletion of an RTE processor set in use. See pset_setattr(2) for supported values. Indicates whether the physical processor cores in the RTE pset is enabled with logical processors (LCPUs). See pset_setattr(2) for details and supported values. Processor Set Support Use with to see if the processor set functionality is supported by the underlying HP-UX operating system version. Use with to see if the RTE processor set functionality is supported by the underlying HP-UX operating system version. Security Restrictions Some or all of the actions associated with this system call require the privilege. Processes owned by the superuser have this privilege. Processes owned by other users may have this privilege, depending on system configuration. See privileges(5) for more information about privileged access on systems that support fine-grained privileges. RETURN VALUE
returns zero on successful completion for and requests. For and requests, the ID of an RTE processor set is returned if one is found. Otherwise, is returned and is set to indicate the error. ERRORS
fails if one or more of the following is true: The specified processor set pset is already configured as RTE processor set, and the request is issued. The request is invalid. The specified processor set pset is invalid. The specified processor set pset is not an RTE processor set, and request is issued. The request is and there is no other RTE processor set after pset. The RTE processor set functionality is not supported by the underlying HP-UX version. The user does not have necessary permissions to perform the requested operation. The specified processor set, pset, is a special, reserved processor set, and cannot be configured as an RTE processor set. EXAMPLES
Create a new processor set, and configure it as an RTE processor set: SEE ALSO
psrset(1M), pset_assign(2), pset_bind(2), pset_ctl(2), pset_destroy(2), pset_getattr(2), pset_setattr(2), sysconf(2), privileges(5). __pset_rtctl(2)
Man Page