serialize(2)serialize(2)NAMEserialize() - force target process to run serially with other processes
SYNOPSISDESCRIPTION
The 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 the process stays marked until process completion, unless is
reissued on the serialized process with timeshare set to 1. If time‐
share 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 through‐
put usually increases for large processes when they are executed seri‐
ally 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 behave no differ‐
ently from other processes in the system. However, once memory becomes
tight, processes marked by are run one at a time with the highest pri‐
ority processes being run first. Each process runs for a finite inter‐
val of time before another serialized process is allowed to run.
RETURN VALUE
returns zero upon successful completion, or nonzero if the system call
failed.
ERRORS
If fails, it sets (see errno(2)) to the following value:
The pid passed in does not exist.
WARNINGS
The user has no way of forcing an execution order on serialized pro‐
cesses.
AUTHOR
was developed by HP.
SEE ALSOserialize(1), privileges(5).
serialize(2)