名 前
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 シ ス テ ム で 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 を 書 き 込 む と 、 時 間 量 を デ フ ォ ル ト 値 に 戻 す こ と が で き る 。
関 連 項 目
こ の 文 書 に つ い て
こ の man ペ ー ジ は Linux man−pages プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。