pm(3)

pm_create, pm_create_simple, pm_filldefault, pm_destroy, pm_attach, pm_setdefault, pm_getdefault, pm_getall, pm_getstat, pm_setpagesize - Policy Module operations

As shipped in IRIX 6.5.7. Last changed in IRIX 6.5.7.

NAME
     pm_create, pm_create_simple, pm_filldefault, pm_destroy, pm_attach,
     pm_setdefault, pm_getdefault, pm_getall, pm_getstat, pm_setpagesize -
     Policy Module operations

SYNOPSIS
     #include <sys/types.h>
     #include <sys/pmo.h>

     pmo_handle_t pm_create(policy_set_t* policy_set)

     pmo_handle_t
     pm_create_simple(char* plac_name,
                      void* plac_args,
                      char* repl_name,
                      void* repl_args,
                      size_t page_size)


     void pm_filldefault(policy_set_t* policy_set)

     int pm_destroy(pmo_handle_t pm_handle)

     int pm_attach(pmo_handle_t pm_handle, void* base_addr, size_t

     pmo_handle_t pm_setdefault(pmo_handle_t pm_handle, mem_type_t mem_type)

     pmo_handle_t pm_getdefault(mem_type_t mem_type)

     int pm_getall(void* base_addr, size_t length, pmo_handle_list_t*

     int pm_getstat(pmo_handle_t pm_handle, pm_stat_t* pm_stat)

     int pm_setpagesize(pmo_handle_t pm_handle, size_t page_size)

DESCRIPTION
     pm_create creates a policy module.

     pm_create_simple creates a policy module with some predefined defaults.

     pm_filldefault fills a policy_set with predefined default values.

     pm_destroy destroys a policy module.

     pm_attach connects a policy module to a virtual address space range.

     pm_setdefault sets the default policy modules for a process' address
     space.

     pm_getdefault retrieves the current default policy modules associated
     with a process' address space.
     pm_getall retrieves all the policy modules associated with an address
     space range.

     pm_getstat retrieves the current state of a policy module (policies and
     parameters for a specific policy module).

     pm_setpagesize sets and synchronizes the page size for a policy module.

     pm_create and pm_create_simple will fail and a policy module will not be
     created if one or more of the following are true:

     EBUSY          The policy module structures were temporarily in use by
                    another thread.

     EFAULT         Arguments could not be copied into kernel space.

     EINVAL         One or more of the specified policy settings are invalid.

     pm_destroy will fail and the policy module will not be destroyed if the
     following is true:

     EINVAL         The specified pm_handle is invalid or does not exist.

     pm_attach will fail and no policy module will be attached to a virtual
     address space range if one or more of the following is true:

     EFAULT         Arguments could not be copied into kernel space.

     EINVAL         The specified pm_handle is invalid or does not exist.

     pm_setdefault will fail and the default policy modules will not be set if
     the following is true:

     EINVAL         The specified memory type is invalid.

     pm_getall will fail and no values will be returned if one or more of the
     following are true:

     EFAULT         Arguments could not be copied into or out of kernel space.

     EINVAL         The specified list length is less than 1.

     E2BIG          The specified list length is greater than the maximum
                    supported length.

     pm_getstat will fail and the policy module state will not be retrieved if
     one or more of the following are true:

     EFAULT         Data could not be copied out of kernel space.

     EINVAL         The specified pm_handle is invalid or does not exist.

     pm_setpagesize will fail and the policy module page size will be
     unaffected if one or more of the following is true:

     EINVAL         The specified pm_handle is invalid or does not exist.

     EINVAL         The specified page size is invalid.

SEE ALSO
     numa(5), mmci(5), mldset(3c), mld(3c), migration(3c), pminfo(3c).

DIAGNOSTICS
     Upon successful completion, pm_create and pm_create_simple return a value
     of type pmo_handle_t that represents the created policy module,
     pm_destroy and pm_attach, pm_getdefault, pm_setdefault, pm_getall,
     pm_getstat and pm_setpagesize return 0.  Otherwise, a value of -1 is
     returned and errno is set to indicate the error.