__pset_rtctl.2 (2010 09)
_
__pset_rtctl(2) __pset_rtctl(2)
NAME
__pset_rtctl() - real-time processor set control
SYNOPSIS
#include <sys/rtpset.h>
int __pset_rtctl(
pset_rt_req_t request ,
psetid_t pset ,
int arg,
);
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
__pset_rtctl()
function extends processor set functionality for real-time applications to minim-
ize operating system activities in a processor set. A processor set can be configured as a real-time proces-
sor set (referred to as RTE processor set). An RTE processor set has the following special features that
are not available in standard processor sets:
No Kernel Daemons
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.
No External I/O Interrupts
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).
Callouts Migration
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 dae-
mons, 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 supported:
RTE_PSET_CONFIG 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. Exter-
nal I/O interrupts and pending callouts on processors in pset are reas-
signed to processors in non-RTE processor sets in the system. The pro-
cessor set attribute values are changed to default values for an RTE
processor set. If pset has any assigned workload, it continues to exe-
cute in that processor set. The arg argument is ignored.
RTE_PSET_UNCONFIG 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 inter-
rupts with availability of these processors. Pending callouts in the sys-
tem are not redistributed to these processors. The processor set attri-
bute values are restored to default values for a non-RTE processor set
as applicable. If pset has any assigned workload, it continues to exe-
cute in that processor set. The arg argument is ignored.
RTE_PSET_GETFIRSTPSET Return the ID of the first RTE processor set in the system. The pset
and arg arguments are ignored.
HP-UX 11i Version 3: September 2010 − 1 − Hewlett-Packard Company 1