rtprio
- examine or modify a process realtime or idle priority
LIBRARY
Lb libc
SYNOPSIS
#include <sys/types.h>
#include <sys/rtprio.h> int
rtprio (int function pid_t pid struct rtprio *rtp);
DESCRIPTION
The
rtprio ();
system call
is used to lookup or change the realtime or idle priority of a process.
The
Fa function
argument
specifies the operation to be performed.
RTP_LOOKUP to lookup the current priority,
and RTP_SET to set the priority.
The
Fa pid
argument
specifies the process to be used, 0 for the current process.
The
Fa *rtp
argument
is a pointer to a struct rtprio which is used to specify the priority and priority type.
This structure has the following form:
struct rtprio {
u_short type;
u_short prio;
};
The value of the
type
field may be RTP_PRIO_REALTIME for realtime priorities,
RTP_PRIO_NORMAL for normal priorities, and RTP_PRIO_IDLE for idle priorities.
The priority specified by the
prio
field ranges between 0 and
RTP_PRIO_MAX (usually 31)
0 is the highest possible priority.
Realtime and idle priority is inherited through fork() and exec().
A realtime process can only be preempted by a process of equal or
higher priority, or by an interrupt; idle priority processes will run only
when no other real/normal priority process is runnable.
Higher real/idle priority processes
preempt lower real/idle priority processes.
Processes of equal real/idle priority are run round-robin.
RETURN VALUES
Rv -std rtprio
ERRORS
The
rtprio ();
system call
will fail if
Bq Er EINVAL
The specified
Fa prio
was out of range.
Bq Er EPERM
The calling process is not allowed to set the realtime priority.
Only
root is allowed to change the realtime priority of any process, and non-root
may only change the idle priority of the current process.
An -nosplit
The original author was
An Henrik Vestergaard Draboel Aq [email protected] .
This implementation in
Fx was substantially rewritten by
An David Greenman .