69 lines
1.9 KiB
Plaintext
69 lines
1.9 KiB
Plaintext
'\"macro stdmacro
|
|
.TH migration 3
|
|
.SH NAME
|
|
migr_range_migrate, migr_policy_args_init \- user migration operations
|
|
.SH SYNOPSIS
|
|
.nf
|
|
.B "#include <sys/types.h>"
|
|
.B "#include <sys/pmo.h>"
|
|
.PP
|
|
\fB
|
|
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;
|
|
\fP
|
|
.PP
|
|
\fB
|
|
int migr_range_migrate(void* base_addr, size_t length,
|
|
pmo_handle_t pmo_handle)
|
|
\fP
|
|
.PP
|
|
.B void migr_policy_args_init(migr_policy_uparms_t* p)
|
|
.PP
|
|
.
|
|
.fi
|
|
.SH DESCRIPTION
|
|
\f4migr_range_migrate\fP migrates a range of memory to the node where
|
|
the MLD specified by mld_handle has been placed.
|
|
.PP
|
|
\f4migr_policy_args_init\fP fills a migration parameter structure
|
|
with default values.
|
|
.PP
|
|
\f4migr_range_migrate\fP
|
|
will fail and memory may not be successfully migrated if one or more of the
|
|
following are true:
|
|
.TP 15
|
|
\f4EFAULT\fP
|
|
Arguments could not be copied into kernel space.
|
|
.TP 15
|
|
\f4EINVAL\fP
|
|
The specified \f4pmo_handle\fP is invalid or does not exist.
|
|
.TP 15
|
|
\f4EINVAL\fP
|
|
Memory to migrate is not a user segment address.
|
|
.TP 15
|
|
\f4ENOMEM\fP
|
|
There is not enough free memory to migrate the specified memory.
|
|
.TP 15
|
|
\f4ENOTSUP\fP
|
|
Memory locality domains are not supported on this system architecture.
|
|
.PP
|
|
|
|
.SH SEE ALSO
|
|
numa(5), mmci(5), mld(3c), mldset(3c), pm(3c).
|
|
.SH "DIAGNOSTICS"
|
|
Upon successful completion, \f4migr_range_migrate\fP returns 0.
|
|
Otherwise, a value of \-1 is returned and
|
|
.I errno\^
|
|
is set to indicate the error.
|