Linux內(nèi)核電源管理的整體架構(gòu)解析,你了解嗎?
Linux可以說是越來越火了,它在消費(fèi)電子領(lǐng)域的應(yīng)用相當(dāng)普遍,而對于消費(fèi)電子產(chǎn)品,省電是一個(gè)重要的議題。
Linux電源管理非常復(fù)雜,牽扯到系統(tǒng)級(jí)的待機(jī)、頻率電壓變換、系統(tǒng)空閑時(shí)的處理以及每個(gè)設(shè)備驅(qū)動(dòng)對于系統(tǒng)待機(jī)的支持和每個(gè)設(shè)備的運(yùn)行時(shí)電源管理,可以說和系統(tǒng)中的每個(gè)設(shè)備驅(qū)動(dòng)都息息相關(guān)。
對于消費(fèi)電子產(chǎn)品來說,電源管理相當(dāng)重要。因此,這部分工作往往在開發(fā)周期中占據(jù)相當(dāng)大的比重,圖1呈現(xiàn)了Linux內(nèi)核電源管理的整體架構(gòu)。大體可以歸納為如下幾類:
1.CPU在運(yùn)行時(shí)根據(jù)系統(tǒng)負(fù)載進(jìn)行動(dòng)態(tài)電壓和頻率變換的CPUFreq。
2.CPU在系統(tǒng)空閑時(shí)根據(jù)空閑的情況進(jìn)行低功耗模式的CPUIdle。
3.多核系統(tǒng)下CPU的熱插拔支持。
4.系統(tǒng)和設(shè)備對于延遲的特別需求而提出申請的PMQoS,它會(huì)作用于CPUIdle的具體策略。
5.設(shè)備驅(qū)動(dòng)針對系統(tǒng)SuspendtoRAM/Disk的一系列入口函數(shù)。
6.SoC進(jìn)入suspend狀態(tài)、SDRAM自刷新的入口。
7.設(shè)備的runtime(運(yùn)行時(shí))動(dòng)態(tài)電源管理,根據(jù)使用情況動(dòng)態(tài)開關(guān)設(shè)備。
8.底層的時(shí)鐘、穩(wěn)壓器、頻率/電壓表(OPP模塊完成)支撐,各驅(qū)動(dòng)子系統(tǒng)都可能用到。
這樣,你對linux的電源管理知道多少了?