Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (HP-UX-11.11)
Apropos / Subsearch:
optional field

 serialize(2)							serialize(2)

      serialize() - force target process to run serially with other

      #include <&lt&lt&lt;unistd.h>&gt&gt&gt;

      int serialize(int timeshare, pid_t pid);

      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 process 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.

      serialize() returns zero upon successful completion, or nonzero if the
      system call failed.

      If serialize() fails, it sets errno (see errno(2)) to the following

	   [ESRCH]	  The pid passed in does not exist.

      The user has no way of forcing an execution order on serialized

      serialize() was developed by HP.

 Hewlett-Packard Company	    - 1 -   HP-UX Release 11i: November 2000

 serialize(2)							serialize(2)


 Hewlett-Packard Company	    - 2 -   HP-UX Release 11i: November 2000