OSDN Git Service

Update README
[linuxjm/LDP_man-pages.git] / release / man2 / ioprio_set.2
index 01307fc..7bbb370 100644 (file)
@@ -1,7 +1,6 @@
-.\" 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 書式
@@ -35,21 +41,27 @@ ioprio_get, ioprio_set \- I/O スケジューリングクラスと優先度の
 \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
-\fIwho\fP はユーザID であり、実 UID に一致する全プロセスが対象となる。
+.\" FIXME . Need to document the behavior when 'who" is specified as 0
+.\" 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
 が指定され、 \fIwho\fP に一致するプロセスが複数あった場合、 一致するプロセス全体の中で最も高い優先度が返される。
@@ -74,7 +86,7 @@ ioprio_get, ioprio_set \- I/O スケジューリングクラスと優先度の
 スケジューリングクラスと優先度に関する詳しい情報は、 「備考」の節を参照のこと。
 
 I/O 優先度は読み出しと同期書き込み (\fBO_DIRECT\fP, \fBO_SYNC\fP)  に対応している。 I/O
-優先度は非同期書き込みには対応していない。なぜなら、 非同期書き込みはメモリ書き換えを行うプログラムの動作 (context) とは
+優先度は非同期書き込みには対応していない。なぜなら、 非同期書き込みはメモリ書き換えを行うプログラムの動作 (context) とは
 関係なく発行され、そのためプログラム単位の優先度は適用されないから である。
 .SH 返り値
 成功すると、 \fBioprio_get\fP()  は、 \fIwhich\fP と \fIwho\fP で指定された基準に合致した全プロセスで最も高い I/O
@@ -100,6 +112,11 @@ I/O 優先度は読み出しと同期書き込み (\fBO_DIRECT\fP, \fBO_SYNC\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 スケジューラの選択"
@@ -141,11 +158,10 @@ I/O クラスのプロセスにより システム全体のディスクアクセ
 将来的には、優先度レベルは、希望するデータレートを渡すなど、 より直接的に性能条件を反映できるように変更されるかもしれない。
 .TP 
 \fBIOPRIO_CLASS_BE\fP (2)
-これは ベストエフォート・スケジューリングクラスである。 このクラスは、特定の I/O 優先度を設定していないプロセスの デフォルト値である。
-class data (優先度レベル) により、そのプロセスがどの程度の I/O 帯域を得られるかが決定される。
-ベストエフォート・優先度レベルは、CPU の nice 値 (\fBgetpriority\fP(2)  参照) と同様のものである。
-優先度レベルは、ベストエフォート・スケジューリングクラスの中で 他のプロセスとの相対的な優先度を決定する。 優先度レベルの値の範囲は 0 (最高) から
-7 (最低) である。
+これは ベストエフォートスケジューリングクラスである。 このクラスは、特定の I/O 優先度を設定していないプロセスの デフォルト値である。 class
+data (優先度レベル) により、そのプロセスがどの程度の I/O 帯域を得られるかが決定される。 ベストエフォート優先度レベルは、CPU の
+nice 値 (\fBgetpriority\fP(2)  参照) と同様のものである。 優先度レベルは、ベストエフォートスケジューリングクラスの中で
+他のプロセスとの相対的な優先度を決定する。 優先度レベルの値の範囲は 0 (最高) から 7 (最低) である。
 .TP 
 \fBIOPRIO_CLASS_IDLE\fP (3)
 これは idle スケジューリングクラスである。 このレベルで動作するプロセスは他にディスクアクセスをしようとする プロセスがない場合にのみ I/O
@@ -172,9 +188,13 @@ CFQ I/O スケジューラの更なる情報とサンプルプログラムにつ
 .\" http://sources.redhat.com/bugzilla/show_bug.cgi?id=4464
 .\" Ulrich Drepper replied that he wasn't going to add these
 .\" to glibc.
-glibc は、このページに記載された関数プロトタイプやマクロを定義する 適切なヘッダファイルをまだ提供していない。 必要な定義については
+glibc ã\81¯ã\80\81ã\81\93ã\81®ã\83\9aã\83¼ã\82¸ã\81«è¨\98è¼\89ã\81\95ã\82\8cã\81\9fé\96¢æ\95°ã\83\97ã\83­ã\83\88ã\82¿ã\82¤ã\83\97ã\82\84ã\83\9eã\82¯ã\83­ã\82\92å®\9a義ã\81\99ã\82\8b é\81©å\88\87ã\81ªã\83\98ã\83\83ã\83\80ã\83¼ã\83\95ã\82¡ã\82¤ã\83«ã\82\92ã\81¾ã\81 æ\8f\90ä¾\9bã\81\97ã\81¦ã\81\84ã\81ªã\81\84ã\80\82 å¿\85è¦\81ã\81ªå®\9a義ã\81«ã\81¤ã\81\84ã\81¦ã\81¯
 \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.79 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。