swapon, swapoff - start/stop swapping to file/device


SYNOPSIS

       #include <unistd.h>
       #include <asm/page.h> /* to find PAGE_SIZE */
       #include <sys/swap.h>

       int swapon(const char *path, int swapflags);
       int swapoff(const char *path);


DESCRIPTION

       swapon  sets  the  swap  area  to the file or block device
       specified by path.  swapoff stops swapping to the file  or
       block device specified by path.

       swapon  takes  a swapflags argument.  If swapflags has the
       SWAP_FLAG_PREFER bit turned on, the  new  swap  area  will
       have  a  higher  priority  than  default.  The priority is
       encoded as:

           (prio << SWAP_FLAG_PRIO_SHIFT) & SWAP_FLAG_PRIO_MASK

       These functions may only be used by the super-user.


PRIORITY

       Each swap area has a priority, either high  or  low.   The
       default  priority  is low.  Within the low-priority areas,
       newer areas are even lower priority than older areas.

       All  priorities  set  with  swapflags  are  high-priority,
       higher than default.  They may have any non-negative value
       chosen by the caller.  Higher numbers mean  higher  prior­
       ity.

       Swap  pages  are  allocated  from areas in priority order,
       highest priority first.  For areas with different  priori­
       ties,  a  higher-priority area is exhausted before using a
       lower-priority area.  If two or more areas have  the  same
       priority,  and it is the highest priority available, pages
       are allocated on a round-robin basis between them.

       As of Linux 1.3.6, the kernel usually follows these rules,
       but there are exceptions.


RETURN VALUE

       On  success,  zero is returned.  On error, -1 is returned,
       and errno is set appropriately.


ERRORS

       Many other errors can occur if path is not valid.


              in use.

       EINVAL is returned if path exists, but is neither a  regu­
              lar path nor a block device.

       ENOENT is returned if path does not exist.

       ENOMEM is  returned  if  there  is  insufficient memory to
              start swapping.


CONFORMING TO

       These functions are Linux specific and should not be  used
       in   programs   intended   to  be  portable.   The  second
       `swapflags' argument was introduced in Linux 1.3.2.


NOTES

       The partition or path must be prepared with mkswap(8).


SEE ALSO

       mkswap(8), swapon(8), swapoff(8)