差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
linux:kernel:cgroup:sane_behaviorオプション [2013/04/16 12:19] – 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 で導入. |
- | It's a sad fact that at this point various cgroup controllers are | + | -[[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 コントローラが,多数の特異性と純粋な狂気を持っているため,ユーザランドに既に提供しているものとの互換性を保っている一方で,簡単にある種の健全な一貫性のある振るまいに到達することができないという事は,悲しい事である. | + | 適当に訳してみた. |
- | To make progress, those behaviors need to go but we can't simply drop | + | 現時点で,様々な cgroup コントローラが,多数の特異性と全くの狂気を持っており,既にユーザランドに提供しているものと完全な互換性を保ちながらメンテナンスを行う一方で,健全な一貫性のある動きに到達するのは絶対に不可能であるというのは悲しい事実である. |
- | 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. | + | |
- | 進歩をとげるため,これらの振るまいは継続する必要があるが,単純になくしたり,ユーザランドから直接見えるように奇妙な点を変更したりすることはできない.このパッチセットは sane_behavior というマウントオプションを実装した.これは,より健全な状態に移行している間も後も,既に提供している古い振るまいを保持できるようにしながら,新しいより健全な振るまいにするものである. | + | ユーザランドに対するインターフェースを壊さずに,健全な動きへ移行することは後方互換性を維持しつつ段階的に行うことしかできない.このパッチは新しいマウントオプション |
- | As the behaviors which should be changed are still being determined | + | 最終的には,全てのコントローラの動きが,統一的な階層構造を実装するのに十分な一貫性をもった時点で,__DEVEL__ |
- | and then implemented, | + | |
- | and it triggers a warning message when used. | + | |
- | 変更すべき振るまいが定義され,実装されている間,__DEVEL__ プレフィックスをマウントオプションに追加し,使用時に警告メッセージを表示する. | + | このパッチはマウントオプションを導入し,cgroup コアの以下の動きを変更する. |
- | The mount option changes the following behaviors after this patchset. | + | * マウントオプション " |
+ | * 存在するスーパーブロックをマウントした時,マウントオプションが一致しなければならない.これは現時点では少し馬鹿げている.もし cgroup がマウントされ,サブディレクトリが作成され,アンマウントされ,それから再度違うオプションでマウントされた場合,新しいオプションが適用されたように見えるが,実際は適用されていない. | ||
+ | * remount は許可されない. | ||
- | このパッチセットのあと,マウントオプションにより,以下のように動作が変化する. | + | 動きの変更点は CGRP_ROOT_SANE_BEHAVIOR enum の上の部分に記載してある.そして,異なるコントローラが変換され,改良の進展が計画された時に,記載が追加されるだろう. |
- | + | ||
- | * Mount options " | + | |
- | cgroupfs file cgroup.clone_children is not created. | + | |
- | + | ||
- | * " | + | |
- | + | ||
- | * 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 | + | |
- | + | ||
- | 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. | + | |