HP-UX Reference (11i v3 07/02) - 2 System Calls (vol 5)
s
serialize(2) serialize(2)
NAME
serialize() - force target process to run serially with other processes
SYNOPSIS
#include <unistd.h>
int serialize(int
timeshare, pid_t pid);
DESCRIPTION
The serialize() system call is used to force the target process referenced by the pid value passed in to
run serially with other processes also marked for serialization. If the value of pid is zero, then the
currently running process is marked for serialization. Once a process has been marked by
serialize() ,
the process stays marked until process completion, unless
serialize() is reissued on the serialized pro-
cess with timeshare set to 1. If timeshare is set to 1, the process specified in pid will be returned to normal
timeshare scheduling algorithms.
This call is used to improve process throughput since process throughput usually increases for large
processes when they are executed serially instead of allowing each program to run for only a short period of
time. By running large processes one at a time, the system makes more efficient use of the CPU as well as
system memory, since each process does not end up constantly faulting in its working set, to only have the
pages stolen when another process starts running. As long as there is enough memory in the system,
processes marked by
serialize() behave no differently from other processes in the system. However,
once memory becomes tight, processes marked by serialize() are run one at a time with the highest
priority processes being run first. Each process runs for a finite interval of time before another serialized
process is allowed to run.
RETURN VALUE
serialize() returns zero upon successful completion, or nonzero if the system call failed.
ERRORS
If serialize() fails, it sets errno (see errno(2)) to the following value:
[ESRCH] The pid passed in does not exist.
WARNINGS
The user has no way of forcing an execution order on serialized processes.
AUTHOR
serialize() was developed by HP.
SEE ALSO
serialize(1), privileges(5).
386 Hewlett-Packard Company − 1 − HP-UX 11i Version 3: February 2007