Unix-system-calls-move-pages

提供:Dev Guides
移動先:案内検索

[top]#

[[File:]]

[[File:]]

|Web |This Site

  • 初心者向けのUnix *
  • 高度なUnix *

選択した読書

Copyright©2014 by finddevguides

  Home     References     Discussion Forums     About TP  

move_pages()-Unix、Linuxシステムコール

[[File:]] image :http://www.finddevguides.com/images/next.gif [next] image:http://www.finddevguides.com/add- this.gif [AddThisソーシャルブックマークボタン]

広告

NAME

move_pages-プロセスの一連のページを別のNUMAノードに移動する

概要

#include <syscall.h> long move_pages(pid_t pid, unsigned long nr_pages, const void* *address, const int *nodes, int *status, int flags);

説明

*move_pages* は、実行されたプロセスのアドレス空間内の一連のページを別のNUMAノードに移動します。 この関数は、ページが現在マップされているノードを判別するためにも使用できます。

_pid_は、ページが移動されるプロセスです。 値 0 は、現在のプロセスを指定します。

引数_nr_pages_は、移動が必要なページの数を指定します。

_addresses_は、移動が必要なページのアドレスの配列です

_nodes_は、対応するページを移動するノードの数の配列です。 NULL に設定すると、_status_は現在のNUMAノードIDで埋められますが、移行は行われません。

_flags_引数は、移動されるページのタイプを示します。

Tag

説明

*MPOL_MF_MOVE*

Syscallは、プロセス_pid._によってのみマップされるページのみを移動します

*MPOL_MF_MOVE_ALL*

Syscallは、複数のプロセスによってマップされているページも移動します(このモードには十分なアクセス許可が必要です)。

_status_フィールドは、 move_pages が正常に終了した場合にのみ有効です。 このフィールドには、指定されたページのステータスが含まれます。 _nodes_引数が NULL であるか、移行が成功した場合、ノードIDに設定されます。 それ以外の場合、次のエラーコードのいずれかの負の数が含まれます。

*-EFAULT* 指定されたアドレスは有効なマッピングを指していません
*-ENOENT* ページは存在しません
*-EPERM* ページは移動できません(ロックされています)
*-EACCES* ページは複数のプロセスで共有され、フラグ *MPOL_MF_MOVE_ALL* は設定されませんでした
*-EBUSY* ページを移動できませんでした-現在ビジーです
*-EFAULT* ページアドレスが無効です
*-ENOMEM* メモリ不足
*-EIO* ページは記述できません
*-EINVAL* ファイルシステムに必要なインターフェイスが実装されていないため、ページを移動できません

返り値

_nodes_が NULL でない場合、 move_pages は、現在実行できなかった有効な移行要求の数を返します。 それ以外の場合は、 0. を返します

エラーが発生すると、エラー表示が返されます。

エラー

*EACCES* _nodes_引数で指定されたノードの1つは、指定されたプロセスでは許可されません。
*EINVAL* 移動するmanページがカーネルスレッドにあるか、_flag_パラメーターが無効です。
*ENODEV* _nodes_引数で指定されたノードの1つが利用できません。
*ENOENT* 移動されるページはありません。
*EPERM* フラグが *MPOL_MF_MOVE_ALL* に設定されているか、_pid_が現在のプロセスを指定しておらず、プロセスに十分な特権がありません。
*ENOMEM* メモリ不足
*E2BIG* 移動するページ数が大きすぎる
*ESRCH* プロセス_pid_が見つかりません

可用性

このシステムコールは、カーネル2.6以降のi386およびIA-64アーキテクチャでのみ実装されています。 [[File:]] image :http://www.finddevguides.com/images/next.gif [next] [[File:]]

広告

  
Advertisements