小野寛生です。

いくつか質問です。

(1) ディスクI/O を毎秒一定の値以下に抑える方法はありませんでしょうか。
  ちょっと調べたのですがわかりませんでした。

(2) geom_sched の仕組みを使えばできるかもと思って geom_sched のアルゴリズム
  のモジュールをおよそ次のような感じで実装してみたのですが、gstat で見ると
  read は制限されるものの linear な感じではなく、write は全然効いていないぽいです。

  src/sys/geom/sched/gs_scheduler.h に実装しろと書かれている関数のうち、

  gs_start() で渡された bio を queue に入れ、

  gs_done() で bio->bio_bcount を積算し、

  gs_next() で積算した値が一定値以下なら bio を queue から返す。

  あとは gs_init() でタイマーを設定し、一定時間ごとに積算している
  カウンタ変数を 0 にする。

  /usr/include/sys/bio.h の struct bio の説明では bio_bcount は
  "valid bytes in buffer" となっていますが、この値の単位は bytes で合っている
  でしょうか。
  また、読み書きされる量は上記のように bio_counts を見るのでいいのでしょうか。

すみませんが、よろしくお願いします。
_______________________________________________
freebsd-users-jp@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-users-jp
To unsubscribe, send any mail to "freebsd-users-jp-unsubscr...@freebsd.org"

メールによる返信