に限定することで、 一つの CPU での実行を停止してから別の CPU で実行を再開するときに発生する キャッシュ無効化 (cache
invalidation) による性能面の劣化を避けることもできる。
-CPU affinity マスクは「CPU の集合」を表す \fIcpu_set_t\fP 構造体で表現され、 \fIcpu_set_t\fP へのポインタ
+CPU affinity マスクは「CPU の集合」を表す \fIcpu_set_t\fP 構造体で表現され、 \fIcpu_set_t\fP へのポインター
\fImask\fP で指定される。 CPU 集合を操作するためのマクロ群については \fBCPU_SET\fP(3) で記載されている。
\fBsched_setaffinity\fP() は、スレッド ID が \fIpid\fP のスレッドの CPU affinity マスクを \fImask\fP
.SH エラー
.TP
\fBEFAULT\fP
-指定されたメモリ番地が不正である。
+指定されたメモリー番地が不正である。
.TP
\fBEINVAL\fP
システム上に現在実際に存在し、かつ "cpuset" 機構が課す制限においてそのスレッドに対して許可されている プロセッサが、 affinity
\fIcpusetsize\fP がカーネルで使われている affinity マスクのサイズより小さい。
.TP
\fBEPERM\fP
-(\fBsched_setaffinity\fP()) 呼び出し元のスレッドに適切な特権がなかった。 呼び出し元は、実効ユーザ ID が \fIpid\fP
-で識別されるスレッドの実ユーザ ID または実効ユーザ ID と同じであるか、 \fBCAP_SYS_NICE\fP ケーパビリティ (capability)
-を持たなければならない。
+(\fBsched_setaffinity\fP()) 呼び出し元のスレッドに適切な特権がなかった。 呼び出し元は、実効ユーザー ID が \fIpid\fP
+で識別されるスレッドの実ユーザー ID または実効ユーザー ID と同じであるか、 \fBCAP_SYS_NICE\fP ケーパビリティ
+(capability) を持たなければならない。
.TP
\fBESRCH\fP
ID が \fIpid\fP のスレッドが見つからなかった。
.SH バージョン
CPU affinity システムコールは Linux kernel 2.5.8 で導入された。 これらのシステムコールのラッパー関数は glibc
-2.3 で導入された。 最初は、glibc のインタフェースには \fIunsigned int\fP 型の \fIcpusetsize\fP 引き数が入っていた。
-glibc 2.3.3 では \fIcpusetsize\fP 引き数が削除されたが、glibc 2.3.4 で \fIsize_t\fP 型で復活した。
+2.3 で導入された。 最初は、glibc のインターフェースには \fIunsigned int\fP 型の \fIcpusetsize\fP
+引き数が入っていた。 glibc 2.3.3 では \fIcpusetsize\fP 引き数が削除されたが、glibc 2.3.4 で \fIsize_t\fP
+型で復活した。
.SH 準拠
これらのシステムコールは Linux 固有である。
.SH 注意
\fBfork\fP(2) 経由で生成された子プロセスは親プロセスの CPU affinity マスクを継承する。 affinity マスクは
\fBexecve\fP(2) の前後で保存される。
.SS "C ライブラリとカーネル ABI の違い"
-このマニュアルページでは CPU affinity コールの glibc インタフェースを
-説明している。実際のシステムコールインタフェースは少し違っており、 実際の実装では CPU 集合は簡単なビットマスクであるという実状を反映し、
+ã\81\93ã\81®ã\83\9eã\83\8bã\83¥ã\82¢ã\83«ã\83\9aã\83¼ã\82¸ã\81§ã\81¯ CPU affinity ã\82³ã\83¼ã\83«ã\81® glibc ã\82¤ã\83³ã\82¿ã\83¼ã\83\95ã\82§ã\83¼ã\82¹ã\82\92
+説æ\98\8eã\81\97ã\81¦ã\81\84ã\82\8bã\80\82å®\9fé\9a\9bã\81®ã\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83«ã\82¤ã\83³ã\82¿ã\83¼ã\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
\fImask\fP の型が \fIunsigned long\ *\fP となっている。 成功時には、生の \fBsched_getaffinity\fP()
システムコール自身は \fIcpumask_t\fP データ型の (バイト単位の) 大きさを返す。 \fIcpumask_t\fP はカーネル内部で CPU
集合のビットマスクを表現するのに 使われているデータ型である。
\fBpthread_setaffinity_np\fP(3), \fBsched_getcpu\fP(3), \fBcapabilities\fP(7),
\fBcpuset\fP(7), \fBsched\fP(7)
.SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.76 の一部
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.79 の一部
である。プロジェクトの説明とバグ報告に関する情報は
http://www.kernel.org/doc/man\-pages/ に書かれている。