-.\" This is _*_ nroff _*_ source. Emacs, gimme all those colors :)
-.\"
.\" Copyright (c) International Business Machines orp., 2006
.\"
+.\" %%%LICENSE_START(GPLv2+_SW_3_PARA)
.\" This program is free software; 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
.\" 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 program; if not, write to the Free Software
-.\" Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-.\" MA 02111-1307 USA
+.\" 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
.\"
.\" HISTORY:
.\" 2006-04-27, created by Eduardo M. Fleury <efleury@br.ibm.com>
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
-.TH IOPRIO_SET 2 2008\-07\-09 Linux "Linux Programmer's Manual"
+.\"
+.\" Japanese Version Copyright (c) 2007 Akihiro MOTOKI
+.\" all rights reserved.
+.\" Translated 2007-01-09, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v2.43
+.\" Updated 2008-08-06, Akihiro MOTOKI, LDP v3.05
+.\" Updated 2013-05-06, Akihiro MOTOKI <amotoki@gmail.com>
+.\"
+.TH IOPRIO_SET 2 2013\-02\-12 Linux "Linux Programmer's Manual"
.SH 名前
ioprio_get, ioprio_set \- I/O スケジューリングクラスと優先度の設定/取得
.SH 書式
\fBint ioprio_get(int \fP\fIwhich\fP\fB, int \fP\fIwho\fP\fB);\fP
\fBint ioprio_set(int \fP\fIwhich\fP\fB, int \fP\fIwho\fP\fB, int \fP\fIioprio\fP\fB);\fP
.fi
+
+\fI注意\fP: これらのシステムコールには glibc ラッパー関数は存在しない。 「注意」の節を参照。
.SH 説明
-ã\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83« \fBioprio_get\fP() / \fBioprio_set\fP() ã\81¯ã\80\81(1ã\81¤ä»¥ä¸\8aã\81®) ã\83\97ã\83ã\82»ã\82¹の I/O スケジューリングクラスと
+ã\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83« \fBioprio_get\fP() / \fBioprio_set\fP() ã\81¯ã\80\81(1ã\81¤ä»¥ä¸\8aã\81®) ã\82¹ã\83¬ã\83\83ã\83\89の I/O スケジューリングクラスと
優先度の取得/設定を行う。
-\fIwhich\fP ã\81¨ \fIwho\fP å¼\95ã\81\8dæ\95°ã\81§ã\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83«ã\81®æ\93\8dä½\9c対象ã\81¨ã\81ªã\82\8bã\83\97ã\83ã\82»ã\82¹を指示する。 \fIwhich\fP 引き数は、 \fIwho\fP
+\fIwhich\fP ã\81¨ \fIwho\fP å¼\95ã\81\8dæ\95°ã\81§ã\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83«ã\81®æ\93\8dä½\9c対象ã\81¨ã\81ªã\82\8bã\82¹ã\83¬ã\83\83ã\83\89を指示する。 \fIwhich\fP 引き数は、 \fIwho\fP
をどのように解釈するかを決めるもので、以下のいずれか一つを指定する。
.TP
\fBIOPRIO_WHO_PROCESS\fP
-\fIwho\fP はプロセスID であり、指定された 1 プロセスが対象となる。
+\fIwho\fP は特定のプロセスやスレッドを特定するためのプロセス ID かスレッド ID である。 \fIwho\fP が 0
+の場合、呼び出し元のスレッドに対して操作が行われる。
.TP
\fBIOPRIO_WHO_PGRP\fP
-\fIwho\fP はプロセスグループID であり、プロセスグループの全メンバが対象となる。
+\fIwho\fP はプロセスグループ ID であり、プロセスグループの全メンバが対象となる。 \fIwho\fP が 0 の場合、
+呼び出し元がメンバーとなっているプロセスグループに対して操作が行われる。
.TP
\fBIOPRIO_WHO_USER\fP
+.\" FIXME who==0 needs to be documented,
+.\" See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=652443
\fIwho\fP はユーザID であり、実 UID に一致する全プロセスが対象となる。
.PP
\fBioprio_get\fP() の呼び出し時に \fIwhich\fP に \fBIOPRIO_WHO_PGRP\fP か \fBIOPRIO_WHO_USER\fP
.SH 注意
glibc はこれらのシステムコールに対するラッパー関数を提供していない。 \fBsyscall\fP(2) を使って呼び出すこと。
+複数のプロセスやスレッドが一つの I/O コンテキストを共有する場合がある。 \fBclone\fP(2) を \fBCLONE_IO\fP
+フラグ付きで呼び出した場合にはこの状況となる。 しかしながら、デフォルトでは、一つのプロセスの個々のスレッドは I/O コンテキストを共有「しない」。
+したがって、 プロセス内のすべてのスレッドの I/O 優先度を変更したい場合には、 それぞれのスレッドに対して \fBioprio_set\fP()
+を呼び出す必要がある。 この操作を行うのに必要となるスレッド ID には \fBgettid\fP(2) か \fBclone\fP(2) が返す値を指定する。
+
これらのシステムコールは、I/O 優先度に対応した I/O スケジューラと 組み合わせて使用された場合にのみ効果を持つ。 カーネル 2.6.17
では、この条件を満たすスケジューラは Completely Fair Queuing (CFQ) I/O スケジューラだけである。
.SS "I/O スケジューラの選択"
glibc は、このページに記載された関数プロトタイプやマクロを定義する 適切なヘッダファイルをまだ提供していない。 必要な定義については
\fIlinux/ioprio.h\fP を見ればよい。
.SH 関連項目
-\fBgetpriority\fP(2), \fBopen\fP(2), \fBcapabilities\fP(7)
-.sp
-カーネルソース内の Documentation/block/ioprio.txt
+\fBionice\fP(1), \fBgetpriority\fP(2), \fBopen\fP(2), \fBcapabilities\fP(7)
+
+Linux カーネルソース内の \fIDocumentation/block/ioprio.txt\fP
.SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.40 の一部
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.67 の一部
である。プロジェクトの説明とバグ報告に関する情報は
http://www.kernel.org/doc/man\-pages/ に書かれている。