linux:kernel:cgroup:sane_behaviorオプション

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
linux:kernel:cgroup:sane_behaviorオプション [2013/04/16 12:19] tenforwardlinux:kernel:cgroup:sane_behaviorオプション [2013/08/19 11:38] (現在) tenforward
行 1: 行 1:
 ====== cgroup の sane_behavior マウントオプション ====== ====== cgroup の sane_behavior マウントオプション ======
  
-  * http://lwn.net/Articles/547332/ 提案されている+3.10 導入.
  
-It's a sad fact that at this point various cgroup controllers are +-[[http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=873fe09ea5df6ccf6bb34811d8c9992aacb67598|cgroup: introduce sane_behavior mount option]]
-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.  This +
-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 とマウントオプションを実装した.これは,より健全状態移行ている間も後も提供してい古い振るまいを保持できようにしがら,新しいより健全な振るまいするものである.+ユーザランドに対すインターフェースを壊さず,健全動きへ移行することは後方互換性を維持しつつ段階的に行うことしかできない.このパッチは新しいマウントオプション __DEVEL__sane_behavior 導入するものである.これは機能を無効にし,cgroup コアと様々なコントローラ一貫性のあ動きを強制す.正確な動きは,変更がだ確定しているので現在のところ,このマウントオプションは新しい動きの開発のみ訳にたつものである.このように,マウントオプションが __DEVEL__ でプレフィックスされ,使う時もワーニングメッセージが生成される.
  
-As the behaviors which should be changed are still being determined +最終的には,全てのコントローラの動きが,統一的な階層構造を実装するのに十分な一貫性をもった時点で,__DEVEL__ プレフィックスは削除され,より重要な事だが,統一した階層構造はデフォルトで sane_behavior を強制されることになる.おそらく,しばらくしたら,馬鹿げたモノを完全に排除できるかもしれないし,できないかもしれないが,少なくとも健全な動きへ向かうための戦略を持つことはできるだろう.
-and then implemented, __DEVEL__ prefix is added to the mount option +
-and it triggers a warning message when used.+
  
-変更すべき振るまいが定義され,実装されている間,__DEVEL__ プレフィクスをマウントオプションに追加し,使用時に警告メッセージ表示する.+このパチはマウントオプションを導入し,cgroup コアの以下の動き変更する.
  
-The mount option changes the following behaviors after this patchset.+  * マウントオプション "noprefix" と "clone_children" が許可されなくなる.また,cgroupfs では cgroup.clone_children ファイルが生成されなくなる. 
 +  * 存在するスーパーブロックをマウントした時,マウントオプションが一致しなければならない.これは現時点では少し馬鹿げている.もし cgroup がマウントされ,サブディレクトリが作成され,アンマウントされ,それから再度違うオプションでマウントされた場合,新しいオプションが適用されたように見えるが,実際は適用されていない. 
 +  * remount は許可されない.
  
-パッチセットのあと,マウントオプションにより,以下のように動作が化する. +動きの変更点は CGRP_ROOT_SANE_BEHAVIOR enum 上の部分記載してある.そし,異なるントローラ変換され,改良の進展計画されたに,記載追加されるだろう.
- +
-* Mount options "noprefix" and "clone_children" are disallowed.  Also, +
-  cgroupfs file cgroup.clone_children is not created. +
- +
-* "noprefix" と "clone_children" オプション許可されない.そして,cgroupfs ファイルである cgroup.clone_children ファイルも作製されない. +
- +
-* When mounting an existing superblock, mount options should match. +
-  This is currently pretty crazy.  If one mounts a cgroup, creates a +
-  subdirectory, unmounts it and then mount it again with different +
-  option, it looks like the new options are applied but they aren't. +
- +
-* 既存在するスーパーブロックをマウントする際,マウントオプションが一致している必要がある.これは現時点では少し変である.もし 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-cgroup-convert-cgroupfs_root-flag-bits-to-masks-and-.patch +
- 0002-move-cgroupfs_root-to-include-linux-cgroup.h.patch +
- 0003-cgroup-introduce-sane_behavior-mount-option.patch +
- 0004-memcg-force-use_hierarchy-if-sane_behavior.patch +
- +
-0001-0002 are prep patches.  It exposes cgroupfs_root in cgroup.h so +
-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't conflict with memcg changes in -next, so it +
-can be routed through the cgroup tree.  Michal, how do you wanna route +
-it? +
- +
-This patchset is based on top of cgroup/for-3.10 and also available in +
-the following git branch. +
- +
- git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git review-cgroup-sane_behavior +
- +
-Thanks.+
  
  • linux/kernel/cgroup/sane_behaviorオプション.1366114794.txt.gz
  • 最終更新: 2013/04/16 12:19
  • by tenforward