SCHED_RR_GET_INTERVAL

Section: Linux Programmer's Manual (2)
Updated: 2017-09-15
Index JM Home Page roff page
 

名前

sched_rr_get_interval - 指定されたプロセスの SCHED_RR 間隔を取得する  

書式

#include <sched.h>


 int sched_rr_get_interval(pid_t pid, struct timespec *tp);  

説明

sched_rr_get_interval() は tp で指定された timespec 構造体に pid で指定されたプロセスのラウンドロビン時間量 (round robin time quantum) を書き込む。指定されたプロセスは SCHED_RR スケジューリング ポリシーで動作しているはずである。

timespec 構造体は以下の通りである:

struct timespec {
    time_t tv_sec;    /* seconds */
    long   tv_nsec;   /* nanoseconds */ };

pid が 0 の場合、呼び出したプロセスの時間量 (time quantum) が *tp に書き込まれる。  

返り値

成功した場合は sched_rr_get_interval() は 0 を返す。 エラーの場合は -1 が返され、 errno が適切に設定される。  

エラー

EFAULT
情報をユーザー空間にコピーする時に問題が起きた。
EINVAL
PID が不正である。
ENOSYS
システムコールがまだ実装されていない (かなり古いカーネルにおいてのみ)。
ESRCH
プロセス ID が pid のプロセスが見つからなかった。
 

準拠


 POSIX.1-2001, POSIX.1-2008.  

注意

POSIX システムで sched_rr_get_interval() は <unistd.h>_POSIX_PRIORITY_SCHEDULING が定義されている場合にのみ使用可能である。  

Linux での注意

POSIX ではラウンドロビン時間量の大きさを制御する仕組みが規定されていない。 古い Linux カーネルではこれを変更する方法が提供されている (この方法に移植性はない)。 プロセスの nice 値を調整することで時間量を制御できる (setpriority(2) 参照)。 負の nice 値 (すなわち、高い nice 値) を割り当てると時間量は長くなり、 正の nice 値 (すなわち、低い nice 値) を割り当てると時間量は短くなる。 デフォルトの時間量は 0.1 秒である。 nice 値の変更が時間量にどの程度影響を与えるかは カーネルのバージョンにより多少異なる。時間量を調整するこのメソッドは Linux 2.6.24 以降で削除された。

Linux 3.9 で、 SCHED_RR の時間量の調整 (と参照) を行う新しい機構が追加された。 /proc/sys/kernel/sched_rr_timeslice_ms ファイルでミリ秒単位の時間量の値が参照でき、 デフォルト値は 100 である。 このファイルに 0 を書き込むと、 時間量をデフォルト値に戻すことができる。  

関連項目

sched(7)  

この文書について

この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。


 

Index

名前
書式
説明
返り値
エラー
準拠
注意
Linux での注意
関連項目
この文書について

This document was created by man2html, using the manual pages.
Time: 03:33:33 GMT, December 05, 2022