migration(3) migration(3)
migr_range_migrate, migr_policy_args_init - user migration operations
#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)
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.
Page 1
migration(3) migration(3)
numa(5), mmci(5), mld(3c), mldset(3c), pm(3c).
Upon successful completion, migr_range_migrate returns 0. Otherwise, a
value of -1 is returned and errno is set to indicate the error.
PPPPaaaaggggeeee 2222 [ Back ]
|