OSDN Git Service

Complete sched_setattr.2, sched_setscheduler.2
authorAkihiro MOTOKI <amotoki@gmail.com>
Thu, 8 Jan 2015 21:03:45 +0000 (06:03 +0900)
committerAkihiro MOTOKI <amotoki@gmail.com>
Thu, 8 Jan 2015 21:04:58 +0000 (06:04 +0900)
draft/man2/sched_setattr.2 [new file with mode: 0644]
draft/man2/sched_setscheduler.2
draft/man7/sched.7 [new file with mode: 0644]
po4a/sched/po/ja.po
stats/sched
untrans.html

diff --git a/draft/man2/sched_setattr.2 b/draft/man2/sched_setattr.2
new file mode 100644 (file)
index 0000000..bc98ac6
--- /dev/null
@@ -0,0 +1,239 @@
+.\" Copyright (C) 2014 Michael Kerrisk <mtk.manpages@gmail.com>
+.\" and Copyright (C) 2014 Peter Zijlstra <peterz@infradead.org>
+.\"
+.\" %%%LICENSE_START(VERBATIM)
+.\" 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.
+.\"
+.\" Since the Linux kernel and libraries are constantly changing, this
+.\" manual page may be incorrect or out-of-date.  The author(s) assume no
+.\" responsibility for errors or omissions, or for damages resulting from
+.\" the use of the information contained herein.  The author(s) may not
+.\" have taken the same level of care in the production of this manual,
+.\" which is licensed free of charge, as they might when working
+.\" professionally.
+.\"
+.\" Formatted or processed versions of this manual, if unaccompanied by
+.\" the source, must acknowledge the copyright and authors of this work.
+.\" %%%LICENSE_END
+.\"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH SCHED_SETATTR 2 2014\-10\-02 Linux "Linux Programmer's Manual"
+.SH 名前
+sched_setattr, sched_getattr \- スケジューリングポリシーと属性の設定と取得を行なう
+.SH 書式
+.nf
+\fB#include <sched.h>\fP
+
+\fBint sched_setattr(pid_t \fP\fIpid\fP\fB, const struct sched_attr *\fP\fIattr\fP\fB,\fP
+\fB                  unsigned int \fP\fIflags\fP\fB);\fP
+
+\fBint sched_getattr(pid_t \fP\fIpid\fP\fB, const struct sched_attr *\fP\fIattr\fP\fB,\fP
+\fB                  unsigned int \fP\fIsize\fP\fB, unsigned int \fP\fIflags\fP\fB);\fP
+.fi
+.\" FIXME . Add feature test macro requirements
+.SH 説明
+.SS sched_setattr()
+\fBsched_setattr\fP() システムコールは、 \fIpid\fP で指定された ID
+を持つスレッドのスケジューリングポリシーと関連する属性を設定する。 \fIpid\fP が 0
+の場合、呼び出したスレッド自身のスケジューリングポリシーと属性が設定される。
+
+現在のところ、 Linux では、 以下の「通常」の (つまり、リアルタイムではない) スケジューリングポリシーが、 \fIpolicy\fP
+に指定できる値としてサポートされている。
+.TP  14
+\fBSCHED_OTHER\fP
+.\" In the 2.6 kernel sources, SCHED_OTHER is actually called
+.\" SCHED_NORMAL.
+標準の、ラウンドロビンによる時分割型のスケジューリングポリシー。
+.TP 
+\fBSCHED_BATCH\fP
+「バッチ」形式でのプロセスの実行用。
+.TP 
+\fBSCHED_IDLE\fP
+「非常に」低い優先度で動作するバックグラウンドジョブ用。
+.PP
+どの実行可能スレッドを選択するかについて、より正確な制御を必要とする 時間の制約が厳しい特別なアプリケーション用として、
+いろいろな「リアルタイム」ポリシーもサポートされている。 プロセスがこれらのポリシーをいつ使用できるかを決めるルールについては、\fBsched\fP(7)
+を参照。 \fIpolicy\fP には以下のリアルタイムポリシーを指定できる。
+.TP  14
+\fBSCHED_FIFO\fP
+ファーストイン、ファーストアウト型のポリシー。
+.TP 
+\fBSCHED_RR\fP
+ラウンドロビン型のポリシー。
+.PP
+Linux では以下のポリシーも提供されている。
+.TP  14
+\fBSCHED_DEADLINE\fP
+デッドライン (応答期限) ベースのスケジューリングポリシー。詳細は \fBsched\fP(7) を参照。
+.PP
+\fIattr\fP 引き数は、 指定したスレッドの新しいスケジューリングポリシーと属性を定義した構造体へのポインターである。 この構造体は以下の形式である。
+
+.in +4n
+.nf
+struct sched_attr {
+    u32 size;              /* この構造体のサイズ */
+    u32 sched_policy;      /* ポリシー (SCHED_*) */
+    u64 sched_flags;       /* フラグ */
+    s32 sched_nice;        /* nice 値 (SCHED_OTHER,
+                              SCHED_BATCH) */
+    u32 sched_priority;    /* 静的優先度 (SCHED_FIFO,
+                              SCHED_RR) */
+    /* 残りのフィールドは SCHED_DEADLINE 用である */
+    u64 sched_runtime;
+    u64 sched_deadline;
+    u64 sched_period;
+};
+.fi
+.in
+
+この構造体のフィールドは以下の通りである。
+.TP 
+\fBsize\fP
+このフィールドには、 構造体のバイト単位のサイズを設定する。 \fIsizeof(struct sched_attr)\fP を指定すればよい。
+指定された構造体がカーネル構造体よりも小さい場合、 追加となるフィールドは 0 とみなされる。 指定された構造体がカーネル構造体よりも大きい場合、
+カーネルは追加のフィールドが 0 であるかを検査する。 0 でない場合は \fBsched_setattr\fP() はエラー \fBE2BIG\fP
+で失敗するので、 \fIsize\fP をカーネル構造体のサイズに更新する必要がある。
+.IP
+ユーザー空間の \fIsched_attr\fP 構造体のサイズがカーネル構造体のサイズと一致しなかった場合の上記の動作は、
+このインタフェースを将来拡張できるようにするためである。 サイズが大きい構造体を渡す行儀の良くないアプリケーションも、 将来カーネルの
+\fIsched_attr\fP 構造体のサイズが大きくなったとしてもおかしくならない。 この仕組みにより、 将来的には、 大きなユーザー空間
+\fIsched_attr\fP 構造体があることを知っているアプリケーションで、
+大きいサイズの構造体に対応していない古いカーネル上で動作しているかを判定することができる。
+.TP 
+\fIsched_policy\fP
+このフィールドはスケジューリングポリシーを指定する。 上記のリストにある \fBSCHED_*\fP 値のいずれかを指定する。
+.TP 
+\fIsched_flags\fP
+このフィールドはスケジューリング動作の制御を行う。 現在のところ、サポートされているフラグは \fBSCHED_FLAG_RESET_ON_FORK\fP
+の一つだけである。 このフラグが指定されると、 \fBfork\fP(2) で作成された子プロセスは特権が必要なスケジューリングポリシーを継承しない。 詳細は
+\fBsched\fP(7) を参照。
+.TP 
+\fIsched_nice\fP
+このフィールドは、 \fIsched_policy\fP に \fBSCHED_OTHER\fP か \fBSCHED_BATCH\fP が指定された場合に設定される
+nice 値を指定する。 nice 値は \-20 (高優先度) から +19 (低優先度) の範囲の数値である。 \fBsetpriority\fP(2)
+を参照。
+.TP 
+\fIsched_priority\fP
+このフィールドは、 \fIsched_policy\fP に \fBSCHED_FIFO\fP か \fBSCHED_RR\fP
+が指定された場合に設定される静的優先度を指定する。 これらのポリシーで指定できる優先度の範囲は、
+\fBsched_get_priority_min\fP(2) と \fBsched_get_priority_max\fP(2) を使って判定できる。
+他のポリシーでは、 このフィールドには 0 を指定しなければならない。
+.TP 
+\fIsched_runtime\fP
+このフィールドは、 デッドラインスケジューリングの "Runtime" パラメーターを指定する。 この値はナノ秒単位で表現される。 このフィールドと次の
+2 つのフィールドは \fBSCHED_DEADLINE\fP スケジューリングにおいてのみ使用される。 詳細は \fBsched\fP(7) を参照。
+.TP 
+\fIsched_deadline\fP
+このフィールドは、 デッドラインスケジューリングの "Deadline" パラメーターを指定する。 この値はナノ秒単位で表現される。
+.TP 
+\fIsched_period\fP
+このフィールドは、 デッドラインスケジューリングの "Period" パラメーターを指定する。 この値はナノ秒単位で表現される。
+.PP
+.\"
+.\"
+\fIflags\fP 引き数は、このインタフェースの将来の拡張のために用意されている。 現在の実装では 0 を指定しなければならない。
+.SS sched_getattr()
+\fBsched_getattr\fP() システムコールは、 \fIpid\fP で指定された ID
+を持つスレッドのスケジューリングポリシーと関連する属性を取得する。 \fIpid\fP が 0
+の場合、呼び出したスレッド自身のスケジューリングポリシーと関連する属性を取得する。
+
+\fIsize\fP 引き数には、 ユーザー空間での \fIsched_attr\fP 構造体の大きさを設定する。 この値は、 少なくとも初期バージョンの
+\fIsched_attr\fP 構造体のサイズでなければならない。 そうでなかった場合、 エラー \fBEINVAL\fP で呼び出しが失敗する。
+
+取得したスケジューリング属性は、 \fIattr\fP が指す \fIsched_attr\fP 構造体の各フィールドに格納される。 カーネルは
+\fIattr.size\fP に \fIsched_attr\fP 構造体のサイズを設定する。
+
+呼び出し側が提供した \fIattr\fP バッファがカーネルの \fIsched_attr\fP 構造体よりも大きい場合、
+ユーザー空間構造体の残りのバイトは変更されない。 呼び出し側が提供した構造体がカーネルの \fIsched_attr\fP 構造体よりも小さく、
+カーネルが値を返すのにもっと大きな空間が必要な場合、 \fBsched_getattr\fP() はエラー \fBE2BIG\fP で失敗する。
+\fBsched_setattr\fP() と同様、 この動作はこのインタフェースの将来の拡張性を考慮してのものである。
+
+\fIflags\fP 引き数は、このインタフェースの将来の拡張のために用意されている。 現在の実装では 0 を指定しなければならない。
+.SH 返り値
+成功した場合は \fBsched_setattr\fP()  と \fBsched_getattr\fP()  は 0 を返す。 エラーの場合は \-1 が返され、
+エラーの原因を示す値が \fIerrno\fP に設定される。
+.SH エラー
+\fBsched_getattr\fP() と \fBsched_setattr\fP() の両方が以下の理由で失敗する。
+.TP 
+\fBEINVAL\fP
+\fIattr\fP が NULL である。 \fIpid\fP が負である。 \fIflags\fP が 0 以外である。
+.TP 
+\fBESRCH\fP
+ID が \fIpid\fP のスレッドが見つからなかった。
+.PP
+さらに、 \fBsched_getattr\fP() は以下の理由でも失敗する。
+.TP 
+\fBE2BIG\fP
+\fIsize\fP と \fIattr\fP で指定されたバッファーが小さすぎる。
+.TP 
+\fBEINVAL\fP
+\fIsize\fP が無効である。つまり、 最初のバージョンの \fIsched_attr\fP 構造体 (48 バイト) よりも小さいか、
+システムのページサイズよりも大きい。
+.PP
+さらに、 \fBsched_setattr\fP() は以下の理由でも失敗する。
+.TP 
+\fBE2BIG\fP
+\fIsize\fP と \fIattr\fP で指定されたバッファがカーネル構造体よりも大きく、 一つ以上の超過バイトが 0 でなかった。
+.TP 
+\fBEBUSY\fP
+\fBSCHED_DEADLINE\fP の流入制御の失敗については \fBsched\fP(7) を参照。
+.TP 
+\fBEINVAL\fP
+\fIattr.sched_policy\fP が認識できるポリシーではない。 \fIattr.sched_flags\fP に
+\fBSCHED_FLAG_RESET_ON_FORK\fP 以外のフラグが含まれている。 \fIattr.sched_priority\fP が無効である。
+\fIattr.sched_policy\fP が \fBSCHED_DEADLINE\fP で、 \fIattr\fP
+に指定されたデッドラインスケジューリングパラメーターが無効である。
+.TP 
+\fBEPERM\fP
+呼び出した元が適切な特権を持っていない。
+.TP 
+\fBEPERM\fP
+呼び出し元の CPU affinity マスクにシステムの全ての CPU のうち含まれていないものがある
+(\fBsched_setaffinity\fP(2) を参照)。
+.SH バージョン
+.\" FIXME . Add glibc version
+これらのシステムコールは Linux 3.14 で初めて登場した。
+.SH 準拠
+これらのシステムコールは非標準の Linux による拡張である。
+.SH 注意
+\fBsched_setattr\fP() は、\fBsched_setscheduler\fP(2), \fBsched_setparam\fP(2),
+\fBnice\fP(2) の機能および \fBsetpriority\fP の一部機能を持つ (ただし、\fBsetpriority\fP(2)
+の、指定されたユーザーに所属するすべてのプロセスまたは指定されたグループのすべてのプロセスの優先度を設定する機能は除く)。 同様に、
+\fBsched_getattr()\fP は \fBsched_getscheduler\fP(2), \fBsched_getparam\fP(2) の機能および
+\fBgetpriority\fP(2) の一部機能を持つ。
+.SH バグ
+.\" FIXME . patch sent to Peter Zijlstra
+.\" In Linux versions up to up 3.15,
+.\" FIXME . patch from Peter Zijlstra pending
+.\" .BR sched_setattr ()
+.\" allowed a negative
+.\" .I attr.sched_policy
+.\" value.
+バージョン 3.15 までの Linux では、 \fBsched_settattr\fP() は、 エラーの節に書かれている \fBE2BIG\fP
+の場合にエラー\fBEFAULT\fP で失敗していた。
+.SH 関連項目
+.ad l
+.nh
+\fBchrt\fP(1), \fBnice\fP(2), \fBsched_get_priority_max\fP(2),
+\fBsched_get_priority_min\fP(2), \fBsched_getaffinity\fP(2),
+\fBsched_getscheduler\fP(2), \fBsched_getparam\fP(2), \fBsched_rr_get_interval\fP(2),
+\fBsched_setaffinity\fP(2), \fBsched_setscheduler\fP(2), \fBsched_setparam\fP(2),
+\fBsched_yield\fP(2), \fBsetpriority\fP(2), \fBpthread_getschedparam\fP(3),
+\fBpthread_setschedparam\fP(3), \fBpthread_setschedprio\fP(3), \fBcapabilities\fP(7),
+\fBcpuset\fP(7), \fBsched\fP(7)
+.ad
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.76 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。
index c5c85df..7a94778 100644 (file)
@@ -64,8 +64,7 @@ sched_setscheduler, sched_getscheduler \- スケジューリングポリシー
 を持つスレッドのスケジューリングポリシーとスケジューリングパラメーターの両方を設定する。 \fIpid\fP が 0
 の場合、呼び出したスレッド自身のスケジューリングポリシーとスケジューリングパラメーターが設定される。
 
-The scheduling parameters are specified in the \fIparam\fP argument, which is a
-pointer to a structure of the following form:
+スケジューリングパラメーターは \fIparam\fP 引き数で、以下の形式の構造体へのポインターを指定する。
 
 .nf
 .in +4n
@@ -77,12 +76,11 @@ struct sched_param {
 .in
 .fi
 
-In the current implementation, the structure contains only one field,
-\fIsched_priority\fP.  The interpretation of \fIparam\fP depends on the selected
-policy.
+現在の実装では、この構造体のフィールドは \fIsched_priority\fP だけである。 \fIparam\fP
+がどのように解釈されるかは選択されたポリシーによって変わる。
 
-Currently, Linux supports the following "normal" (i.e., non\-real\-time)
-scheduling policies as values that may be specified in \fIpolicy\fP:
+現在のところ、 Linux では、 以下の「通常」の (つまり、リアルタイムではない) スケジューリングポリシーが、 \fIpolicy\fP
+に指定できる値としてサポートされている。
 .TP  14
 \fBSCHED_OTHER\fP
 .\" In the 2.6 kernel sources, SCHED_OTHER is actually called
@@ -95,7 +93,7 @@ scheduling policies as values that may be specified in \fIpolicy\fP:
 \fBSCHED_IDLE\fP
 「非常に」低い優先度で動作するバックグラウンドジョブ用。
 .PP
-For each of the above policies, \fIparam\->sched_priority\fP must be 0.
+上記のどのポリシーの場合でも、 \fIparam\->sched_priority\fP は 0 でなければならない。
 
 どの実行可能スレッドを選択するかについて、より正確な制御を必要とする 時間の制約が厳しい特別なアプリケーション用として、
 いろいろな「リアルタイム」ポリシーもサポートされている。 プロセスがこれらのポリシーをいつ使用できるかを決めるルールについては、\fBsched\fP(7)
@@ -107,11 +105,10 @@ For each of the above policies, \fIparam\->sched_priority\fP must be 0.
 \fBSCHED_RR\fP
 ラウンドロビン型のポリシー。
 .PP
-For each of the above policies, \fIparam\->sched_priority\fP specifies a
-scheduling priority for the thread.  This is a number in the range returned
-by calling \fBsched_get_priority_min\fP(2)  and \fBsched_get_priority_max\fP(2)
-with the specified \fIpolicy\fP.  On Linux, these system calls return,
-respectively, 1 and 99.
+上記のどのポリシーの場合でも、 \fIparam\->sched_priority\fP はそのスレッドのスケジューリングポリシーを指定する。
+指定された \fIpolicy\fP で \fIsched_get_priority_min\fP(2) と
+\fIsched_get_priority_max\fP(2) を呼び出した返り値の範囲の数字を指定する。 Linux では、これらのシステムコールはそれぞれ
+1 と 99 を返す。
 
 Linux 2.6.32 以降では、 \fBsched_setscheduler\fP() を呼び出す際に \fIpolicy\fP に
 \fBSCHED_RESET_ON_FORK\fP フラグを OR で指定できる。このフラグが指定されると、 \fBfork\fP(2)
@@ -142,8 +139,7 @@ ID が \fIpid\fP のスレッドが見つからなかった。
 POSIX.1\-2001 (但し、下記のバグの節も参照)。 \fBSCHED_BATCH\fP と \fBSCHED_IDLE\fP ポリシーは Linux
 固有である。
 .SH 注意
-Further details of the semantics of all of the above "normal" and
-"real\-time" scheduling policies can be found in \fBsched\fP(7).
+上記の「通常」および「リアルタイム」スケジューリングポリシーの動作の詳細な説明は \fBsched\fP(7) にある。
 
 POSIX システムでは \fI<unistd.h>\fP に \fB_POSIX_PRIORITY_SCHEDULING\fP
 が定義されている場合にのみ \fBsched_setscheduler\fP()  と \fBsched_getscheduler\fP()  が使用できる。
diff --git a/draft/man7/sched.7 b/draft/man7/sched.7
new file mode 100644 (file)
index 0000000..f706039
--- /dev/null
@@ -0,0 +1,432 @@
+.\" Copyright (C) 2014 Michael Kerrisk <mtk.manpages@gmail.com>
+.\" and Copyright (C) 2014 Peter Zijlstra <peterz@infradead.org>
+.\" and Copyright (C) 2014 Juri Lelli <juri.lelli@gmail.com>
+.\" Various pieces from the old sched_setscheduler(2) page
+.\"    Copyright (C) Tom Bjorkholm, Markus Kuhn & David A. Wheeler 1996-1999
+.\"    and Copyright (C) 2007 Carsten Emde <Carsten.Emde@osadl.org>
+.\"    and Copyright (C) 2008 Michael Kerrisk <mtk.manpages@gmail.com>
+.\"
+.\" %%%LICENSE_START(GPLv2+_DOC_FULL)
+.\" This is free documentation; you can redistribute it and/or
+.\" modify it under the terms of the GNU General Public License as
+.\" published by the Free Software Foundation; either version 2 of
+.\" the License, or (at your option) any later version.
+.\"
+.\" The GNU General Public License's references to "object code"
+.\" and "executables" are to be interpreted as the output of any
+.\" document formatting or typesetting system, including
+.\" intermediate and printed output.
+.\"
+.\" This manual is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public
+.\" License along with this manual; if not, see
+.\" <http://www.gnu.org/licenses/>.
+.\" %%%LICENSE_END
+.\"
+.\" Worth looking at: http://rt.wiki.kernel.org/index.php
+.\"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH SCHED 7 2014\-10\-02 Linux "Linux Programmer's Manual"
+.SH 名前
+sched \- スケジューリング API の概要
+.SH 説明
+.SS "API の概要"
+Linux のスケジューリング API は以下のとおりである。
+.TP 
+\fBsched_setscheduler\fP(2)
+指定されたスレッドのスケジューリングポリシーとパラメーターを設定する。
+.TP 
+\fBsched_getscheduler\fP(2)
+指定されたスレッドのスケジューリングポリシーを返す。
+.TP 
+\fBsched_setparam\fP(2)
+指定されたスレッドのスケジューリングパラメーターを設定する。
+.TP 
+\fBsched_getparam\fP(2)
+指定されたスレッドのスケジューリングパラメーターを取得する。
+.TP 
+\fBsched_get_priority_max\fP(2)
+指定されたスケジューリングポリシーで利用可能な最小の優先度を返す。
+.TP 
+\fBsched_get_priority_min\fP(2)
+指定されたスケジューリングポリシーで利用可能な最大の優先度を返す。
+.TP 
+\fBsched_rr_get_interval\fP(2)
+「ラウンドロビン」スケジューリングポリシーでスケジューリグされるスレッドで使用される単位時間 (quantum) を取得する。
+.TP 
+\fBsched_yield\fP(2)
+呼び出し元が CPU の使用権を明け渡して、 他のスレッドが実行できるようにする。
+.TP 
+\fBsched_setaffinity\fP(2)
+(Linux 固有) 指定されたスレッドの CPU affinity を設定する。
+.TP 
+\fBsched_getaffinity\fP(2)
+(Linux 固有) 指定されたスレッドの CPU affinity を取得する。
+.TP 
+\fBsched_setattr\fP(2)
+指定されたスレッドのスケジューリングポリシーとパラメーターを設定する。 この (Linux 固有の) システムコールは
+\fBsched_setscheduler\fP(2) と \fBsched_setparam\fP(2) の両方の機能を持つ。
+.TP 
+\fBsched_getattr\fP(2)
+.\"
+指定されたスレッドのスケジューリングポリシーとパラメーターを取得する。 この (Linux 固有の) システムコールは
+\fBsched_getscheduler\fP(2) と \fBsched_getparam\fP(2) の両方の機能を持つ。
+.SS "スケジューリングポリシー (scheduling policy)"
+スケジューラ (scheduler) とはカーネルの構成要素で、 次に CPU で実行される実行可能なスレッドを決定するものである。
+各々のスレッドには、スケジューリングポリシーと 「静的」なスケジューリング優先度 \fIsched_priority\fP が対応付けられる。
+スケジューラは、システム上の全スレッドのスケジューリングポリシーと 静的優先度に関する知識に基づいて決定を行う。
+
+通常のスケジューリングポリシー (\fBSCHED_OTHER\fP, \fBSCHED_IDLE\fP, \fBSCHED_BATCH\fP)
+の下でスケジューリングされるスレッドでは、 \fIsched_priority\fP はスケジューリングの決定に使用されない
+(\fIsched_priority\fP には 0 を指定しなければならない)。
+
+リアルタイムスケジューリングポリシー (\fBSCHED_FIFO\fP, \fBSCHED_RR\fP)  の下でスケジューリングされるスレッドは、
+\fIsched_priority\fP の値は 1 (最低) から 99 (最高) の範囲となる
+(数字から分かるように、リアルタイムスレッドは常に通常のスレッドよりも 高い優先度を持つ)。 ここで注意すべきなのは、POSIX.1\-2001
+が要求しているのは、 リアルタイムポリシーの実装において最低 32 種類の異なる優先度レベルが
+サポートされることだけであり、いくつかのシステムではこの最低限の数の 優先度しか提供されていない、ということである。 移植性が必要なプログラムでは、
+\fBsched_get_priority_min\fP(2)  と \fBsched_get_priority_max\fP(2)
+を使って、あるポリシーがサポートする優先度の範囲を調べるべきである。
+
+概念としては、 スケジューラはその \fIsched_priority\fP の値それぞれに対して 実行可能なスレッドのリストを管理している。
+どのスレッドを次に実行するかを決定するために、 スケジューラは静的優先度の最も高い空でないリストを探して、 そのリストの先頭のスレッドを選択する。
+
+各スレッドのスケジューリングポリシーは、 そのスレッドが同じ静的優先度を持つスレッドのリストの中のどこに挿入され、
+このリストの中をどのように移動するかを決定する。
+
+全てのスケジューリングはプリエンプティブ (preemptive) である: より高い優先度のスレッドが実行可能になると、現在実行中のスレッドは実行権を
+取り上げられ (preempted)、そのスレッドの静的優先度レベルの待ちリストに 戻される。スケジューリングポリシーは同じ静的優先度を持つ実行可能な
+スレッドのリストの中で順番のみを決定する。
+.SS "SCHED_FIFO: ファーストインファーストアウトスケジューリング"
+\fBSCHED_FIFO\fP は 0 より大きな静的優先度でのみ使用できる。このポリシーでは、 \fBSCHED_FIFO\fP
+スレッドが実行可能になった場合、 そのポリシーが \fBSCHED_OTHER\fP、 \fBSCHED_BATCH\fP、 \fBSCHED_IDLE\fP の
+現在実行中のスレッドは直ちに実行権を取り上げられる。 \fBSCHED_FIFO\fP は時分割のない単純なスケジューリングアルゴリズムである。
+\fBSCHED_FIFO\fP ポリシーでスケジューリングされているスレッドには以下の ルールが適用される:
+.IP * 3
+より高い優先度の他のスレッドによって取って代わられた \fBSCHED_FIFO\fP スレッドはその優先度のリストの先頭に留まり続け、
+より高い優先度のスレッド全てが停止 (block) した場合に実行を再開する。
+.IP *
+\fBSCHED_FIFO\fP スレッドが実行可能になった時、その優先度のリストの最後 に挿入される。
+.IP *
+.\" In 2.2.x and 2.4.x, the thread is placed at the front of the queue
+.\" In 2.0.x, the Right Thing happened: the thread went to the back -- MTK
+\fBsched_setscheduler\fP(2), \fBsched_setparam\fP(2), \fBsched_setattr\fP(2) は \fIpid\fP
+で指定された \fBSCHED_FIFO\fP (または \fBSCHED_RR\fP) スレッドが 実行可能な場合、リストの最初に置く。
+結果として、もし優先度が同じだった場合、 現在実行中のスレッドに先んじるかもしれない。 (POSIX.1\-2001
+ではスレッドはリストの最後に行くべきと規定されている。)
+.IP *
+\fBsched_yield\fP(2)  を呼び出したスレッドはリストの最後に置かれる。
+.PP
+その他のイベントによって \fBSCHED_FIFO\fP
+ポリシーでスケジューリングされるスレッドが同じ優先度の実行可能なスレッドの待ちリストの中を移動することはない。
+
+\fBSCHED_FIFO\fP スレッドは I/O 要求によって停止するか、 より高い優先度のスレッドによって置きかえられるか、
+\fBsched_yield\fP(2)  を呼び出すまで実行を続ける。
+.SS "SCHED_RR: ラウンドロビン (round\-robin)スケジューリング"
+.\" On Linux 2.4, the length of the RR interval is influenced
+.\" by the process nice value -- MTK
+.\"
+\fBSCHED_RR\fP は \fBSCHED_FIFO\fP の単純な拡張である。 上述された
+\fBSCHED_FIFO\fP に関する記述は全て \fBSCHED_RR\fP に 適用できる。異なるのは
+それぞれのスレッドは最大時間単位までしか実行できない ということである。
+\fBSCHED_RR\fP スレッドが時間単位と同じかそれより 長い時間実行されると、
+その優先度のリストの最後に置かれる。 より高い優先度のスレッドによって
+置きかえられ、その後実行を再開した \fBSCHED_RR\fP スレッドは、そのラウンド
+ロビン時間単位を完全に使い切る まで実行される。その時間単位の長さは
+\fBsched_rr_get_interval\fP(2) を使って取得できる。
+.SS "SCHED_DEADLINE: Sporadic task model deadline scheduling"
+バージョン 3.14 以降では、 Linux はデッドラインスケジューリングポリシー (\fBSCHED_DEADLINE\fP) が提供される。
+現在のところ、 このポリシーは GEDF (Global Earliest Deadline First) を使って CBS (Constant
+Bandwidth Server) との組み合わせで実装されている。 このポリシーと関連する属性の設定、取得を行うには、 Linux
+固有のシステムコール \fBsched_setattr\fP(2) と \fBsched_getattr\fP(2) を使用する必要がある。
+
+A sporadic task is one that has a sequence of jobs, where each job is
+activated at most once per period.  Each job also has a \fIrelative
+deadline\fP, before which it should finish execution, and a \fIcomputation
+time\fP, which is the CPU time necessary for executing the job.  The moment
+when a task wakes up because a new job has to be executed is called the
+\fIarrival time\fP (also referred to as the request time or release time).  The
+\fIstart time\fP is the time at which a task starts its execution.  The
+\fIabsolute deadline\fP is thus obtained by adding the relative deadline to the
+arrival time.
+
+The following diagram clarifies these terms:
+
+.in +4n
+.nf
+arrival/wakeup                    absolute deadline
+     |    start time                    |
+     |        |                         |
+     v        v                         v
+\-\-\-\-\-x\-\-\-\-\-\-\-\-xooooooooooooooooo\-\-\-\-\-\-\-\-x\-\-\-\-\-\-\-\-x\-\-\-
+              |<\- comp. time \->|
+     |<\-\-\-\-\-\-\- relative deadline \-\-\-\-\-\->|
+     |<\-\-\-\-\-\-\-\-\-\-\-\-\-\- period \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\->|
+.fi
+.in
+
+When setting a \fBSCHED_DEADLINE\fP policy for a thread using
+\fBsched_setattr\fP(2), one can specify three parameters: \fIRuntime\fP,
+\fIDeadline\fP, and \fIPeriod\fP.  These parameters do not necessarily correspond
+to the aforementioned terms: usual practice is to set Runtime to something
+bigger than the average computation time (or worst\-case execution time for
+hard real\-time tasks), Deadline to the relative deadline, and Period to the
+period of the task.  Thus, for \fBSCHED_DEADLINE\fP scheduling, we have:
+
+.in +4n
+.nf
+arrival/wakeup                    absolute deadline
+     |    start time                    |
+     |        |                         |
+     v        v                         v
+\-\-\-\-\-x\-\-\-\-\-\-\-\-xooooooooooooooooo\-\-\-\-\-\-\-\-x\-\-\-\-\-\-\-\-x\-\-\-
+              |<\-\- Runtime \-\-\-\-\-\-\->|
+     |<\-\-\-\-\-\-\-\-\-\-\- Deadline \-\-\-\-\-\-\-\-\-\-\->|
+     |<\-\-\-\-\-\-\-\-\-\-\-\-\-\- Period \-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\->|
+.fi
+.in
+
+.\" FIXME It looks as though specifying sched_period as 0 means
+.\"       "make sched_period the same as sched_deadline".
+.\"       This needs to be documented.
+3 角デッドラインスケジューリングパラメーターは \fIsched_attr\fP 構造体の \fIsched_runtime\fP,
+\fIsched_deadline\fP, \fIsched_period\fP フィールドに対応する。 これらのフィールドはナノ秒単位の値である。
+\fIsched_period\fP に 0 が指定された場合 \fIsched_deadline\fP と同じ値になる。
+
+カーネルでは以下の関係が成り立つことが求められる。
+
+    sched_runtime <= sched_deadline <= sched_period
+
+.\" See __checkparam_dl in kernel/sched/core.c
+In addition, under the current implementation, all of the parameter values
+must be at least 1024 (i.e., just over one microsecond, which is the
+resolution of the implementation), and less than 2^63.  If any of these
+checks fails, \fBsched_setattr\fP(2)  fails with the error \fBEINVAL\fP.
+
+The CBS guarantees non\-interference between tasks, by throttling threads
+that attempt to over\-run their specified Runtime.
+
+To ensure deadline scheduling guarantees, the kernel must prevent situations
+where the set of \fBSCHED_DEADLINE\fP threads is not feasible (schedulable)
+within the given constraints.  The kernel thus performs an admittance test
+when setting or changing \fBSCHED_DEADLINE\fP policy and attributes.  This
+admission test calculates whether the change is feasible; if it is not
+\fBsched_setattr\fP(2)  fails with the error \fBEBUSY\fP.
+
+For example, it is required (but not necessarily sufficient) for the total
+utilization to be less than or equal to the total number of CPUs available,
+where, since each thread can maximally run for Runtime per Period, that
+thread's utilization is its Runtime divided by its Period.
+
+In order to fulfil the guarantees that are made when a thread is admitted to
+the \fBSCHED_DEADLINE\fP policy, \fBSCHED_DEADLINE\fP threads are the highest
+priority (user controllable) threads in the system; if any \fBSCHED_DEADLINE\fP
+thread is runnable, it will preempt any thread scheduled under one of the
+other policies.
+
+A call to \fBfork\fP(2)  by a thread scheduled under the \fBSCHED_DEADLINE\fP
+policy will fail with the error \fBEAGAIN\fP, unless the thread has its
+reset\-on\-fork flag set (see below).
+
+.\"
+.\" FIXME Calling sched_getparam() on a SCHED_DEADLINE thread
+.\"       fails with EINVAL, but sched_getscheduler() succeeds.
+.\"       Is that intended? (Why?)
+.\"
+A \fBSCHED_DEADLINE\fP thread that calls \fBsched_yield\fP(2)  will yield the
+current job and wait for a new period to begin.
+.SS "SCHED_OTHER: Linux のデフォルトの時分割スケジューリング"
+.\"
+\fBSCHED_OTHER\fP は静的優先度 0 でのみ使用できる。 \fBSCHED_OTHER\fP は Linux 標準の時分割スケジューラで、
+特別なリアルタイム機構を必要としていない全てのスレッドで使用される。 実行するスレッドは、静的優先度 0 のリストから、このリストの中だけで
+決定される「動的な」優先度 (dynamic priority) に基いて決定される。 動的な優先度は (\fBnice\fP(2),
+\fBsetpriority\fP(2), \fBsched_setattr\fP(2) により設定される) nice 値に基づいて決定されるもので、
+単位時間毎に、スレッドが実行可能だが、スケジューラにより実行が拒否された 場合にインクリメントされる。 これにより、全ての \fBSCHED_OTHER\fP
+スレッドでの公平性が保証される。
+.SS "SCHED_BATCH: バッチプロセスのスケジューリング"
+(Linux 2.6.16 以降)  \fBSCHED_BATCH\fP は静的優先度 0 でのみ使用できる。 このポリシーは (nice 値に基づく)
+動的な優先度にしたがってスレッドの スケジューリングが行われるという点で、\fBSCHED_OTHER\fP に似ている。
+異なるのは、このポリシーでは、スレッドが常に CPU に負荷のかかる (CPU\-intensive)  処理を行うと、スケジューラが仮定する点である。
+スケジューラはスレッドを呼び起こす毎にそのスレッドにスケジューリング上の ペナルティを少し課し、その結果、このスレッドはスケジューリングの決定で
+若干冷遇されるようになる。
+
+.\" The following paragraph is drawn largely from the text that
+.\" accompanied Ingo Molnar's patch for the implementation of
+.\" SCHED_BATCH.
+.\" commit b0a9499c3dd50d333e2aedb7e894873c58da3785
+.\"
+このポリシーは、非対話的な処理だがその nice 値を下げたくない処理や、 (処理のタスク間で) 余計なタスクの置き換えの原因とある対話的な処理なしで
+確定的な (deterministic) スケジューリングポリシーを適用したい処理に 対して有効である。
+.SS "SCHED_IDLE: 非常に優先度の低いジョブのスケジューリング"
+(Linux 2.6.23 以降)  \fBSCHED_IDLE\fP は静的優先度 0 でのみ使用できる。 このポリシーではプロセスの nice
+値はスケジューリングに影響を与えない。
+
+.\"
+非常に低い優先度でのジョブの実行を目的としたものである (非常に低い優先度とは、ポリシー \fBSCHED_OTHER\fP か \fBSCHED_BATCH\fP
+での nice 値 +19 よりさらに低い優先度である)。
+.SS 子プロセスでのスケジューリングポリシーのリセット
+各スレッドには reset\-on\-fork スケジューリングフラグがある。 このフラグがセットされると、 \fBfork\fP(2)
+で作成される子プロセスは特権スケジューリングポリシーを継承しない。 reset\-on\-fork フラグは以下のいずれかの方法でセットできる。
+.IP * 3
+\fBsched_setscheduler\fP(2) を呼び出す際に \fBSCHED_RESET_ON_FORK\fP フラグを \fIpolicy\fP
+引き数に論理和で指定する (Linux 2.6.32 以降)。
+.IP *
+\fBsched_setattr\fP(2) を呼び出し際に \fIattr.sched_flags\fP に
+\fBSCHED_FLAG_RESET_ON_FORK\fP フラグを指定する。
+.PP
+これらの 2 つの API で使用される定数は名前が違っている点に注意すること。 同様に reset\-on\-fork フラグの状態は
+\fBsched_getscheduler\fP(2) と \fBsched_getattr\fP(2) を使って取得できる。
+
+reset\-on\-fork 機能はメディア再生アプリケーションでの利用を意図したものである。 複数の子プロセスを作成することで、 アプリケーションは
+\fBRLIMIT_RTTIME\fP リソース上限 (\fBgetrlimit\fP(2) を参照) を避けることができる。
+
+より正確には、 reset\-on\-fork フラグがセットされた場合、それ以降に作成される子プロセスに以下のルールが適用される。
+.IP * 3
+呼び出したスレッドのスケジューリングポリシーが \fBSCHED_FIFO\fP か \fBSCHED_RR\fP の場合、子プロセスのポリシーは
+\fBSCHED_OTHER\fP にリセットされる。
+.IP *
+子プロセスが負の nice 値を持っている場合、子プロセスの nice 値は 0 にリセットされる。
+.PP
+.\"
+一度 reset\-on\-fork フラグが有効にされた後は、このフラグをリセットできるのは、スレッドが \fBCAP_SYS_NICE\fP
+ケーパビリティを持つ場合だけである。このフラグは \fBfork\fP(2) で作成された子プロセスでは無効になる。
+.SS 特権とリソース制限
+2.6.12 より前のバージョンの Linux カーネルでは、 特権スレッド (\fBCAP_SYS_NICE\fP ケーパビリティを持つスレッド) だけが
+0 以外の静的優先度を設定する (すなわち、リアルタイムスケジューリングポリシーを設定する) ことができる。 非特権スレッドができる変更は
+\fBSCHED_OTHER\fP ポリシーを設定することだけであり、さらに、 この変更を行えるのは、 呼び出し元の実効ユーザ ID
+がポリシーの変更対象スレッド (\fIpid\fP で指定されたスレッド) の実ユーザ ID か実効ユーザ ID と 一致する場合だけである。
+
+\fBSCHED_DEADLINE\fP ポリシーを設定、変更するには、スレッドが特権 (\fBCAP_SYS_NICE\fP) を持っていなければならない。
+
+Linux 2.6.12 以降では、リソース制限 \fBRLIMIT_RTPRIO\fP が定義されており、 スケジューリングポリシーが
+\fBSCHED_RR\fP と \fBSCHED_FIFO\fP の場合の、非特権スレッドの静的優先度の上限を定めている。
+スケジューリングポリシーと優先度を変更する際のルールは以下の通りである。
+.IP * 3
+非特権スレッドに 0 以外の \fBRLIMIT_RTPRIO\fP ソフトリミットが設定されている場合、
+非特権スレッドはそのスレッドのスケジューリングポリシーと優先度を 変更できるが、優先度を現在の自身の優先度と \fBRLIMIT_RTPRIO\fP
+ソフトリミットの大きい方よりも高い値に設定できないという制限が課される。
+.IP *
+\fBRLIMIT_RTPRIO\fP ソフトリミットが 0 の場合、優先度を下げるか、 リアルタイムでないポリシーへ切り替えるかの変更だけが許可される。
+.IP *
+ある非特権スレッドが別のスレッドに対してこれらの変更を行う際にも、 同じルールが適用される。変更を行えるのは、変更を行おうとするスレッド の実効ユーザ
+ID が変更対象のスレッドの実ユーザ ID か実効ユーザ ID と 一致している場合に限られる。
+.IP *
+.\" commit c02aa73b1d18e43cfd79c2f193b225e84ca497c8
+\fBSCHED_IDLE\fP ポリシーの場合には特別なルールが適用される。 2.6.39 より前の Linux
+カーネルでは、このポリシーで動作する非特権スレッドは、 \fBRLIMIT_RTPRIO\fP
+リソース上限の値に関わらず、自分のポリシーを変更することができない。 2.6.39 以降の Linux カーネルでは、非特権スレッドは、自分の nice
+値が \fBRLIMIT_NICE\fP リソース上限 (\fBgetrlimit\fP(2) 参照)
+で許可された範囲である限りは、自分のスケジューリングポリシーを \fBSCHED_BATCH\fP か \fBSCHED_NORMAL\fP
+ポリシーに切り替えることができる。
+.PP
+特権スレッド (\fBCAP_SYS_NICE\fP ケーパビリティを持つスレッド) の場合、 \fBRLIMIT_RTPRIO\fP の制限は無視される;
+古いカーネルと同じように、スケジューリングポリシーと優先度に対し 任意の変更を行うことができる。 \fBRLIMIT_RTPRIO\fP
+に関するもっと詳しい情報は \fBgetrlimit\fP(2)  を参照のこと。
+.SS "リアルタイムプロセスとデッドラインプロセスの CPU 使用量を制限する"
+\fBSCHED_FIFO\fP, \fBSCHED_RR\fP, \fBSCHED_DEADLINE\fP でスケジューリングされる
+スレッドが停止せずに無限ループに陥ると、 他の全てのより低い優先度のスレッドを永久に停止 (block) させてしまう。 Linux 2.6.25
+より前では、 リアルタイムプロセスが暴走してしまい、システムが止まってしまうのを防止する唯一の方法は、 (コンソールで)
+シェルをテスト対象のアプリケーションよりも高い静的優先度で実行することだけであった。 これによって期待通りに停止したり終了したりしないリアルタイム
+アプリケーションを緊急終了させることが可能になる。
+
+Linux 2.6.25 以降では、 暴走したリアルタイムプロセスやデッドラインプロセスを扱う別の方法が提供されている。 一つは
+\fBRLIMIT_RTTIME\fP リソース上限を使ってリアルタイムプロセスが消費できる CPU 時間の上限を設定する方法である。 詳細は
+\fBgetrlimit\fP(2) を参照。
+
+Linux 2.6.25 以降では、 2 つの \fI/proc\fP ファイルを使って、リアルタイムでないプロセスが使用できる CPU
+時間を一定量予約することができる。 この方法で CPU 時間をいくらか予約しておくことで、 CPU 時間が (例えば) root
+シェルに割り当てられ、このシェルから暴走したプロセスを殺すことができる。 これらのファイルでは両方ともマイクロ秒で時間を指定する。
+.TP 
+\fI/proc/sys/kernel/sched_rt_period_us\fP
+このファイルは、 CPU 時間 100% にあたるスケジューリング間隔を指定する。 このファイルの値として 1 から \fBINT_MAX\fP
+を指定できる。 この値は実際の時間としては 1 マイクロ秒から約 35 分に相当する。 このファイルのデフォルト値は 1,000,000 (1 秒)
+である。
+.TP 
+\fI/proc/sys/kernel/sched_rt_runtime_us\fP
+このファイルの値は、 システム上のリアルタイムスケジューリングやデッドラインスケジューリングの全プロセスが使用できる「期間」を指定する。
+このファイルの値として \-1 から \fBINT_MAX\fP\-1 を指定できる。 \-1 を指定すると、実行時間 (runtime) はスケジューリング間隔
+(period) と同じになる。 つまり、 CPU 時間はリアルタイムでないプロセスには確保されない (カーネル 2.6.25 より前の Linux
+の動作である)。 このファイルのデフォルト値は 950,000 (0.95 秒) である。 これは CPU 時間の 5%
+がリアルタイムやデッドラインスケジューリングポリシー以外で動作するプロセスに確保されるという意味する。
+.PP
+.SS "応答時間 (response time)"
+.\" as described in
+.\" .BR request_irq (9).
+I/O 待ちで停止したより高い優先度のスレッドは再びスケジューリングされる 前にいくらかの応答時間がかかる。デバイスドライバーを書く場合には "slow
+interrupt" 割り込みハンドラーを使用することで この応答時間を劇的に減少させることができる。
+.SS その他
+子プロセスは \fBfork\fP(2)  の際に親プロセスのスケジューリングポリシーとパラメータを継承する。 \fBexecve\fP(2)
+の前後で、スケジューリングポリシーとパラメータは保持される。
+
+リアルタイムプロセスは大抵、ページングの待ち時間を避けるために \fBmlock\fP(2)  や \fBmlockall\fP(2)
+を使ってメモリロックをしなければならない。
+.SH 注意
+.PP
+もともとは、標準の Linux は一般目的のオペレーティングシステムとして 設計されており、バックグラウンドプロセスや対話的アプリケーション、
+リアルタイム性の要求が厳しくないリアルタイムアプリケーション (普通はタイミングの応答期限 (deadline) を満たす必要があるアプリケーション)
+を扱うことができた。 Linux カーネル 2.6 では、 カーネルのプリエンプション (タスクの置き換え) が可能であり、 新たに導入された O(1)
+スケジューラにより、 アクティブなタスクの数に関わらずスケジューリングに必要な時間は 固定で確定的 (deterministic)
+であることが保証されている。 それにも関わらず、カーネル 2.6.17 までは 真のリアルタイムコンピューティングは実現できなかった。
+.SS "本流の Linux カーネルでのリアルタイム機能"
+.\" FIXME . Probably this text will need some minor tweaking
+.\" by about the time of 2.6.30; ask Carsten Emde about this then.
+カーネル 2.6.18 から現在まで、 Linux は徐々にリアルタイム機能を備えつつ
+あるが、 これらの機能のほとんどは、 Ingo Molnar, Thomas Gleixner,
+Steven Rostedt らによって開発された、 以前の \fIrealtime\-preempt\fP パッチ
+からのものである。 これらのパッチが本流のカーネルに完全にマージされるま
+では (マージの完了はカーネル 2.6.30 あたりの予定)、 最高のリアルタイム
+性能を達成するには realtime\-preempt パッチを 組み込まなければならない。
+これらのパッチは
+.in +4n
+.nf
+
+patch\-\fIkernelversion\fP\-rt\fIpatchversion\fP
+.fi
+.in
+.PP
+という名前で、
+.UR http://www.kernel.org\:/pub\:/linux\:/kernel\:/projects\:/rt/
+.UE
+からダウンロードできる。
+
+このパッチが適用されず、かつパッチの内容の本流のカーネルへのマージが 完了するまでは、カーネルの設定では \fBCONFIG_PREEMPT_NONE\fP,
+\fBCONFIG_PREEMPT_VOLUNTARY\fP, \fBCONFIG_PREEMPT_DESKTOP\fP の 3つのプリエンプションクラス
+(preemption class) だけが提供される。 これらのクラスでは、最悪の場合のスケジューリング遅延がそれぞれ
+全く減らない、いくらか減る、かなり減る。
+
+パッチが適用された場合、またはパッチの内容の本流のカーネルへのマージが 完了した後では、上記に加えて設定項目として
+\fBCONFIG_PREEMPT_RT\fP が利用可能になる。この項目を選択すると、 Linux は通常のリアルタイムオペレーティングシステムに変身する。
+この場合には、 FIFO と RR のスケジューリングポリシーは、 真のリアルタイム優先度を持つスレッドを最悪の場合のスケジューリング遅延が
+最小となる環境で動作させるために使われることになる。
+.SH 関連項目
+.ad l
+.nh
+\fBchrt\fP(1), \fBtaskset\fP(1), \fBgetpriority\fP(2), \fBmlock\fP(2), \fBmlockall\fP(2),
+\fBmunlock\fP(2), \fBmunlockall\fP(2), \fBnice\fP(2), \fBsched_get_priority_max\fP(2),
+\fBsched_get_priority_min\fP(2), \fBsched_getscheduler\fP(2),
+\fBsched_getaffinity\fP(2), \fBsched_getparam\fP(2), \fBsched_rr_get_interval\fP(2),
+\fBsched_setaffinity\fP(2), \fBsched_setscheduler\fP(2), \fBsched_setparam\fP(2),
+\fBsched_yield\fP(2), \fBsetpriority\fP(2), \fBpthread_getaffinity_np\fP(3),
+\fBpthread_setaffinity_np\fP(3), \fBsched_getcpu\fP(3), \fBcapabilities\fP(7),
+\fBcpuset\fP(7)
+.ad
+.PP
+\fIProgramming for the real world \- POSIX.4\fP by Bill O. Gallmeister, O'Reilly
+& Associates, Inc., ISBN 1\-56592\-074\-0.
+.PP
+Linux カーネルソースのファイル \fIDocumentation/scheduler/sched\-deadline.txt\fP,
+\fIDocumentation/scheduler/sched\-rt\-group.txt\fP,
+\fIDocumentation/scheduler/sched\-design\-CFS.txt\fP,
+\fIDocumentation/scheduler/sched\-nice\-design.txt\fP
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.76 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。
index 2a266b6..afd0f77 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "POT-Creation-Date: 2015-01-07 18:28+0900\n"
-"PO-Revision-Date: 2015-01-07 18:37+0900\n"
+"PO-Revision-Date: 2015-01-09 04:00+0900\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "Language: \n"
@@ -3907,29 +3907,19 @@ msgstr "sched_setattr()"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:52
-#, fuzzy
-#| msgid ""
-#| "The B<sched_setscheduler>()  system call sets both the scheduling policy "
-#| "and parameters for the thread whose ID is specified in I<pid>.  If I<pid> "
-#| "equals zero, the scheduling policy and parameters of the calling thread "
-#| "will be set."
 msgid ""
 "The B<sched_setattr>()  system call sets the scheduling policy and "
 "associated attributes for the thread whose ID is specified in I<pid>.  If "
 "I<pid> equals zero, the scheduling policy and attributes of the calling "
 "thread will be set."
-msgstr ""
-"B<sched_setscheduler>() システムコールは、 I<pid> で指定された ID を持つス"
-"レッドのスケジューリングポリシーとスケジューリングパラメーターの両方を設定す"
-"る。 I<pid> が 0 の場合、呼び出したスレッド自身のスケジューリングポリシーとス"
-"ケジューリングパラメーターが設定される。"
+msgstr "B<sched_setattr>() システムコールは、 I<pid> で指定された ID を持つスレッドのスケジューリングポリシーと関連する属性を設定する。 I<pid> が 0 の場合、呼び出したスレッド自身のスケジューリングポリシーと属性が設定される。"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:56 build/C/man2/sched_setscheduler.2:73
 msgid ""
 "Currently, Linux supports the following \"normal\" (i.e., non-real-time) "
 "scheduling policies as values that may be specified in I<policy>:"
-msgstr ""
+msgstr "現在のところ、 Linux では、 以下の「通常」の (つまり、リアルタイムではない) スケジューリングポリシーが、 I<policy> に指定できる値としてサポートされている。"
 
 #. type: TP
 #: build/C/man2/sched_setattr.2:56 build/C/man2/sched_setscheduler.2:73
@@ -4006,7 +3996,7 @@ msgstr "ラウンドロビン型のポリシー。"
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:86
 msgid "Linux also provides the following policy:"
-msgstr ""
+msgstr "Linux では以下のポリシーも提供されている。"
 
 #. type: TP
 #: build/C/man2/sched_setattr.2:86
@@ -4017,7 +4007,7 @@ msgstr "B<SCHED_DEADLINE>"
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:91
 msgid "a deadline scheduling policy; see B<sched>(7)  for details."
-msgstr ""
+msgstr "デッドライン (応答期限) ベースのスケジューリングポリシー。詳細は B<sched>(7) を参照。"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:97
@@ -4025,7 +4015,7 @@ msgid ""
 "The I<attr> argument is a pointer to a structure that defines the new "
 "scheduling policy and attributes for the specified thread.  This structure "
 "has the following form:"
-msgstr ""
+msgstr "I<attr> 引き数は、 指定したスレッドの新しいスケジューリングポリシーと属性を定義した構造体へのポインターである。 この構造体は以下の形式である。"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:113
@@ -4045,6 +4035,19 @@ msgid ""
 "    u64 sched_period;\n"
 "};\n"
 msgstr ""
+"struct sched_attr {\n"
+"    u32 size;              /* この構造体のサイズ */\n"
+"    u32 sched_policy;      /* ポリシー (SCHED_*) */\n"
+"    u64 sched_flags;       /* フラグ */\n"
+"    s32 sched_nice;        /* nice 値 (SCHED_OTHER,\n"
+"                              SCHED_BATCH) */\n"
+"    u32 sched_priority;    /* 静的優先度 (SCHED_FIFO,\n"
+"                              SCHED_RR) */\n"
+"    /* 残りのフィールドは SCHED_DEADLINE 用である */\n"
+"    u64 sched_runtime;\n"
+"    u64 sched_deadline;\n"
+"    u64 sched_period;\n"
+"};\n"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:117
@@ -4067,7 +4070,7 @@ msgid ""
 "that all additional fields are 0; if they are not, B<sched_setattr>()  fails "
 "with the error B<E2BIG> and updates I<size> to contain the size of the "
 "kernel structure."
-msgstr ""
+msgstr "このフィールドには、 構造体のバイト単位のサイズを設定する。 I<sizeof(struct sched_attr)> を指定すればよい。 指定された構造体がカーネル構造体よりも小さい場合、 追加となるフィールドは 0 とみなされる。 指定された構造体がカーネル構造体よりも大きい場合、 カーネルは追加のフィールドが 0 であるかを検査する。 0 でない場合は B<sched_setattr>() はエラー B<E2BIG> で失敗するので、 I<size> をカーネル構造体のサイズに更新する必要がある。"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:146
@@ -4080,7 +4083,7 @@ msgid ""
 "that know about a larger user-space I<sched_attr> structure to determine "
 "whether they are running on an older kernel that does not support the larger "
 "structure."
-msgstr ""
+msgstr "ユーザー空間の I<sched_attr> 構造体のサイズがカーネル構造体のサイズと一致しなかった場合の上記の動作は、 このインタフェースを将来拡張できるようにするためである。 サイズが大きい構造体を渡す行儀の良くないアプリケーションも、 将来カーネルの I<sched_attr> 構造体のサイズが大きくなったとしてもおかしくならない。 この仕組みにより、 将来的には、 大きなユーザー空間 I<sched_attr> 構造体があることを知っているアプリケーションで、 大きいサイズの構造体に対応していない古いカーネル上で動作しているかを判定することができる。"
 
 #. type: TP
 #: build/C/man2/sched_setattr.2:146
@@ -4093,7 +4096,7 @@ msgstr "I<sched_policy>"
 msgid ""
 "This field specifies the scheduling policy, as one of the B<SCHED_*> values "
 "listed above."
-msgstr ""
+msgstr "このフィールドはスケジューリングポリシーを指定する。 上記のリストにある B<SCHED_*> 値のいずれかを指定する。"
 
 #. type: TP
 #: build/C/man2/sched_setattr.2:151
@@ -4103,28 +4106,18 @@ msgstr "I<sched_flags>"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:162
-#, fuzzy
-#| msgid ""
-#| "Since Linux 2.6.32, the B<SCHED_RESET_ON_FORK> flag can be ORed in "
-#| "I<policy> when calling B<sched_setscheduler>().  As a result of including "
-#| "this flag, children created by B<fork>(2)  do not inherit privileged "
-#| "scheduling policies.  See B<sched>(7)  for details."
 msgid ""
 "This field contains flags controlling scheduling behavior.  Only one such "
 "flag is currently defined: B<SCHED_FLAG_RESET_ON_FORK>.  As a result of "
 "including this flag, children created by B<fork>(2)  do not inherit "
 "privileged scheduling policies.  See B<sched>(7)  for details."
-msgstr ""
-"Linux 2.6.32 以降では、 B<sched_setscheduler>() を呼び出す際に I<policy> に "
-"B<SCHED_RESET_ON_FORK> フラグを OR で指定できる。このフラグが指定されると、 "
-"B<fork>(2) で作成された子プロセスは特権が必要なスケジューリングポリシーを継承"
-"しない。 詳細は B<sched>(7) を参照。"
+msgstr "このフィールドはスケジューリング動作の制御を行う。 現在のところ、サポートされているフラグは B<SCHED_FLAG_RESET_ON_FORK> の一つだけである。 このフラグが指定されると、 B<fork>(2) で作成された子プロセスは特権が必要なスケジューリングポリシーを継承しない。 詳細は B<sched>(7) を参照。"
 
 #. type: TP
 #: build/C/man2/sched_setattr.2:162
 #, no-wrap
 msgid "I<sched_nice>"
-msgstr ""
+msgstr "I<sched_nice>"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:173
@@ -4133,13 +4126,13 @@ msgid ""
 "I<sched_policy> as B<SCHED_OTHER> or B<SCHED_BATCH>.  The nice value is a "
 "number in the range -20 (high priority)  to +19 (low priority); see "
 "B<setpriority>(2)."
-msgstr ""
+msgstr "このフィールドは、 I<sched_policy> に B<SCHED_OTHER> か B<SCHED_BATCH> が指定された場合に設定される nice 値を指定する。 nice 値は -20 (高優先度) から +19 (低優先度) の範囲の数値である。 B<setpriority>(2) を参照。"
 
 #. type: TP
 #: build/C/man2/sched_setattr.2:173
 #, no-wrap
 msgid "I<sched_priority>"
-msgstr ""
+msgstr "I<sched_priority>"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:186
@@ -4149,13 +4142,13 @@ msgid ""
 "priorities for these policies can be determined using "
 "B<sched_get_priority_min>(2)  and B<sched_get_priority_max>(2).  For other "
 "policies, this field must be specified as 0."
-msgstr ""
+msgstr "このフィールドは、 I<sched_policy> に B<SCHED_FIFO> か B<SCHED_RR> が指定された場合に設定される静的優先度を指定する。 これらのポリシーで指定できる優先度の範囲は、 B<sched_get_priority_min>(2) と B<sched_get_priority_max>(2) を使って判定できる。 他のポリシーでは、 このフィールドには 0 を指定しなければならない。"
 
 #. type: TP
 #: build/C/man2/sched_setattr.2:186
 #, no-wrap
 msgid "I<sched_runtime>"
-msgstr ""
+msgstr "I<sched_runtime>"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:195
@@ -4164,40 +4157,40 @@ msgid ""
 "value is expressed in nanoseconds.  This field, and the next two fields, are "
 "used only for B<SCHED_DEADLINE> scheduling; for further details, see "
 "B<sched>(7)."
-msgstr ""
+msgstr "このフィールドは、 デッドラインスケジューリングの \"Runtime\" パラメーターを指定する。 この値はナノ秒単位で表現される。 このフィールドと次の 2 つのフィールドは B<SCHED_DEADLINE> スケジューリングにおいてのみ使用される。 詳細は B<sched>(7) を参照。"
 
 #. type: TP
 #: build/C/man2/sched_setattr.2:195
 #, no-wrap
 msgid "I<sched_deadline>"
-msgstr ""
+msgstr "I<sched_deadline>"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:199
 msgid ""
 "This field specifies the \"Deadline\" parameter for deadline scheduling.  "
 "The value is expressed in nanoseconds."
-msgstr ""
+msgstr "このフィールドは、 デッドラインスケジューリングの \"Deadline\" パラメーターを指定する。 この値はナノ秒単位で表現される。"
 
 #. type: TP
 #: build/C/man2/sched_setattr.2:199
 #, no-wrap
 msgid "I<sched_period>"
-msgstr ""
+msgstr "I<sched_period>"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:203
 msgid ""
 "This field specifies the \"Period\" parameter for deadline scheduling.  The "
 "value is expressed in nanoseconds."
-msgstr ""
+msgstr "このフィールドは、 デッドラインスケジューリングの \"Period\" パラメーターを指定する。 この値はナノ秒単位で表現される。"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:210 build/C/man2/sched_setattr.2:262
 msgid ""
 "The I<flags> argument is provided to allow for future extensions to the "
 "interface; in the current implementation it must be specified as 0."
-msgstr ""
+msgstr "I<flags> 引き数は、このインタフェースの将来の拡張のために用意されている。 現在の実装では 0 を指定しなければならない。"
 
 #. type: SS
 #: build/C/man2/sched_setattr.2:210
@@ -4207,22 +4200,12 @@ msgstr "sched_getattr()"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:221
-#, fuzzy
-#| msgid ""
-#| "The B<sched_setscheduler>()  system call sets both the scheduling policy "
-#| "and parameters for the thread whose ID is specified in I<pid>.  If I<pid> "
-#| "equals zero, the scheduling policy and parameters of the calling thread "
-#| "will be set."
 msgid ""
 "The B<sched_getattr>()  system call fetches the scheduling policy and the "
 "associated attributes for the thread whose ID is specified in I<pid>.  If "
 "I<pid> equals zero, the scheduling policy and attributes of the calling "
 "thread will be retrieved."
-msgstr ""
-"B<sched_setscheduler>() システムコールは、 I<pid> で指定された ID を持つス"
-"レッドのスケジューリングポリシーとスケジューリングパラメーターの両方を設定す"
-"る。 I<pid> が 0 の場合、呼び出したスレッド自身のスケジューリングポリシーとス"
-"ケジューリングパラメーターが設定される。"
+msgstr "B<sched_getattr>() システムコールは、 I<pid> で指定された ID を持つスレッドのスケジューリングポリシーと関連する属性を取得する。 I<pid> が 0 の場合、呼び出したスレッド自身のスケジューリングポリシーと関連する属性を取得する。"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:231
@@ -4231,7 +4214,7 @@ msgid ""
 "structure as known to user space.  The value must be at least as large as "
 "the size of the initially published I<sched_attr> structure, or the call "
 "fails with the error B<EINVAL>."
-msgstr ""
+msgstr "I<size> 引き数には、 ユーザー空間での I<sched_attr> 構造体の大きさを設定する。 この値は、 少なくとも初期バージョンの I<sched_attr> 構造体のサイズでなければならない。 そうでなかった場合、 エラー B<EINVAL> で呼び出しが失敗する。"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:241
@@ -4239,7 +4222,7 @@ msgid ""
 "The retrieved scheduling attributes are placed in the fields of the "
 "I<sched_attr> structure pointed to by I<attr>.  The kernel sets I<attr.size> "
 "to the size of its I<sched_attr> structure."
-msgstr ""
+msgstr "取得したスケジューリング属性は、 I<attr> が指す I<sched_attr> 構造体の各フィールドに格納される。 カーネルは I<attr.size> に I<sched_attr> 構造体のサイズを設定する。"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:257
@@ -4251,69 +4234,61 @@ msgid ""
 "the provided space, B<sched_getattr>()  fails with the error B<E2BIG>.  As "
 "with B<sched_setattr>(), these semantics allow for future extensibility of "
 "the interface."
-msgstr ""
+msgstr "呼び出し側が提供した I<attr> バッファがカーネルの I<sched_attr> 構造体よりも大きい場合、 ユーザー空間構造体の残りのバイトは変更されない。 呼び出し側が提供した構造体がカーネルの I<sched_attr> 構造体よりも小さく、 カーネルが値を返すのにもっと大きな空間が必要な場合、 B<sched_getattr>() はエラー B<E2BIG> で失敗する。 B<sched_setattr>() と同様、 この動作はこのインタフェースの将来の拡張性を考慮してのものである。"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:271
-#, fuzzy
-#| msgid ""
-#| "On success, B<sched_setparam>()  and B<sched_getparam>()  return 0.  On "
-#| "error, -1 is returned, and I<errno> is set appropriately."
 msgid ""
 "On success, B<sched_setattr>()  and B<sched_getattr>()  return 0.  On error, "
 "-1 is returned, and I<errno> is set to indicate the cause of the error."
-msgstr ""
-"成功した場合は B<sched_setparam>()  と B<sched_getparam>()  は 0 を返す。 エ"
-"ラーの場合は -1 が返され、 I<errno> が適切に設定される。"
+msgstr "成功した場合は B<sched_setattr>()  と B<sched_getattr>()  は 0 を返す。 エラーの場合は -1 が返され、 エラーの原因を示す値が I<errno> に設定される。"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:276
 msgid ""
 "B<sched_getattr>()  and B<sched_setattr>()  can both fail for the following "
 "reasons:"
-msgstr ""
+msgstr "B<sched_getattr>() と B<sched_setattr>() の両方が以下の理由で失敗する。"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:284
-#, fuzzy
-#| msgid "Invalid arguments: I<pid> is negative or I<param> is NULL."
 msgid "I<attr> is NULL; or I<pid> is negative; or I<flags> is not zero."
-msgstr "無効な引き数: I<pid> が負である、または I<param> が NULL である。"
+msgstr "I<attr> が NULL である。 I<pid> が負である。 I<flags> が 0 以外である。"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:293
 msgid "In addition, B<sched_getattr>()  can fail for the following reasons:"
-msgstr ""
+msgstr "さらに、 B<sched_getattr>() は以下の理由でも失敗する。"
 
 #. type: TP
 #: build/C/man2/sched_setattr.2:293 build/C/man2/sched_setattr.2:310
 #, no-wrap
 msgid "B<E2BIG>"
-msgstr ""
+msgstr "B<E2BIG>"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:300
 msgid "The buffer specified by I<size> and I<attr> is too small."
-msgstr ""
+msgstr "I<size> と I<attr> で指定されたバッファーが小さすぎる。"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:306
 msgid ""
 "I<size> is invalid; that is, it is smaller than the initial version of the "
 "I<sched_attr> structure (48 bytes) or larger than the system page size."
-msgstr ""
+msgstr "I<size> が無効である。つまり、 最初のバージョンの I<sched_attr> 構造体 (48 バイト) よりも小さいか、 システムのページサイズよりも大きい。"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:310
 msgid "In addition, B<sched_setattr>()  can fail for the following reasons:"
-msgstr ""
+msgstr "さらに、 B<sched_setattr>() は以下の理由でも失敗する。"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:318
 msgid ""
 "The buffer specified by I<size> and I<attr> is larger than the kernel "
 "structure, and one or more of the excess bytes is nonzero."
-msgstr ""
+msgstr "I<size> と I<attr> で指定されたバッファがカーネル構造体よりも大きく、 一つ以上の超過バイトが 0 でなかった。"
 
 #. type: TP
 #: build/C/man2/sched_setattr.2:318
@@ -4324,7 +4299,7 @@ msgstr "B<EBUSY>"
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:323
 msgid "B<SCHED_DEADLINE> admission control failure, see B<sched>(7)."
-msgstr ""
+msgstr "B<SCHED_DEADLINE> の流入制御の失敗については B<sched>(7) を参照。"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:339
@@ -4334,7 +4309,7 @@ msgid ""
 "I<attr.sched_priority> is invalid; or I<attr.sched_policy> is "
 "B<SCHED_DEADLINE> and the deadline scheduling parameters in I<attr> are "
 "invalid."
-msgstr ""
+msgstr "I<attr.sched_policy> が認識できるポリシーではない。 I<attr.sched_flags> に B<SCHED_FLAG_RESET_ON_FORK> 以外のフラグが含まれている。 I<attr.sched_priority> が無効である。 I<attr.sched_policy> が B<SCHED_DEADLINE> で、 I<attr> に指定されたデッドラインスケジューリングパラメーターが無効である。"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:342
@@ -4346,7 +4321,7 @@ msgstr "呼び出した元が適切な特権を持っていない。"
 msgid ""
 "The caller's CPU affinity mask does not include all CPUs in the system (see "
 "B<sched_setaffinity>(2))."
-msgstr ""
+msgstr "呼び出し元の CPU affinity マスクにシステムの全ての CPU のうち含まれていないものがある (B<sched_setaffinity>(2) を参照)。"
 
 #.  FIXME . Add glibc version
 #. type: Plain text
@@ -4369,7 +4344,7 @@ msgid ""
 "Analogously, B<sched_getattr()> provides a superset of the functionality of "
 "B<sched_getscheduler>(2), B<sched_getparam>(2), and (partially)  "
 "B<getpriority>(2)."
-msgstr ""
+msgstr "B<sched_setattr>() は、B<sched_setscheduler>(2), B<sched_setparam>(2), B<nice>(2) の機能および B<setpriority> の一部機能を持つ (ただし、B<setpriority>(2) の、指定されたユーザーに所属するすべてのプロセスまたは指定されたグループのすべてのプロセスの優先度を設定する機能は除く)。 同様に、 B<sched_getattr()> は B<sched_getscheduler>(2), B<sched_getparam>(2) の機能および B<getpriority>(2) の一部機能を持つ。"
 
 #.  FIXME . patch sent to Peter Zijlstra
 #.  In Linux versions up to up 3.15,
@@ -4383,7 +4358,7 @@ msgstr ""
 msgid ""
 "In Linux versions up to 3.15, B<sched_settattr>()  failed with the error "
 "B<EFAULT> instead of B<E2BIG> for the case described in ERRORS."
-msgstr ""
+msgstr "バージョン 3.15 までの Linux では、 B<sched_settattr>() は、 エラーの節に書かれている B<E2BIG> の場合にエラーB<EFAULT> で失敗していた。"
 
 #. type: Plain text
 #: build/C/man2/sched_setattr.2:407
@@ -4620,7 +4595,7 @@ msgstr ""
 msgid ""
 "The scheduling parameters are specified in the I<param> argument, which is a "
 "pointer to a structure of the following form:"
-msgstr ""
+msgstr "スケジューリングパラメーターは I<param> 引き数で、以下の形式の構造体へのポインターを指定する。"
 
 #. type: Plain text
 #: build/C/man2/sched_setscheduler.2:61
@@ -4644,12 +4619,12 @@ msgid ""
 "In the current implementation, the structure contains only one field, "
 "I<sched_priority>.  The interpretation of I<param> depends on the selected "
 "policy."
-msgstr ""
+msgstr "現在の実装では、この構造体のフィールドは I<sched_priority> だけである。 I<param> がどのように解釈されるかは選択されたポリシーによって変わる。"
 
 #. type: Plain text
 #: build/C/man2/sched_setscheduler.2:90
 msgid "For each of the above policies, I<param-E<gt>sched_priority> must be 0."
-msgstr ""
+msgstr "上記のどのポリシーの場合でも、 I<param-E<gt>sched_priority> は 0 でなければならない。"
 
 #. type: Plain text
 #: build/C/man2/sched_setscheduler.2:116
@@ -4659,7 +4634,7 @@ msgid ""
 "by calling B<sched_get_priority_min>(2)  and B<sched_get_priority_max>(2)  "
 "with the specified I<policy>.  On Linux, these system calls return, "
 "respectively, 1 and 99."
-msgstr ""
+msgstr "上記のどのポリシーの場合でも、 I<param-E<gt>sched_priority> はそのスレッドのスケジューリングポリシーを指定する。 指定された I<policy> で I<sched_get_priority_min>(2) と I<sched_get_priority_max>(2) を呼び出した返り値の範囲の数字を指定する。 Linux では、これらのシステムコールはそれぞれ 1 と 99 を返す。"
 
 #. type: Plain text
 #: build/C/man2/sched_setscheduler.2:129
@@ -4736,7 +4711,7 @@ msgstr ""
 msgid ""
 "Further details of the semantics of all of the above \"normal\" and \"real-"
 "time\" scheduling policies can be found in B<sched>(7)."
-msgstr ""
+msgstr "上記の「通常」および「リアルタイム」スケジューリングポリシーの動作の詳細な説明は B<sched>(7) にある。"
 
 #. type: Plain text
 #: build/C/man2/sched_setscheduler.2:185
@@ -4897,18 +4872,18 @@ msgstr "SCHED"
 #. type: Plain text
 #: build/C/man7/sched.7:35
 msgid "sched - overview of scheduling APIs"
-msgstr ""
+msgstr "sched - スケジューリング API の概要"
 
 #. type: SS
 #: build/C/man7/sched.7:36
 #, no-wrap
 msgid "API summary"
-msgstr ""
+msgstr "API の概要"
 
 #. type: Plain text
 #: build/C/man7/sched.7:38
 msgid "The Linux scheduling APIs are as follows:"
-msgstr ""
+msgstr "Linux のスケジューリング API は以下のとおりである。"
 
 #. type: TP
 #: build/C/man7/sched.7:38
@@ -4919,7 +4894,7 @@ msgstr "B<sched_setscheduler>(2)"
 #. type: Plain text
 #: build/C/man7/sched.7:41
 msgid "Set the scheduling policy and parameters of a specified thread."
-msgstr ""
+msgstr "指定されたスレッドのスケジューリングポリシーとパラメーターを設定する。"
 
 #. type: TP
 #: build/C/man7/sched.7:41
@@ -4941,7 +4916,7 @@ msgstr "B<sched_setparam>(2)"
 #. type: Plain text
 #: build/C/man7/sched.7:47
 msgid "Set the scheduling parameters of a specified thread."
-msgstr ""
+msgstr "指定されたスレッドのスケジューリングパラメーターを設定する。"
 
 #. type: TP
 #: build/C/man7/sched.7:47
@@ -4952,7 +4927,7 @@ msgstr "B<sched_getparam>(2)"
 #. type: Plain text
 #: build/C/man7/sched.7:50
 msgid "Fetch the scheduling parameters of a specified thread."
-msgstr ""
+msgstr "指定されたスレッドのスケジューリングパラメーターを取得する。"
 
 #. type: TP
 #: build/C/man7/sched.7:50
@@ -4962,11 +4937,8 @@ msgstr "B<sched_get_priority_max>(2)"
 
 #. type: Plain text
 #: build/C/man7/sched.7:53
-#, fuzzy
-#| msgid ""
-#| "The argument I<policy> does not identify a defined scheduling policy."
 msgid "Return the minimum priority available in a specified scheduling policy."
-msgstr "引き数 I<policy> が定義されているスケジューリング方針と一致しない。"
+msgstr "指定されたスケジューリングポリシーで利用可能な最小の優先度を返す。"
 
 #. type: TP
 #: build/C/man7/sched.7:53
@@ -4976,11 +4948,8 @@ msgstr "B<sched_get_priority_min>(2)"
 
 #. type: Plain text
 #: build/C/man7/sched.7:56
-#, fuzzy
-#| msgid ""
-#| "The argument I<policy> does not identify a defined scheduling policy."
 msgid "Return the maximum priority available in a specified scheduling policy."
-msgstr "引き数 I<policy> が定義されているスケジューリング方針と一致しない。"
+msgstr "指定されたスケジューリングポリシーで利用可能な最大の優先度を返す。"
 
 #. type: TP
 #: build/C/man7/sched.7:56
@@ -4993,7 +4962,7 @@ msgstr "B<sched_rr_get_interval>(2)"
 msgid ""
 "Fetch the quantum used for threads that are scheduled under the \"round-robin"
 "\" scheduling policy."
-msgstr ""
+msgstr "「ラウンドロビン」スケジューリングポリシーでスケジューリグされるスレッドで使用される単位時間 (quantum) を取得する。"
 
 #. type: TP
 #: build/C/man7/sched.7:60
@@ -5006,7 +4975,7 @@ msgstr "B<sched_yield>(2)"
 msgid ""
 "Cause the caller to relinquish the CPU, so that some other thread be "
 "executed."
-msgstr ""
+msgstr "呼び出し元が CPU の使用権を明け渡して、 他のスレッドが実行できるようにする。"
 
 #. type: TP
 #: build/C/man7/sched.7:64
@@ -5017,7 +4986,7 @@ msgstr "B<sched_setaffinity>(2)"
 #. type: Plain text
 #: build/C/man7/sched.7:68
 msgid "(Linux-specific)  Set the CPU affinity of a specified thread."
-msgstr ""
+msgstr "(Linux 固有) 指定されたスレッドの CPU affinity を設定する。"
 
 #. type: TP
 #: build/C/man7/sched.7:68
@@ -5028,7 +4997,7 @@ msgstr "B<sched_getaffinity>(2)"
 #. type: Plain text
 #: build/C/man7/sched.7:72
 msgid "(Linux-specific)  Get the CPU affinity of a specified thread."
-msgstr ""
+msgstr "(Linux 固有) 指定されたスレッドの CPU affinity を取得する。"
 
 #. type: TP
 #: build/C/man7/sched.7:72
@@ -5042,7 +5011,7 @@ msgid ""
 "Set the scheduling policy and parameters of a specified thread.  This (Linux-"
 "specific) system call provides a superset of the functionality of "
 "B<sched_setscheduler>(2)  and B<sched_setparam>(2)."
-msgstr ""
+msgstr "指定されたスレッドのスケジューリングポリシーとパラメーターを設定する。 この (Linux 固有の) システムコールは B<sched_setscheduler>(2) と B<sched_setparam>(2) の両方の機能を持つ。"
 
 #. type: TP
 #: build/C/man7/sched.7:79
@@ -5056,7 +5025,7 @@ msgid ""
 "Fetch the scheduling policy and parameters of a specified thread.  This "
 "(Linux-specific) system call provides a superset of the functionality of "
 "B<sched_getscheduler>(2)  and B<sched_getparam>(2)."
-msgstr ""
+msgstr "指定されたスレッドのスケジューリングポリシーとパラメーターを取得する。 この (Linux 固有の) システムコールは B<sched_getscheduler>(2) と B<sched_getparam>(2) の両方の機能を持つ。"
 
 #. type: SS
 #: build/C/man7/sched.7:87
@@ -5291,7 +5260,7 @@ msgid ""
 "Bandwidth Server).  To set and fetch this policy and associated attributes, "
 "one must use the Linux-specific B<sched_setattr>(2)  and "
 "B<sched_getattr>(2)  system calls."
-msgstr ""
+msgstr "バージョン 3.14 以降では、 Linux はデッドラインスケジューリングポリシー (B<SCHED_DEADLINE>) が提供される。 現在のところ、 このポリシーは GEDF (Global Earliest Deadline First) を使って CBS (Constant Bandwidth Server) との組み合わせで実装されている。 このポリシーと関連する属性の設定、取得を行うには、 Linux 固有のシステムコール B<sched_setattr>(2) と B<sched_getattr>(2) を使用する必要がある。"
 
 #. type: Plain text
 #: build/C/man7/sched.7:226
@@ -5325,6 +5294,14 @@ msgid ""
 "     |E<lt>------- relative deadline ------E<gt>|\n"
 "     |E<lt>-------------- period -------------------E<gt>|\n"
 msgstr ""
+"arrival/wakeup                    absolute deadline\n"
+"     |    start time                    |\n"
+"     |        |                         |\n"
+"     v        v                         v\n"
+"-----x--------xooooooooooooooooo--------x--------x---\n"
+"              |E<lt>- comp. time -E<gt>|\n"
+"     |E<lt>------- relative deadline ------E<gt>|\n"
+"     |E<lt>-------------- period -------------------E<gt>|\n"
 
 #. type: Plain text
 #: build/C/man7/sched.7:258
@@ -5351,6 +5328,14 @@ msgid ""
 "     |E<lt>----------- Deadline -----------E<gt>|\n"
 "     |E<lt>-------------- Period -------------------E<gt>|\n"
 msgstr ""
+"arrival/wakeup                    absolute deadline\n"
+"     |    start time                    |\n"
+"     |        |                         |\n"
+"     v        v                         v\n"
+"-----x--------xooooooooooooooooo--------x--------x---\n"
+"              |E<lt>-- Runtime -------E<gt>|\n"
+"     |E<lt>----------- Deadline -----------E<gt>|\n"
+"     |E<lt>-------------- Period -------------------E<gt>|\n"
 
 #.  FIXME It looks as though specifying sched_period as 0 means
 #.        "make sched_period the same as sched_deadline".
@@ -5363,18 +5348,18 @@ msgid ""
 "structure; see B<sched_setattr>(2).  These fields express value in "
 "nanoseconds.  If I<sched_period> is specified as 0, then it is made the same "
 "as I<sched_deadline>."
-msgstr ""
+msgstr "3 角デッドラインスケジューリングパラメーターは I<sched_attr> 構造体の I<sched_runtime>, I<sched_deadline>, I<sched_period> フィールドに対応する。 これらのフィールドはナノ秒単位の値である。 I<sched_period> に 0 が指定された場合 I<sched_deadline> と同じ値になる。"
 
 #. type: Plain text
 #: build/C/man7/sched.7:291
 msgid "The kernel requires that:"
-msgstr ""
+msgstr "カーネルでは以下の関係が成り立つことが求められる。"
 
 #. type: Plain text
 #: build/C/man7/sched.7:293
 #, no-wrap
 msgid "    sched_runtime E<lt>= sched_deadline E<lt>= sched_period\n"
-msgstr ""
+msgstr "    sched_runtime E<lt>= sched_deadline E<lt>= sched_period\n"
 
 #.  See __checkparam_dl in kernel/sched/core.c
 #. type: Plain text
@@ -5549,27 +5534,21 @@ msgid ""
 "Each thread has a reset-on-fork scheduling flag.  When this flag is set, "
 "children created by B<fork>(2)  do not inherit privileged scheduling "
 "policies.  The reset-on-fork flag can be set by either:"
-msgstr ""
+msgstr "各スレッドには reset-on-fork スケジューリングフラグがある。 このフラグがセットされると、 B<fork>(2) で作成される子プロセスは特権スケジューリングポリシーを継承しない。 reset-on-fork フラグは以下のいずれかの方法でセットできる。"
 
 #. type: Plain text
 #: build/C/man7/sched.7:421
-#, fuzzy
-#| msgid ""
-#| "The B<SCHED_RESET_ON_FORK> flag is visible in the policy value returned "
-#| "by B<sched_getscheduler>()"
 msgid ""
 "ORing the B<SCHED_RESET_ON_FORK> flag into the I<policy> argument when "
 "calling B<sched_setscheduler>(2)  (since Linux 2.6.32); or"
-msgstr ""
-"B<SCHED_RESET_ON_FORK> フラグは、 B<sched_getscheduler>() が返すポリシー値で"
-"参照できる。"
+msgstr "B<sched_setscheduler>(2) を呼び出す際に B<SCHED_RESET_ON_FORK> フラグを I<policy> 引き数に論理和で指定する (Linux 2.6.32 以降)。"
 
 #. type: Plain text
 #: build/C/man7/sched.7:428
 msgid ""
 "specifying the B<SCHED_FLAG_RESET_ON_FORK> flag in I<attr.sched_flags> when "
 "calling B<sched_setattr>(2)."
-msgstr ""
+msgstr "B<sched_setattr>(2) を呼び出し際に I<attr.sched_flags> に B<SCHED_FLAG_RESET_ON_FORK> フラグを指定する。"
 
 #. type: Plain text
 #: build/C/man7/sched.7:434
@@ -5577,7 +5556,7 @@ msgid ""
 "Note that the constants used with these two APIs have different names.  The "
 "state of the reset-on-fork flag can analogously be retrieved using "
 "B<sched_getscheduler>(2)  and B<sched_getattr>(2)."
-msgstr ""
+msgstr "これらの 2 つの API で使用される定数は名前が違っている点に注意すること。 同様に reset-on-fork フラグの状態は B<sched_getscheduler>(2) と B<sched_getattr>(2) を使って取得できる。"
 
 #. type: Plain text
 #: build/C/man7/sched.7:441
@@ -5585,7 +5564,7 @@ msgid ""
 "The reset-on-fork feature is intended for media-playback applications, and "
 "can be used to prevent applications evading the B<RLIMIT_RTTIME> resource "
 "limit (see B<getrlimit>(2))  by creating multiple child processes."
-msgstr ""
+msgstr "reset-on-fork 機能はメディア再生アプリケーションでの利用を意図したものである。 複数の子プロセスを作成することで、 アプリケーションは B<RLIMIT_RTTIME> リソース上限 (B<getrlimit>(2) を参照) を避けることができる。"
 
 #. type: Plain text
 #: build/C/man7/sched.7:444
@@ -5654,7 +5633,7 @@ msgstr ""
 msgid ""
 "A thread must be privileged (B<CAP_SYS_NICE>)  in order to set or modify a "
 "B<SCHED_DEADLINE> policy."
-msgstr ""
+msgstr "B<SCHED_DEADLINE> ポリシーを設定、変更するには、スレッドが特権 (B<CAP_SYS_NICE>) を持っていなければならない。"
 
 #. type: Plain text
 #: build/C/man7/sched.7:491
@@ -5739,19 +5718,10 @@ msgstr ""
 #: build/C/man7/sched.7:539
 #, no-wrap
 msgid "Limiting the CPU usage of real-time and deadline processes"
-msgstr ""
+msgstr "リアルタイムプロセスとデッドラインプロセスの CPU 使用量を制限する"
 
 #. type: Plain text
 #: build/C/man7/sched.7:552
-#, fuzzy
-#| msgid ""
-#| "Since a nonblocking infinite loop in a thread scheduled under "
-#| "B<SCHED_FIFO> or B<SCHED_RR> will block all threads with lower priority "
-#| "forever, a software developer should always keep available on the console "
-#| "a shell scheduled under a higher static priority than the tested "
-#| "application.  This will allow an emergency kill of tested real-time "
-#| "applications that do not block or terminate as expected.  See also the "
-#| "description of the B<RLIMIT_RTTIME> resource limit in B<getrlimit>(2)."
 msgid ""
 "A nonblocking infinite loop in a thread scheduled under the B<SCHED_FIFO>, "
 "B<SCHED_RR>, or B<SCHED_DEADLINE> policy will block all threads with lower "
@@ -5760,14 +5730,7 @@ msgid ""
 "console)  a shell scheduled under a higher static priority than the tested "
 "application.  This allows an emergency kill of tested real-time applications "
 "that do not block or terminate as expected."
-msgstr ""
-"B<SCHED_FIFO> や B<SCHED_RR> でスケジューリングされる スレッドが停止せずに無"
-"限ループに陥ると、 他の全てのより低い優先度のスレッドを永久に停止 (block) さ"
-"せてしまうので、 ソフトウェア開発者はコンソールのシェルの静的優先度をテストす"
-"る アプリケーションよりも常に高く保つべきである。 これによって期待通りに停止"
-"したり終了したりしないリアルタイム アプリケーションを緊急終了させることが可能"
-"になる。 B<getrlimit>(2)  のリソース制限 B<RLIMIT_RTTIME> の説明も参照のこ"
-"と。"
+msgstr "B<SCHED_FIFO>, B<SCHED_RR>, B<SCHED_DEADLINE> でスケジューリングされる スレッドが停止せずに無限ループに陥ると、 他の全てのより低い優先度のスレッドを永久に停止 (block) させてしまう。 Linux 2.6.25 より前では、 リアルタイムプロセスが暴走してしまい、システムが止まってしまうのを防止する唯一の方法は、 (コンソールで) シェルをテスト対象のアプリケーションよりも高い静的優先度で実行することだけであった。 これによって期待通りに停止したり終了したりしないリアルタイム アプリケーションを緊急終了させることが可能になる。"
 
 #. type: Plain text
 #: build/C/man7/sched.7:562
@@ -5776,7 +5739,7 @@ msgid ""
 "time and deadline processes.  One of these is to use the B<RLIMIT_RTTIME> "
 "resource limit to set a ceiling on the CPU time that a real-time process may "
 "consume.  See B<getrlimit>(2)  for details."
-msgstr ""
+msgstr "Linux 2.6.25 以降では、 暴走したリアルタイムプロセスやデッドラインプロセスを扱う別の方法が提供されている。 一つは B<RLIMIT_RTTIME> リソース上限を使ってリアルタイムプロセスが消費できる CPU 時間の上限を設定する方法である。 詳細は B<getrlimit>(2) を参照。"
 
 #. type: Plain text
 #: build/C/man7/sched.7:570
@@ -5786,13 +5749,13 @@ msgid ""
 "processes.  Reserving some CPU time in this fashion allows some CPU time to "
 "be allocated to (say) a root shell that can be used to kill a runaway "
 "process.  Both of these files specify time values in microseconds:"
-msgstr ""
+msgstr "Linux 2.6.25 以降では、 2 つの I</proc> ファイルを使って、リアルタイムでないプロセスが使用できる CPU 時間を一定量予約することができる。 この方法で CPU 時間をいくらか予約しておくことで、 CPU 時間が (例えば) root シェルに割り当てられ、このシェルから暴走したプロセスを殺すことができる。 これらのファイルでは両方ともマイクロ秒で時間を指定する。"
 
 #. type: TP
 #: build/C/man7/sched.7:570
 #, no-wrap
 msgid "I</proc/sys/kernel/sched_rt_period_us>"
-msgstr ""
+msgstr "I</proc/sys/kernel/sched_rt_period_us>"
 
 #. type: Plain text
 #: build/C/man7/sched.7:578
@@ -5801,13 +5764,13 @@ msgid ""
 "bandwidth.  The value in this file can range from 1 to B<INT_MAX>, giving an "
 "operating range of 1 microsecond to around 35 minutes.  The default value in "
 "this file is 1,000,000 (1 second)."
-msgstr ""
+msgstr "このファイルは、 CPU 時間 100% にあたるスケジューリング間隔を指定する。 このファイルの値として 1 から B<INT_MAX> を指定できる。 この値は実際の時間としては 1 マイクロ秒から約 35 分に相当する。 このファイルのデフォルト値は 1,000,000 (1 秒) である。"
 
 #. type: TP
 #: build/C/man7/sched.7:578
 #, no-wrap
 msgid "I</proc/sys/kernel/sched_rt_runtime_us>"
-msgstr ""
+msgstr "I</proc/sys/kernel/sched_rt_runtime_us>"
 
 #. type: Plain text
 #: build/C/man7/sched.7:591
@@ -5820,7 +5783,7 @@ msgid ""
 "The default value in this file is 950,000 (0.95 seconds), meaning that 5% of "
 "the CPU time is reserved for processes that don't run under a real-time or "
 "deadline scheduling policy."
-msgstr ""
+msgstr "このファイルの値は、 システム上のリアルタイムスケジューリングやデッドラインスケジューリングの全プロセスが使用できる「期間」を指定する。 このファイルの値として -1 から B<INT_MAX>-1 を指定できる。 -1 を指定すると、実行時間 (runtime) はスケジューリング間隔 (period) と同じになる。 つまり、 CPU 時間はリアルタイムでないプロセスには確保されない (カーネル 2.6.25 より前の Linux の動作である)。 このファイルのデフォルト値は 950,000 (0.95 秒) である。 これは CPU 時間の 5% がリアルタイムやデッドラインスケジューリングポリシー以外で動作するプロセスに確保されるという意味する。"
 
 #. type: SS
 #: build/C/man7/sched.7:592
@@ -6000,7 +5963,7 @@ msgid ""
 "The Linux kernel source files I<Documentation/scheduler/sched-deadline.txt>, "
 "I<Documentation/scheduler/sched-rt-group.txt>, I<Documentation/scheduler/"
 "sched-design-CFS.txt>, and I<Documentation/scheduler/sched-nice-design.txt>"
-msgstr ""
+msgstr "Linux カーネルソースのファイル I<Documentation/scheduler/sched-deadline.txt>, I<Documentation/scheduler/sched-rt-group.txt>, I<Documentation/scheduler/sched-design-CFS.txt>, I<Documentation/scheduler/sched-nice-design.txt>"
 
 #. type: TH
 #: build/C/man2/setns.2:8
@@ -7048,9 +7011,6 @@ msgstr ""
 msgid "I<Documentation/unshare.txt> in the Linux kernel source tree"
 msgstr "Linux カーネルソース内の I<Documentation/unshare.txt>"
 
-#~ msgid "2014-08-19"
-#~ msgstr "2014-08-19"
-
 #~ msgid ""
 #~ "Use of this flag requires: a kernel configured with the B<CONFIG_SYSVIPC> "
 #~ "and B<CONFIG_IPC_NS> options and that the process be privileged "
@@ -7180,18 +7140,6 @@ msgstr "Linux カーネルソース内の I<Documentation/unshare.txt>"
 #~ msgid "The raw system call interface"
 #~ msgstr "素のシステムコールのインターフェース"
 
-#~ msgid "2014-05-13"
-#~ msgstr "2014-05-13"
-
-#~ msgid "2013-01-01"
-#~ msgstr "2013-01-01"
-
-#~ msgid "B<CLONE_NEWIPC>"
-#~ msgstr "B<CLONE_NEWIPC>"
-
-#~ msgid "B<CLONE_NEWNET>"
-#~ msgstr "B<CLONE_NEWNET>"
-
 #~ msgid ""
 #~ "The calling thread did not have the required privilege "
 #~ "(B<CAP_SYS_ADMIN>)  for this operation."
@@ -7199,24 +7147,6 @@ msgstr "Linux カーネルソース内の I<Documentation/unshare.txt>"
 #~ "呼び出したスレッドがこの操作を行うのに必要な特権 (B<CAP_SYS_ADMIN>) を\n"
 #~ "持っていなかった。"
 
-#~ msgid "2013-04-17"
-#~ msgstr "2013-04-17"
-
-#~ msgid "2014-02-27"
-#~ msgstr "2014-02-27"
-
-#~ msgid "2013-09-23"
-#~ msgstr "2013-09-23"
-
-#~ msgid "B<getcpu>(2)"
-#~ msgstr "B<getcpu>(2)"
-
-#~ msgid "2013-03-18"
-#~ msgstr "2013-03-18"
-
-#~ msgid "2013-09-17"
-#~ msgstr "2013-09-17"
-
 #~ msgid ""
 #~ "B<sched_setscheduler>()  sets both the scheduling policy and the "
 #~ "associated parameters for the thread whose ID is specified in I<pid>.  If "
@@ -7248,29 +7178,14 @@ msgstr "Linux カーネルソース内の I<Documentation/unshare.txt>"
 #~ msgstr ""
 #~ "Linux カーネルソースファイル I<Documentation/scheduler/sched-rt-group.txt>"
 
-#~ msgid "2008-10-18"
-#~ msgstr "2008-10-18"
-
 #~ msgid "B<sched_setscheduler>(2)  for a description of Linux scheduling"
 #~ msgstr ""
 #~ "Linux のスケージュリング (scheduling) については B<sched_setscheduler>(2) "
 #~ "を参照。"
 
-#~ msgid "2013-04-16"
-#~ msgstr "2013-04-16"
-
 #~ msgid "Create a child that executes in a separate UTS namespace"
 #~ msgstr "別の UTS 名前空間で動作する子プロセスを作成する"
 
-#~ msgid "2013-01-27"
-#~ msgstr "2013-01-27"
-
-#~ msgid "2006-03-23"
-#~ msgstr "2006-03-23"
-
-#~ msgid "2013-02-11"
-#~ msgstr "2013-02-11"
-
 #~ msgid ""
 #~ "B<clone>()  creates a new process, in a manner similar to B<fork>(2).  It "
 #~ "is actually a library function layered on top of the underlying "
index 7b4e446..53ff52c 100644 (file)
@@ -1,4 +1,2 @@
 # pagename,#complete,#remaining,#all
-sched_setattr.2,50,41,91
-sched_setscheduler.2,52,6,58
-sched.7,87,46,133
+sched.7,122,11,133
index 224641f..18e124e 100644 (file)
@@ -72,9 +72,7 @@
 <TR><TD>cpuset.7</TD><TD>212/314</TD><TD>32.48</TD></TR>
 <TR><TD>user_namespaces.7</TD><TD>75/168</TD><TD>55.36</TD></TR>
 <TR><TD ALIGN="center" COLSPAN=3 BGCOLOR="Yellow"><B>sched</B></TD></TR>
-<TR><TD>sched_setattr.2</TD><TD>41/91</TD><TD>54.95</TD></TR>
-<TR class="over80"><TD>sched_setscheduler.2</TD><TD>6/58</TD><TD>89.66</TD></TR>
-<TR><TD>sched.7</TD><TD>46/133</TD><TD>65.41</TD></TR>
+<TR class="over80"><TD>sched.7</TD><TD>11/133</TD><TD>91.73</TD></TR>
 <TR><TD ALIGN="center" COLSPAN=3 BGCOLOR="Yellow"><B>signal</B></TD></TR>
 <TR class="over80"><TD>prctl.2</TD><TD>12/199</TD><TD>93.97</TD></TR>
 <TR class="over70"><TD>restart_syscall.2</TD><TD>8/28</TD><TD>71.43</TD></TR>
 <TR class="over80"><TD>zdump.8</TD><TD>1/22</TD><TD>95.45</TD></TR>
 <TR><TD ALIGN="center" COLSPAN=3 BGCOLOR="Yellow"><B>unistd</B></TD></TR>
 <TR class="over80"><TD>fcntl.2</TD><TD>46/241</TD><TD>80.91</TD></TR>
-<TR><TD COLSPAN=3>Total 79 pages</TD></TR>
+<TR><TD COLSPAN=3>Total 77 pages</TD></TR>
 </TABLE>
 </BODY></HTML>