差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン | |||
linux:kernel:cgroup:sane_behaviorオプション [2013/04/16 12:21] – tenforward | linux:kernel:cgroup:sane_behaviorオプション [2013/08/19 11:38] (現在) – tenforward | ||
---|---|---|---|
行 1: | 行 1: | ||
====== cgroup の sane_behavior マウントオプション ====== | ====== cgroup の sane_behavior マウントオプション ====== | ||
- | * http://lwn.net/ | + | 3.10 で導入. |
- | * メモレベルの訳なので全くアテになりません.たまたまここを訪れた人は原文を参照ください. | + | |
- | < | + | -[[http:// |
- | carrying so many idiosyncrasies and pure insanities that it simply | + | |
- | isn't possible to reach any sort of sane consistent behavior while | + | |
- | staying compatible with what already has been exposed to userland. | + | |
- | 様々な cgroup コントローラが,多数の特異性と純粋な狂気を持っているため, | + | 適当に訳してみた. |
- | ユーザランドに既に提供しているものとの互換性を保っている一方で,簡単に | + | |
- | ある種の健全な一貫性のある振るまいに到達することができないという事は, | + | |
- | 悲しい事である. | + | |
+ | 現時点で,様々な cgroup コントローラが,多数の特異性と全くの狂気を持っており,既にユーザランドに提供しているものと完全な互換性を保ちながらメンテナンスを行う一方で,健全な一貫性のある動きに到達するのは絶対に不可能であるというのは悲しい事実である. | ||
- | To make progress, those behaviors need to go but we can't simply drop | + | ユーザランドに対するインターフェースを壊さずに,健全な動きへ移行することは後方互換性を維持しつつ段階的に行うことしかできない.このパッチは新しいマウントオプション __DEVEL__sane_behavior を導入するものである.これは変な機能を無効にし,cgroup コアと様々なコントローラに一貫性のある動きを強制する.正確な動きは,変更がまだ確定している所なので,現在のところ,このマウントオプションは新しい動きの開発にのみ訳にたつものである.このように,マウントオプションが __DEVEL__ でプレフィックスされ,使う時もワーニングメッセージが生成される. |
- | or change the crazies as those are directly visible to userland. | + | |
- | patchset implements a mount option - sane_behavior - which turns on | + | |
- | new saner behaviors, so that we can keep providing the old behaviors | + | |
- | while and after transitioning to saner ones. | + | |
- | 進歩をとげるため,これらの振るまいは継続する必要があるが,単純になくし | + | 最終的には,全てのコントローラの動きが,統一的な階層構造を実装するのに十分な一貫性をもった時点で,__DEVEL__ プレフィックスは削除され,より重要な事だが,統一した階層構造はデフォルトで sane_behavior を強制されることになる.おそらく,しばらくしたら,馬鹿げたモノを完全に排除できるかもしれないし,できないかもしれないが,少なくとも健全な動きへ向かうための戦略を持つことはできるだろう. |
- | たり,ユーザランドから直接見えるように奇妙な点を変更したりすることはで | + | |
- | きない.このパッチセットは sane_behavior というマウントオプションを実 | + | |
- | 装した.これは,より健全な状態に移行している間も後も,既に提供している | + | |
- | 古い振るまいを保持できるようにしながら,新しいより健全な振るまいにする | + | |
- | ものである. | + | |
+ | このパッチはマウントオプションを導入し,cgroup コアの以下の動きを変更する. | ||
- | As the behaviors which should be changed are still being determined | + | * マウントオプション " |
- | and then implemented, | + | * 存在するスーパーブロックをマウントした時,マウントオプションが一致しなければならない.これは現時点では少し馬鹿げている.もし cgroup がマウントされ,サブディレクトリが作成され,アンマウントされ,それから再度違うオプションでマウントされた場合,新しいオプションが適用されたように見えるが,実際は適用されていない. |
- | and it triggers a warning message when used. | + | * remount は許可されない. |
- | 変更すべき振るまいが定義され,実装されている間,__DEVEL__ プレフィック | + | 動きの変更点は CGRP_ROOT_SANE_BEHAVIOR enum の上の部分に記載してある.そして,異なるコントローラが変換され,改良の進展が計画された時に,記載が追加されるだろう. |
- | スをマウントオプションに追加し,使用時に警告メッセージを表示する. | + | |
- | |||
- | The mount option changes the following behaviors after this patchset. | ||
- | |||
- | このパッチセットのあと,マウントオプションにより,以下のように動作が変化する. | ||
- | |||
- | * Mount options " | ||
- | cgroupfs file cgroup.clone_children is not created. | ||
- | |||
- | * " | ||
- | cgroupfs のファイルである cgroup.clone_children ファイルも作製されな | ||
- | い. | ||
- | |||
- | * When mounting an existing superblock, mount options should match. | ||
- | This is currently pretty crazy. | ||
- | subdirectory, | ||
- | option, it looks like the new options are applied but they aren' | ||
- | |||
- | * 既に存在するスーパーブロックをマウントする際,マウントオプションが一 | ||
- | 致している必要がある.これは現時点では少し変である.もし cgroup をマ | ||
- | ウントし,サブディレクトリを作製し,それをアンマウントし,それから異 | ||
- | なるオプションで再度マウントを行う場合は,新しいオプションが適用され | ||
- | るように思えるが,そうはなっていない. | ||
- | |||
- | * Remount is disallowed. | ||
- | |||
- | * リマウントは許可されない. | ||
- | |||
- | * memcg: .use_hierarchy is forced on and the cgroupfs file is not | ||
- | created. | ||
- | |||
- | * memcg: .use_hierarchy が強制され,cgroupfs ファイルは作製されない. | ||
- | |||
- | and there are a lot more to come. Basically, when turned on, all | ||
- | controllers should be ready to be mounted in the same hierarchy and | ||
- | not get in the way unless specifically configured - making blk-throtl | ||
- | hierarchical would need this to flip the meaning of limits, cpuset to | ||
- | allow tasks to run by default in new cgroups and handle empty cpusets | ||
- | in a way friendly to being co-mounted, and so on. | ||
- | |||
- | さらに他の変更点が今後生じる.基本的に,このオプションを指定した場合, | ||
- | 特別に設定されている場合を除いて,全てのコントローラは同じ階層にマウン | ||
- | トし,それを邪魔しないようにする準備をしなければならない.blk スロット | ||
- | ルを階層構造にするには,制限の意味を変える必要があるし,cpuset はデフォ | ||
- | ルトで新規 cgroup でタスクが実行できなければならず,共同でマウントする | ||
- | のことの助けになる方法で空の cpuset を扱えるようにしなければならない, | ||
- | など. | ||
- | |||
- | |||
- | This patchset contains the following four patches. | ||
- | |||
- | | ||
- | | ||
- | | ||
- | | ||
- | |||
- | 0001-0002 are prep patches. | ||
- | that flags can be tested with inline helpers. | ||
- | |||
- | 0003 introduces sane_behavior mount option and implements behavior | ||
- | changes in cgroup core proper. | ||
- | |||
- | 0004 makes memcg .use_hierarchy changes. | ||
- | |||
- | The memcg patch doesn' | ||
- | can be routed through the cgroup tree. Michal, how do you wanna route | ||
- | it? | ||
- | |||
- | This patchset is based on top of cgroup/ | ||
- | the following git branch. | ||
- | |||
- | | ||
- | |||
- | Thanks. | ||
- | </ |