LinuxカーネルでのDEEP IDLE省エネルギーモードの実装

エゼキールというニックネームでxda-developers.comフォーラムに登録されている開発者は、Nexus Sがスタンバイモードで電池をすぐに消費する理由解明しようとしました。 デバイスの技術マニュアルには、デバイスがNORMAL、IDLE、DEEP IDLE、STOP、DEEP-STOP、およびSLEEPモードをサポートしていることが記載されています。 しかし、Linuxカーネルの大まかな研究は、オペレーティングシステムがIDLEのみをサポートしていることを示しました。 このモードでは、プロセッサのみがオフになり、残りのモジュールは引き続きエネルギーを消費します。 エゼキールはこの欠陥を修正することにしました。



消費電力の増加はAndroidデバイスの主な問題の1つであるため、一部のユーザーはバッテリー寿命を延ばす方法を探すことを余儀なくされています。 1つのオプションは、プロセッサの周波数を下げることです。 ただし、このようなハッキングはあまり効果的ではありません。たとえば、周波数を1320 MHzから880 MHzに下げると、1時間だけ勝つことができます。



FLACを1320 MHzおよび880 MHzのプロセッサクロック周波数で10時間再生すると、ディスプレイがオフのフライトモードでのNexus Sバッテリーの消費量。



アイアンオフを使用した本格的なDEEP IDLEモードの実装では、まったく異なる状況が得られます。 EzekeelはLinuxカーネル( Glitch )のフォークを見つけました。その作成者はGalaxy Sの同様の問題を解決しようとしましたが、仕事を終えませんでした。 エゼキールは必要な修正を行い、すべてが正常に機能しました。 新しいGLaDOSコアのテストでは、バッテリー消費が55%以上削減されたことが示されました。





1320 MHzおよび880 MHzのプロセッサクロック周波数でIDACモードおよびDEEP IDLEモードでFLACを10時間再生すると、ディスプレイがオフのフライトモードでのNexus Sバッテリー消費。







この方法でLinuxカーネルを改善する場合、実質的にエネルギーを節約できないため、プロセッサの周波数を下げる必要もありません。



githubリポジトリで、 DEEP IDLEをサポートするためにカーネルに作成されたすべてのパッチを調べることができます



Ezekeelは、ビデオチャットを使用するGoogleトークアプリケーションのバグが原因で、起動時にCAMモジュールがアクティブになることを個別に報告しています。 DEEP IDLEモードの機能の特定のアクティブ化順序により、これはシーケンス違反につながるため、このプログラムがスマートフォンにインストールされている場合、DEEP IDLEモードは単に機能しません。 修正は簡単です。Googleトークアプリケーションをビデオチャット機能なしで同じものに置き換えるだけです。 両方のプログラムにはバージョン番号1.3がありますが、アプリケーションのサイズとハードウェアを構成するオプションの有無によって、プログラムを互いに区別できます。 ビデオチャットなしのオプションのサイズは500 KBで、ビデオチャットあり-740 KBです。 プログラムを置き換えた後、すべてが正常に動作するはずです。



GLaDOS 1.2カーネルのその他の改善点については、 ここで説明します



All Articles