OSDN Git Service

Update releases for LDP 3.68
[linuxjm/LDP_man-pages.git] / release / man2 / sched_setaffinity.2
index aba6af6..e8c50f3 100644 (file)
 .\" This file was generated with po4a. Translate the source file.
 .\"
 .\"*******************************************************************
 .\" This file was generated with po4a. Translate the source file.
 .\"
 .\"*******************************************************************
-.TH SCHED_SETAFFINITY 2 2013\-02\-11 Linux "Linux Programmer's Manual"
+.\"
+.\" Japanese Version Copyright (c) 2003, 2005 Yuichi SATO
+.\"         all rights reserved.
+.\" Translated 2003-01-23, Yuichi SATO <ysato444@yahoo.co.jp>
+.\" Updated & Modified 2003-09-23, Yuichi SATO
+.\" Updated & Modified 2005-01-03, Yuichi SATO
+.\" Updated & Modified 2005-09-13, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
+.\" Updated & Modified 2006-07-14, Akihiro MOTOKI, LDP v2.34
+.\" Updated & Modified 2008-12-24, Akihiro MOTOKI, LDP v3.14
+.\"
+.TH SCHED_SETAFFINITY 2 2014\-05\-10 Linux "Linux Programmer's Manual"
 .SH 名前
 .SH 名前
-sched_setaffinity, sched_getaffinity \- ã\83\97ã\83­ã\82»ã\82¹の CPU affinity マスクを設定・取得する
+sched_setaffinity, sched_getaffinity \- ã\82¹ã\83¬ã\83\83ã\83\89の CPU affinity マスクを設定・取得する
 .SH 書式
 .nf
 \fB#define _GNU_SOURCE\fP             /* feature_test_macros(7) 参照 */
 \fB#include <sched.h>\fP
 .sp
 \fBint sched_setaffinity(pid_t \fP\fIpid\fP\fB, size_t \fP\fIcpusetsize\fP\fB,\fP
 .SH 書式
 .nf
 \fB#define _GNU_SOURCE\fP             /* feature_test_macros(7) 参照 */
 \fB#include <sched.h>\fP
 .sp
 \fBint sched_setaffinity(pid_t \fP\fIpid\fP\fB, size_t \fP\fIcpusetsize\fP\fB,\fP
-\fB                      cpu_set_t *\fP\fImask\fP\fB);\fP
+\fB                      const cpu_set_t *\fP\fImask\fP\fB);\fP
 .sp
 \fBint sched_getaffinity(pid_t \fP\fIpid\fP\fB, size_t \fP\fIcpusetsize\fP\fB,\fP
 \fB                      cpu_set_t *\fP\fImask\fP\fB);\fP
 .fi
 .SH 説明
 .sp
 \fBint sched_getaffinity(pid_t \fP\fIpid\fP\fB, size_t \fP\fIcpusetsize\fP\fB,\fP
 \fB                      cpu_set_t *\fP\fImask\fP\fB);\fP
 .fi
 .SH 説明
\83\97ã\83­ã\82»ã\82¹ã\81® CPU affinity (親å\92\8c度) ã\83\9eã\82¹ã\82¯ã\81¯ã\80\81ã\81\9dã\81®ã\83\97ã\83­ã\82»ã\82¹が 実行を許可されている CPU の集合を決定する。
\83\9eã\83«ã\83\81ã\83\97ã\83­ã\82»ã\83\83ã\82µã\83»ã\82·ã\82¹ã\83\86ã\83 ã\81§ã\81¯ã\80\81CPU affinity ã\83\9eã\82¹ã\82¯ã\82\92設å®\9aã\81\99ã\82\8bã\81\93ã\81¨ã\81§ æ\80§è\83½ä¸\8aã\81®ã\83¡ã\83ªã\83\83ã\83\88ã\82\92å¾\97ã\82\89ã\82\8cã\82\8bå\8f¯è\83½æ\80§ã\81\8cã\81\82ã\82\8bã\80\82
-例えば、特定のプロセスを一つの CPU に括り付け (すなわち、そのプロセスの affinity マスクを一つの CPU に設定し)、
-他の全てのプロセスの affinity マスクからその CPU を除外することで、 確実にそのプロセスの実行速度を最大にすることができる。
\81¾ã\81\9fã\80\81ã\81\82ã\82\8bã\83\97ã\83­ã\82»ã\82¹ã\81®å®\9fè¡\8cã\82\92ä¸\80ã\81¤ã\81® CPU ã\81«é\99\90å®\9aã\81\99ã\82\8bã\81\93ã\81¨ã\81§ã\80\81 ä¸\80ã\81¤ã\81® CPU ã\81§ã\81®å®\9fè¡\8cã\82\92å\81\9cæ­¢ã\81\97ã\81¦ã\81\8bã\82\89å\88¥ã\81® CPU ã\81§å®\9fè¡\8cã\82\92å\86\8dé\96\8bã\81\99ã\82\8bã\81¨ã\81\8dã\81«ç\99ºç\94\9fã\81\99ã\82\8b
-キャッシュ無効化 (cache invalidation) による性能面の劣化を避けることもできる。
\82¹ã\83¬ã\83\83ã\83\89ã\81® CPU affinity (親å\92\8c度) ã\83\9eã\82¹ã\82¯ã\81¯ã\80\81ã\81\9dã\81®ã\82¹ã\83¬ã\83\83ã\83\89が 実行を許可されている CPU の集合を決定する。
\83\9eã\83«ã\83\81ã\83\97ã\83­ã\82»ã\83\83ã\82µã\82·ã\82¹ã\83\86ã\83 ã\81§ã\81¯ã\80\81CPU affinity ã\83\9eã\82¹ã\82¯ã\82\92設å®\9aã\81\99ã\82\8bã\81\93ã\81¨ã\81§ æ\80§è\83½ä¸\8aã\81®ã\83¡ã\83ªã\83\83ã\83\88ã\82\92å¾\97ã\82\89ã\82\8cã\82\8bå\8f¯è\83½æ\80§ã\81\8cã\81\82ã\82\8bã\80\82 ä¾\8bã\81\88ã\81°ã\80\81ç\89¹å®\9aã\81®ã\82¹ã\83¬ã\83\83ã\83\89ã\82\92ä¸\80ã\81¤ã\81®
+CPU に括り付け (すなわち、そのスレッドの affinity マスクを一つの CPU に設定し)、 他の全てのスレッドの affinity
+マスクからその CPU を除外することで、 確実にそのスレッドの実行速度を最大にすることができる。 また、あるスレッドの実行を一つの CPU
\81«é\99\90å®\9aã\81\99ã\82\8bã\81\93ã\81¨ã\81§ã\80\81 ä¸\80ã\81¤ã\81® CPU ã\81§ã\81®å®\9fè¡\8cã\82\92å\81\9cæ­¢ã\81\97ã\81¦ã\81\8bã\82\89å\88¥ã\81® CPU ã\81§å®\9fè¡\8cã\82\92å\86\8dé\96\8bã\81\99ã\82\8bã\81¨ã\81\8dã\81«ç\99ºç\94\9fã\81\99ã\82\8b ã\82­ã\83£ã\83\83ã\82·ã\83¥ç\84¡å\8a¹å\8c\96 (cache
+invalidation) による性能面の劣化を避けることもできる。
 
 CPU affinity マスクは「CPU の集合」を表す \fIcpu_set_t\fP 構造体で表現され、 \fIcpu_set_t\fP へのポインタ
 \fImask\fP で指定される。 CPU 集合を操作するためのマクロ群については \fBCPU_SET\fP(3)  で記載されている。
 
 
 CPU affinity マスクは「CPU の集合」を表す \fIcpu_set_t\fP 構造体で表現され、 \fIcpu_set_t\fP へのポインタ
 \fImask\fP で指定される。 CPU 集合を操作するためのマクロ群については \fBCPU_SET\fP(3)  で記載されている。
 
-\fBsched_setaffinity\fP()  ã\81¯ã\80\81ã\83\97ã\83­ã\82»ã\82¹ID ã\81\8c \fIpid\fP ã\81®ã\83\97ã\83­ã\82»ã\82¹の CPU affinity マスクを \fImask\fP
\81§æ\8c\87å®\9aã\81\95ã\82\8cã\81\9få\80¤ã\81«è¨­å®\9aã\81\99ã\82\8bã\80\82 \fIpid\fP ã\81\8c 0 ã\81®å ´å\90\88ã\80\81å\91¼ã\81³å\87ºã\81\97å\85\83ã\83\97ã\83­ã\82»ã\82¹が使われる。 \fIcpusetsize\fP 引き数には \fImask\fP
+\fBsched_setaffinity\fP()  ã\81¯ã\80\81ã\82¹ã\83¬ã\83\83ã\83\89 ID ã\81\8c \fIpid\fP ã\81®ã\82¹ã\83¬ã\83\83ã\83\89の CPU affinity マスクを \fImask\fP
\81§æ\8c\87å®\9aã\81\95ã\82\8cã\81\9få\80¤ã\81«è¨­å®\9aã\81\99ã\82\8bã\80\82 \fIpid\fP ã\81\8c 0 ã\81®å ´å\90\88ã\80\81å\91¼ã\81³å\87ºã\81\97å\85\83ã\82¹ã\83¬ã\83\83ã\83\89が使われる。 \fIcpusetsize\fP 引き数には \fImask\fP
 が指すデータの長さ (バイト単位) である。 通常は、この引き数には \fIsizeof(cpu_set_t)\fP を指定すればよい。
 
 が指すデータの長さ (バイト単位) である。 通常は、この引き数には \fIsizeof(cpu_set_t)\fP を指定すればよい。
 
-\fIpid\fP ã\81§æ\8c\87å®\9aã\81\95ã\82\8cã\81\9fã\83\97ã\83­ã\82»ã\82¹ã\81\8c \fImask\fP ã\81§æ\8c\87å®\9aã\81\95ã\82\8cã\81\9f CPU ã\81®ã\81\84ã\81\9aã\82\8cã\81\8bã\81§ç\8f¾å\9c¨å®\9fè¡\8cã\81\95ã\82\8cã\81¦ã\81\84ã\81ªã\81\84å ´å\90\88ã\80\81 ã\81\9dã\81®ã\83\97ã\83­ã\82»ã\82¹は \fImask\fP
+\fIpid\fP ã\81§æ\8c\87å®\9aã\81\95ã\82\8cã\81\9fã\82¹ã\83¬ã\83\83ã\83\89ã\81\8c \fImask\fP ã\81§æ\8c\87å®\9aã\81\95ã\82\8cã\81\9f CPU ã\81®ã\81\84ã\81\9aã\82\8cã\81\8bã\81§ç\8f¾å\9c¨å®\9fè¡\8cã\81\95ã\82\8cã\81¦ã\81\84ã\81ªã\81\84å ´å\90\88ã\80\81 ã\81\9dã\81®ã\82¹ã\83¬ã\83\83ã\83\89は \fImask\fP
 で指定された CPU のいずれかに移動される。
 
 で指定された CPU のいずれかに移動される。
 
-\fBsched_getaffinity\fP()  ã\81¯ã\80\81 ã\83\97ã\83­ã\82»ã\82¹ID ã\81\8c \fIpid\fP ã\81®ã\83\97ã\83­ã\82»ã\82¹の affinity マスクを \fImask\fP が指す
+\fBsched_getaffinity\fP()  ã\81¯ã\80\81 ã\82¹ã\83¬ã\83\83ã\83\89 ID ã\81\8c \fIpid\fP ã\81®ã\82¹ã\83¬ã\83\83ã\83\89の affinity マスクを \fImask\fP が指す
 \fIcpu_set_t\fP 構造体に書き込む。 \fIcpusetsize\fP 引き数には \fImask\fP の (バイト単位の) 大きさを指定する。
 .SH 返り値
 成功した場合、 \fBsched_setaffinity\fP()  と \fBsched_getaffinity\fP()  は 0 を返す。 エラーの場合は
 \fIcpu_set_t\fP 構造体に書き込む。 \fIcpusetsize\fP 引き数には \fImask\fP の (バイト単位の) 大きさを指定する。
 .SH 返り値
 成功した場合、 \fBsched_setaffinity\fP()  と \fBsched_getaffinity\fP()  は 0 を返す。 エラーの場合は
@@ -79,7 +89,7 @@ CPU affinity マスクは「CPU の集合」を表す \fIcpu_set_t\fP 構造体
 指定されたメモリ番地が不正である。
 .TP 
 \fBEINVAL\fP
 指定されたメモリ番地が不正である。
 .TP 
 \fBEINVAL\fP
\82·ã\82¹ã\83\86ã\83 ä¸\8aã\81«ç\8f¾å\9c¨å®\9fé\9a\9bã\81«å­\98å\9c¨ã\81\97ã\80\81ã\81\8bã\81¤ "cpuset" æ©\9fæ§\8bã\81\8c課ã\81\99å\88¶é\99\90ã\81«ã\81\8aã\81\84ã\81¦ã\81\9dã\81®ã\83\97ã\83­ã\82»ã\82¹に対して許可されている プロセッサが、 affinity
\82·ã\82¹ã\83\86ã\83 ä¸\8aã\81«ç\8f¾å\9c¨å®\9fé\9a\9bã\81«å­\98å\9c¨ã\81\97ã\80\81ã\81\8bã\81¤ "cpuset" æ©\9fæ§\8bã\81\8c課ã\81\99å\88¶é\99\90ã\81«ã\81\8aã\81\84ã\81¦ã\81\9dã\81®ã\82¹ã\83¬ã\83\83ã\83\89に対して許可されている プロセッサが、 affinity
 ビットマスク \fImask\fP に含まれていない。 "cpuset" 機構については \fBcpuset\fP(7)  を参照。
 .TP 
 \fBEINVAL\fP
 ビットマスク \fImask\fP に含まれていない。 "cpuset" 機構については \fBcpuset\fP(7)  を参照。
 .TP 
 \fBEINVAL\fP
@@ -87,12 +97,12 @@ CPU affinity マスクは「CPU の集合」を表す \fIcpu_set_t\fP 構造体
 \fIcpusetsize\fP がカーネルで使われている affinity マスクのサイズより小さい。
 .TP 
 \fBEPERM\fP
 \fIcpusetsize\fP がカーネルで使われている affinity マスクのサイズより小さい。
 .TP 
 \fBEPERM\fP
-(\fBsched_setaffinity\fP())  å\91¼ã\81³å\87ºã\81\97å\85\83ã\81®ã\83\97ã\83­ã\82»ã\82¹に適切な特権がなかった。 呼び出し元は、実効ユーザ ID が \fIpid\fP
\81§è­\98å\88¥ã\81\95ã\82\8cã\82\8bã\83\97ã\83­ã\82»ã\82¹の実ユーザ ID または実効ユーザ ID と同じであるか、 \fBCAP_SYS_NICE\fP ケーパビリティ (capability)
+(\fBsched_setaffinity\fP())  å\91¼ã\81³å\87ºã\81\97å\85\83ã\81®ã\82¹ã\83¬ã\83\83ã\83\89に適切な特権がなかった。 呼び出し元は、実効ユーザ ID が \fIpid\fP
\81§è­\98å\88¥ã\81\95ã\82\8cã\82\8bã\82¹ã\83¬ã\83\83ã\83\89の実ユーザ ID または実効ユーザ ID と同じであるか、 \fBCAP_SYS_NICE\fP ケーパビリティ (capability)
 を持たなければならない。
 .TP 
 \fBESRCH\fP
 を持たなければならない。
 .TP 
 \fBESRCH\fP
-プロセス ID \fIpid\fP のプロセスが見つからなかった。
+ID が \fIpid\fP のスレッドが見つからなかった。
 .SH バージョン
 CPU affinity システムコールは Linux kernel 2.5.8 で導入された。 これらのシステムコールのラッパー関数は glibc
 2.3 で導入された。 最初は、glibc のインタフェースには \fIunsigned int\fP 型の \fIcpusetsize\fP 引き数が入っていた。
 .SH バージョン
 CPU affinity システムコールは Linux kernel 2.5.8 で導入された。 これらのシステムコールのラッパー関数は glibc
 2.3 で導入された。 最初は、glibc のインタフェースには \fIunsigned int\fP 型の \fIcpusetsize\fP 引き数が入っていた。
@@ -100,15 +110,14 @@ glibc 2.3.3 では \fIcpusetsize\fP 引き数が削除されたが、glibc 2.3.4
 .SH 準拠
 これらのシステムコールは Linux 固有である。
 .SH 注意
 .SH 準拠
 これらのシステムコールは Linux 固有である。
 .SH 注意
-\fBsched_setaffinity\fP()  ã\82\92å\91¼ã\81³å\87ºã\81\97ã\81\9få¾\8cã\81¯ã\80\81ã\83\97ã\83­ã\82»ã\82¹が実際に実行される CPU の集合は、 \fImask\fP
+\fBsched_setaffinity\fP()  ã\82\92å\91¼ã\81³å\87ºã\81\97ã\81\9få¾\8cã\81¯ã\80\81ã\82¹ã\83¬ã\83\83ã\83\89が実際に実行される CPU の集合は、 \fImask\fP
 引き数で指定された集合と、システム上に実際に存在する CPU の集合の 共通集合 (AND) となる。 "cpuset"
 引き数で指定された集合と、システム上に実際に存在する CPU の集合の 共通集合 (AND) となる。 "cpuset"
-æ©\9fæ§\8bã\81\8c使ç\94¨ã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bå ´å\90\88ã\81«ã\81¯ã\80\81ã\83\97ã\83­ã\82»ã\82¹が動作する CPU 集合 に対してシステムはさらに制限を加えるかもしれない ("cpuset" 機構については
-\fBcpuset\fP(7)  ã\82\92å\8f\82ç\85§)ã\80\82 ã\83\97ã\83­ã\82»ã\82¹が動作する実際の CPU 集合に対する制限はカーネルにより 暗黙のうちに適用される。
+æ©\9fæ§\8bã\81\8c使ç\94¨ã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bå ´å\90\88ã\81«ã\81¯ã\80\81ã\82¹ã\83¬ã\83\83ã\83\89が動作する CPU 集合 に対してシステムはさらに制限を加えるかもしれない ("cpuset" 機構については
+\fBcpuset\fP(7)  ã\82\92å\8f\82ç\85§)ã\80\82 ã\82¹ã\83¬ã\83\83ã\83\89が動作する実際の CPU 集合に対する制限はカーネルにより 暗黙のうちに適用される。
 
 
-\fBsched_setscheduler\fP(2) に Linux のスケジューリング方式についての説明
-がある。
+\fBsched\fP(7) に Linux のスケジューリング方式についての説明がある。
 .PP
 .PP
-実際には affinity マスクはスレッド単位の属性で、スレッドグループの 各スレッド単位に独立して調整することができる。 \fBgettid\fP(2)
+affinity マスクはスレッド単位の属性で、スレッドグループの 各スレッド単位に独立して調整することができる。 \fBgettid\fP(2)
 コールからの返り値をこのコールの \fIpid\fP 引き数として渡すことができる。 \fIpid\fP に 0 を指定すると呼び出し元のスレッドの属性が設定され、
 \fBgetpid\fP(2)  コールからの返り値を \fIpid\fP に指定するとスレッドグループのメインスレッドの属性が設定される (POSIX スレッド
 API を使用している場合、 \fBsched_setaffinity\fP()  の代わりに \fBpthread_setaffinity_np\fP(3)
 コールからの返り値をこのコールの \fIpid\fP 引き数として渡すことができる。 \fIpid\fP に 0 を指定すると呼び出し元のスレッドの属性が設定され、
 \fBgetpid\fP(2)  コールからの返り値を \fIpid\fP に指定するとスレッドグループのメインスレッドの属性が設定される (POSIX スレッド
 API を使用している場合、 \fBsched_setaffinity\fP()  の代わりに \fBpthread_setaffinity_np\fP(3)
@@ -118,7 +127,7 @@ API を使用している場合、 \fBsched_setaffinity\fP()  の代わりに \f
 \fBexecve\fP(2)  の前後で保存される。
 
 このマニュアルページでは CPU affinity コールの glibc インタフェースを
 \fBexecve\fP(2)  の前後で保存される。
 
 このマニュアルページでは CPU affinity コールの glibc インタフェースを
-説æ\98\8eã\81\97ã\81¦ã\81\84ã\82\8bã\80\82å®\9fé\9a\9bã\81®ã\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83«ã\83»ã\82¤ã\83³ã\82¿ã\83\95ã\82§ã\83¼ã\82¹ã\81¯å°\91ã\81\97é\81\95ã\81£ã\81¦ã\81\8aã\82\8aã\80\81 å®\9fé\9a\9bã\81®å®\9fè£\85ã\81§ã\81¯ CPU é\9b\86å\90\88ã\81¯ç°¡å\8d\98ã\81ªã\83\93ã\83\83ã\83\88ã\83\9eã\82¹ã\82¯ã\81§ã\81\82ã\82\8bã\81¨ã\81\84ã\81\86å®\9fç\8a¶ã\82\92å\8f\8dæ\98 ã\81\97ã\80\81
+説明している。実際のシステムコールインタフェースは少し違っており、 実際の実装では CPU 集合は簡単なビットマスクであるという実状を反映し、
 \fImask\fP の型が \fIunsigned long\ *\fP となっている。 成功時には、生の \fBsched_getaffinity\fP()
 システムコール自身は \fIcpumask_t\fP データ型の (バイト単位の) 大きさを返す。 \fIcpumask_t\fP はカーネル内部で CPU
 集合のビットマスクを表現するのに 使われているデータ型である。
 \fImask\fP の型が \fIunsigned long\ *\fP となっている。 成功時には、生の \fBsched_getaffinity\fP()
 システムコール自身は \fIcpumask_t\fP データ型の (バイト単位の) 大きさを返す。 \fIcpumask_t\fP はカーネル内部で CPU
 集合のビットマスクを表現するのに 使われているデータ型である。
@@ -129,8 +138,8 @@ API を使用している場合、 \fBsched_setaffinity\fP()  の代わりに \f
 \fBnice\fP(2), \fBsched_get_priority_max\fP(2), \fBsched_get_priority_min\fP(2),
 \fBsched_getscheduler\fP(2), \fBsched_setscheduler\fP(2), \fBsetpriority\fP(2),
 \fBCPU_SET\fP(3), \fBpthread_setaffinity_np\fP(3), \fBsched_getcpu\fP(3),
 \fBnice\fP(2), \fBsched_get_priority_max\fP(2), \fBsched_get_priority_min\fP(2),
 \fBsched_getscheduler\fP(2), \fBsched_setscheduler\fP(2), \fBsetpriority\fP(2),
 \fBCPU_SET\fP(3), \fBpthread_setaffinity_np\fP(3), \fBsched_getcpu\fP(3),
-\fBcapabilities\fP(7), \fBcpuset\fP(7)
+\fBcapabilities\fP(7), \fBcpuset\fP(7), \fBsched\fP(7)
 .SH この文書について
 .SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.52 の一部
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.68 の一部
 である。プロジェクトの説明とバグ報告に関する情報は
 http://www.kernel.org/doc/man\-pages/ に書かれている。
 である。プロジェクトの説明とバグ報告に関する情報は
 http://www.kernel.org/doc/man\-pages/ に書かれている。