HP-UX Reference (11i v2 04/09) - 2 System Calls (vol 5)
_
__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. Ker-
nel daemons are restricted to processors in non-RTE processor sets.
No External I/O Interrupts
External I/O interrupts on processors in 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 pro-
cessors.
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 pro-
cessor set may or may not have processors assigned at this point. If pset has
processors assigned to it at time of this request, these processors are made
unavailable to the kernel daemons. External I/O interrupts and pending cal-
louts 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 contin-
ues to execute in that processor set. The arg argument is ignored.
RTE_PSET_UNCONFIG Unconfigure the specified processor set pset as an RTE processor set. The pro-
cessors, 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 redistributed 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.
RTE_PSET_GETFIRSTPSET
Return the ID of the first RTE processor set in the system. The pset and arg
arguments are ignored.
Section 2−−2 Hewlett-Packard Company − 1 − HP-UX 11i Version 2: September 2004