@naota344の今週のLKML

今週は

  • [PATCH 00/10] mm: Linux VM Infrastructure to support Memory Power Management
  • [PATCH] depmod: Handle X.Y kernel versions

[PATCH 00/10] mm: Linux VM Infrastructure to support Memory Power Management

http://permalink.gmane.org/gmane.linux.kernel.mm/63840

メモリ管理に新たに「memory region」を入れよう、というパッチです。このmemory regionには任意の属性をつけるようなことができます。このregionのどこからメモリを使うのか、どこからメモリを回収するのか、ということを指定できるようになります。

すると何がいいのでしょうか? たとえばある(物理)メモリに省電力モードがついているなら、必要なメモリがそこまで多くないなら、そこにあまりアクセスしないようにしておけば、サスペンド(実際はどうなるか(どう言うか)わかりませんが)させることで電力消費をおさえることができる、というわけです。

実際にこのpatchをあてて4つのregionでただたんにメモリを確保してメモリを使うだけのベンチマークを走らせる実験をしていました。一段目のラベルはbenchmarkのstart時と何MBを使ったかの数値で、表中の数字は空いているメモリの量です。

		---------------------------------------
	 	|	   | start  | ~480MB |  512MB |	
		---------------------------------------
		| Region 0 | 124013 | 1129   | 484    |
		| Region 1 | 131072 | 131072 | 130824 |
		| Region 2 | 131072 | 131072 | 131072 |
		| Region 3 | 57332  | 57332  | 57332  |
		---------------------------------------

このように、 region 0 からだけメモリが割り当てられています。これで region 1,2,3 はメモリをサスぺンドなりスタンバイなりにしておけて、電力消費をおさえられる、というわけです。

http://permalink.gmane.org/gmane.linux.kernel.mm/63878

さっそくというか、やっぱりというか、番人さんからつっこみが入っていました。問題にしていたのは

  • 電力消費削減というけど実際どのぐらい減ってるんだ?
  • いまのpatchはどんなアーキテクチャにも使われてしまうわけだが、省電力メモリなんてないとこじゃ無駄なオーバーヘッドじゃないか?

http://permalink.gmane.org/gmane.linux.kernel.mm/63880

それへの返答。まだRFCの段階であること、そして現状実際のハードの情報を得ることができないので実験をすることはできない、とのことでした。

"We are working on this and hope to have some estimations in a month or two." と言っていますから、また1,2ケ月先が楽しみです。

[PATCH] depmod: Handle X.Y kernel versions

http://permalink.gmane.org/gmane.linux.kernel.modules/557

Linux 3.0のリリースが予定されていますね。大きな機能変化はないのでまぁ問題なくいくかと思いきや意外なところでトラップがありました。

module-init-tools の depmod がバージョン番号かどうかの判定に X.Y.Z と3つ数字であることを仮定していたので、 3.0 という2つ数字のものだと動かなくなっているようです。

続報

[RFC][PATCH v3 0/10] memcg async reclaim

http://permalink.gmane.org/gmane.linux.kernel.mm/63747

メモリの回収にSCHED_IDLEを使うようになりました。このおかげでCPUが忙しい時には、回収スレッドがCPU使用率の0.3%程度しか使わないようになりました。