All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andi Kleen <andi-Vw/NltI1exuRpAAqCnN02g@public.gmane.org>
To: mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	linux-man-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: [PATCH] [2/4] Add a migrate_pages(2) page
Date: Sat, 20 Mar 2010 16:29:29 +0100 (CET)	[thread overview]
Message-ID: <20100320152929.12751B19E8@basil.firstfloor.org> (raw)
In-Reply-To: <20100320429.026463287-Vw/NltI1exuRpAAqCnN02g@public.gmane.org>


Based on move_pages.

Signed-off-by: Andi Kleen <ak-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>

Index: man-pages-3.24/man2/migrate_pages.2
===================================================================
--- /dev/null
+++ man-pages-3.24/man2/migrate_pages.2
@@ -0,0 +1,130 @@
+.\" Hey Emacs! This file is -*- nroff -*- source.
+.\"
+.\" Copyright 2009 Intel Coporation
+.\"                Author: Andi Kleen
+.\" Based on the move_pages manpage which was
+.\" This manpage is Copyright (C) 2006 Silicon Graphics, Inc.
+.\"                               Christoph Lameter
+.\"
+.\" Permission is granted to make and distribute verbatim copies of this
+.\" manual provided the copyright notice and this permission notice are
+.\" preserved on all copies.
+.\"
+.\" Permission is granted to copy and distribute modified versions of this
+.\" manual under the conditions for verbatim copying, provided that the
+.\" entire resulting derived work is distributed under the terms of a
+.\" permission notice identical to this one.
+.TH MIGRATE_PAGES 2 2009-11-01 "Linux" "Linux Programmer's Manual"
+.SH NAME
+migrate_pages \- move all pages in a process to another set of nodes
+.SH SYNOPSIS
+.nf
+.B #include <numaif.h>
+.sp
+.BI "long migrate_pages(int " pid ", unsigned long " maxnode",
+.BI "                   const unsigned long * " old_nodes,
+.BI "                   const unsigned long * " new_nodes);
+.fi
+.sp
+Link with \fI\-lnuma\fP.
+.SH DESCRIPTION
+.BR migrate_pages ()
+moves all pages of the process
+.I pid
+that are in memory nodes
+.I old_nodes
+to
+.I new_nodes.
+Pages not placed in any node in
+.I old_nodes
+will not be migrated.
+The kernel keeps the relative topology relationship inside
+.I old_nodes
+in
+.I new_nodes
+as far as possible.
+
+.I old_nodes
+and
+.I new_nodes
+are pointers to bitmasks of node numbers, rounded to unsigned longs, with upto
+.I maxnode
+bits.
+.I maxnode
+is the maximum node number in the bitmask plus one (this is the same
+as in
+.I mbind (2),
+but different from
+.I select (2))
+
+.I pid
+is the ID of the process in which pages are to be moved.
+To move pages in another process,
+the caller must be privileged
+.RB ( CAP_SYS_NICE )
+or the real or effective user ID of the calling process must match the
+real or saved-set user ID of the target process.
+If
+.I pid
+is 0 then
+.BR migrate_pages ()
+moves pages of the calling process.
+
+Pages shared with another process will only be moved if the initiating
+process has the
+.RB CAP_SYS_NICE
+privilege.
+.SH "RETURN VALUE"
+On success
+.BR migrate_pages ()
+returns zero.
+On error, it returns \-1, and sets
+.I errno
+to indicate the error.
+.\" .SH ERRORS
+.\" FIXME write me
+.SH VERSIONS
+.BR migrate_pages ()
+first appeared on Linux in version 2.6.16.
+.SH CONFORMING TO
+This system call is Linux-specific.
+.SH "NOTES"
+For information on library support, see
+.BR numa (7).
+
+Use
+.BR get_mempolicy (2)
+with the
+.B MPOL_F_MEMS_ALLOWED
+flag to obtain the set of nodes that are allowed by
+.\" FIXME Clarify "current cpuset".  Is that the cpuset of the caller
+.\" or the target?
+the current cpuset.
+Note that this information is subject to change at any
+time by manual or automatic reconfiguration of the cpuset.
+
+Use of this function may result in pages whose location
+(node) violates the memory policy established for the
+specified addresses (See
+.BR mbind (2)]
+and/or the specified process [See
+.BR set_mempolicy (2)).
+That is, memory policy does not constrain the destination
+nodes used by
+.BR migrate_pages ().
+
+The
+.I numaif.h
+header is not included with glibc, but requires installing
+.I libnuma-devel
+or a similar package.
+.SH "SEE ALSO"
+.BR get_mempolicy (2),
+.BR mbind (2),
+.BR set_mempolicy (2),
+.BR numa (3),
+.BR numa_maps (5),
+.BR cpuset (7),
+.BR numa (7),
+.BR migratepages (8),
+.BR numa_stat (8)
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2010-03-20 15:29 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-20 15:29 [PATCH] [0/4] NUMA & hwpoison man page updates Andi Kleen
     [not found] ` <20100320429.026463287-Vw/NltI1exuRpAAqCnN02g@public.gmane.org>
2010-03-20 15:29   ` [PATCH] [1/4] Document hwpoison signal extensions Andi Kleen
     [not found]     ` <20100320152928.0FA17B19E8-Oisruko67ZwogZNkvFMw5WD2FQJk+8+b@public.gmane.org>
2010-06-11  5:45       ` Michael Kerrisk
2010-06-11  8:06       ` Michael Kerrisk
     [not found]         ` <AANLkTimT70TyR_mr3B44DpseY6KobM1441KAO1IhvkCY-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-06-11  8:31           ` Andi Kleen
     [not found]             ` <20100611083134.GF6864-u0/ZJuX+froe6aEkudXLsA@public.gmane.org>
2010-06-11 14:46               ` Michael Kerrisk
     [not found]                 ` <AANLkTikG5Axa39aSgHkCRzmk56fGBIE6rqkXzko3iuOa-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-06-13 10:33                   ` Andi Kleen
     [not found]                     ` <20100613103343.GE31464-u0/ZJuX+froe6aEkudXLsA@public.gmane.org>
2010-06-14  5:10                       ` Michael Kerrisk
     [not found]                         ` <AANLkTilzdFecfwtgrMjEX2bT_ruPa6oegFeVUgSXBvM0-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-06-14  8:20                           ` Andi Kleen
     [not found]                             ` <20100614082054.GD17092-u0/ZJuX+froe6aEkudXLsA@public.gmane.org>
2010-06-15  5:25                               ` Michael Kerrisk
     [not found]                                 ` <AANLkTikvazub4Ni-3aL4CFhimfVoTYz4xI1FskFUMSGd-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-06-15 11:05                                   ` Andi Kleen
     [not found]                                     ` <20100615110552.GG6727-u0/ZJuX+froe6aEkudXLsA@public.gmane.org>
2010-06-16  7:36                                       ` Michael Kerrisk
2010-03-20 15:29   ` Andi Kleen [this message]
     [not found]     ` <20100320152929.12751B19E8-Oisruko67ZwogZNkvFMw5WD2FQJk+8+b@public.gmane.org>
2010-06-11 15:38       ` [PATCH] [2/4] Add a migrate_pages(2) page Michael Kerrisk
     [not found]         ` <AANLkTiltMCXRd9jKI5Rd9b6Kt-t_zIHuOtkq0-IMGVyS-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-06-12 15:31           ` Michael Kerrisk
2010-06-13 10:23           ` Andi Kleen
     [not found]             ` <20100613102345.GD31464-u0/ZJuX+froe6aEkudXLsA@public.gmane.org>
2010-06-14  4:08               ` Michael Kerrisk
2010-03-20 15:29   ` [PATCH] [3/4] Clarify includes/libraries in move_pages page Andi Kleen
     [not found]     ` <20100320152930.15367B19E8-Oisruko67ZwogZNkvFMw5WD2FQJk+8+b@public.gmane.org>
2010-06-11  8:31       ` Michael Kerrisk
2010-03-20 15:29   ` [PATCH] [4/4] Document the hwpoison prctls in 2.6.32 Andi Kleen
     [not found]     ` <20100320152931.17E2DB19E8-Oisruko67ZwogZNkvFMw5WD2FQJk+8+b@public.gmane.org>
2010-06-12 14:50       ` Michael Kerrisk
     [not found]         ` <AANLkTiloYpJOYq8_r2O9pT2Zj336Zw2mca7XRWlqcy00-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2010-06-13 10:19           ` Andi Kleen
     [not found]             ` <20100613101919.GC31464-u0/ZJuX+froe6aEkudXLsA@public.gmane.org>
2010-06-14  4:22               ` Michael Kerrisk

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100320152929.12751B19E8@basil.firstfloor.org \
    --to=andi-vw/nlti1exurpaaqcnn02g@public.gmane.org \
    --cc=linux-man-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.