migration(3)

migr_range_migrate, migr_policy_args_init - user migration operations

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

NAME
     migr_range_migrate, migr_policy_args_init - user migration operations

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

     typedef struct migr_policy_uparms {
             __uint64_t  migr_base_enabled         :1,
                         migr_base_threshold       :8,
                         migr_freeze_enabled       :1,
                         migr_freeze_threshold     :8,
                         migr_melt_enabled         :1,
                         migr_melt_threshold       :8,
                         migr_enqonfail_enabled    :1,
                         migr_dampening_enabled    :1,
                         migr_dampening_factor     :8,
                         migr_refcnt_enabled       :1,
                         migr_resv_bits            :4;
     } migr_policy_uparms_t;


     int migr_range_migrate(void* base_addr, size_t length,
                            pmo_handle_t pmo_handle)


     void migr_policy_args_init(migr_policy_uparms_t* p)

DESCRIPTION
     migr_range_migrate migrates a range of memory to the node where the MLD
     specified by mld_handle has been placed.

     migr_policy_args_init fills a migration parameter structure with default
     values.

     migr_range_migrate will fail and memory may not be successfully migrated
     if one or more of the following are true:

     EFAULT         Arguments could not be copied into kernel space.

     EINVAL         The specified pmo_handle is invalid or does not exist.

     EINVAL         Memory to migrate is not a user segment address.

     ENOMEM         There is not enough free memory to migrate the specified
                    memory.

     ENOTSUP        Memory locality domains are not supported on this system
                    architecture.
SEE ALSO
     numa(5), mmci(5), mld(3c), mldset(3c), pm(3c).

DIAGNOSTICS
     Upon successful completion, migr_range_migrate returns 0.  Otherwise, a
     value of -1 is returned and errno is set to indicate the error.