日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > linux >内容正文

linux

linux电源管理子系统,电源管理子系统

發(fā)布時(shí)間:2024/3/26 linux 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux电源管理子系统,电源管理子系统 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

作者:wowo 發(fā)布于:2017-9-1 10:46

分類:電源管理子系統(tǒng)

大家都知道,復(fù)雜IC內(nèi)部有很多具有獨(dú)立功能的硬件模塊,例如CPU cores、GPU

cores、USB控制器、MMC控制器、等等,出于功耗、穩(wěn)定性等方面的考慮,有些IC在內(nèi)部為這些硬件模塊設(shè)計(jì)了復(fù)位信號(hào)(reset

signals),軟件可通過(guò)寄存器(一般1個(gè)bit控制1個(gè)硬件)控制這些硬件模塊的復(fù)位狀態(tài)。

Linux kernel為了方便設(shè)備驅(qū)動(dòng)的編寫(xiě),抽象出一個(gè)簡(jiǎn)單的軟件框架----reset

framework,為reset的provider提供統(tǒng)一的reset資源管理手段,并為reset的consumer(各個(gè)硬件模塊)提供便捷、統(tǒng)一的復(fù)位控制API。

reset

framework的思路、實(shí)現(xiàn)和使用都非常簡(jiǎn)單、易懂(參考kernel有關(guān)的API--include/linux/reset-controller.h、include/linux/reset.h可知),不過(guò)麻雀雖小,五臟俱全,通過(guò)它可以加深對(duì)Linux

kernel的設(shè)備模型、驅(qū)動(dòng)框架、分層設(shè)計(jì)、provider/consumer等設(shè)計(jì)思想的理解,因此本文將對(duì)其進(jìn)行一個(gè)簡(jiǎn)單的羅列和總結(jié)。

作者:linuxer 發(fā)布于:2017-4-21 12:02

分類:電源管理子系統(tǒng)

本文主要描述系統(tǒng)休眠過(guò)程是如何和中斷子系統(tǒng)交互的,全文的結(jié)構(gòu)保持和內(nèi)核文檔中的power/suspend-and-interrupts.txt一致,當(dāng)然,本質(zhì)上也可以說(shuō)這份文檔是對(duì)suspend-and-interrupts.txt的翻譯。

作者:linuxer 發(fā)布于:2016-4-21 19:23

分類:電源管理子系統(tǒng)

之前,wowo同學(xué)已經(jīng)發(fā)表了關(guān)于CCF(Common Clock Framework)的三份文檔,相信大家對(duì)CCF有一定的了解了,本文就是在閱讀那三份文檔的基礎(chǔ)上,針對(duì)Linux 4.4.6內(nèi)核的內(nèi)核代碼實(shí)現(xiàn),記錄自己對(duì)CCF的理解,并對(duì)CCF進(jìn)行系統(tǒng)結(jié)構(gòu)層面的歸納和整理。

本文內(nèi)容包括三個(gè)部分,第二章給出了整個(gè)CCF相關(guān)的block diagram圖,隨后在第三章對(duì)各個(gè)模塊進(jìn)行功能層面的描述。最后,第四章給出了各個(gè)block之間的接口描述。

另外,在閱讀CCF代碼的過(guò)程中,我準(zhǔn)備用兩份文檔來(lái)分享我對(duì)CCF的理解。這一份是系統(tǒng)結(jié)構(gòu),另外一份是邏輯解析。

作者:itrocker 發(fā)布于:2015-11-24 15:01

分類:電源管理子系統(tǒng)

1什么是進(jìn)程凍結(jié)

進(jìn)程凍結(jié)技術(shù)(freezing of tasks)是指在系統(tǒng)hibernate或者suspend的時(shí)候,將用戶進(jìn)程和部分內(nèi)核線程置于“可控”的暫停狀態(tài)。

2為什么需要凍結(jié)技術(shù)

假設(shè)沒(méi)有凍結(jié)技術(shù),進(jìn)程可以在任意可調(diào)度的點(diǎn)暫停,而且直到cpu_down才會(huì)暫停并遷移。這會(huì)給系統(tǒng)帶來(lái)很多問(wèn)題:

作者:wowo 發(fā)布于:2015-11-10 22:04

分類:電源管理子系統(tǒng)

也許大家會(huì)覺(jué)得奇怪:為什么Linux kernel把對(duì)ARM big·Lttile的支持放到了cpufreq的框架中?

眾所周知,ARM的big·Little架構(gòu),也稱作HMP(具體可參考“Linux CPU

core的電源管理(2)_cpu topology”中相關(guān)的介紹),通過(guò)在一個(gè)chip中封裝兩種不同類型的ARM

core的方式,達(dá)到性能和功耗的平衡。這兩類ARM Core,以cluster為單位,一類為高性能Core(即big

core),一類為低性能Core(即Little

core),通過(guò)它們的組合,可以滿足不同應(yīng)用場(chǎng)景下的性能和功耗要求,例如:非交互式的后臺(tái)任務(wù)、或者流式多媒體的解碼,可以使用低功耗的Little

core處理;突發(fā)性的屏幕刷新,可以使用高性能的big core處理。

那么問(wèn)題來(lái)了,Linux kernel怎么支持這種框架呢?

注1:本文很多理論性的表述,或多或少的理解并翻譯自:“http://lwn.net/Articles/481055/”,感興趣的讀者可以自行閱讀。

注2:本文基于

作者:wowo 發(fā)布于:2015-9-19 21:39

分類:電源管理子系統(tǒng)

由“Linux CPU core的電源管理(1)_概述”的描述可知,kernel cpu control位于“.\kernel\cpu.c”中,是一個(gè)承上啟下的模塊,負(fù)責(zé)屏蔽arch-dependent的實(shí)現(xiàn)細(xì)節(jié),向上層軟件提供控制CPU core的統(tǒng)一API(主要包括cpu_up/cpu_down等接口的實(shí)現(xiàn))。本文將基于這些API,從上到下,分析CPU core從啟動(dòng)到關(guān)閉的整個(gè)過(guò)程(主要是CPU hotplug),進(jìn)一步理解系統(tǒng)運(yùn)行過(guò)程中CPU core電源管理相關(guān)的行為。

注1:其實(shí)這一部分已經(jīng)不屬于電源管理的范疇了,而是系統(tǒng)級(jí)的軟件行為(boot、調(diào)度、電源管理等等),之所以放到這里講述,主要原因是,這些復(fù)雜行為的背后,目的只有一個(gè)----節(jié)電。因此,本文只會(huì)focus在CPU core power狀態(tài)切換的過(guò)程上,涉及到得其它知識(shí),如進(jìn)程調(diào)度,只會(huì)一筆帶過(guò)。

作者:wowo 發(fā)布于:2015-8-23 21:15

分類:電源管理子系統(tǒng)

由“l(fā)inux cpufreq framework(3)_cpufreq core”的描述可知,cpufreq policy負(fù)責(zé)設(shè)定cpu調(diào)頻的一個(gè)大致范圍,而cpu的具體運(yùn)行頻率,則需要由相應(yīng)的cufreq governor決定(可自行調(diào)節(jié)頻率的CPU除外,后面會(huì)再詳細(xì)介紹)。那到底什么是cpufreq governor?它的運(yùn)行機(jī)制是什么?這就是本文要描述的內(nèi)容。

作者:wowo 發(fā)布于:2015-7-30 20:58

分類:電源管理子系統(tǒng)

前文(Linux cpufreq framework(2)_cpufreq driver)從平臺(tái)驅(qū)動(dòng)工程師的角度,簡(jiǎn)單的介紹了編寫(xiě)一個(gè)cpufreq driver的大概步驟。但要更深入理解、更靈活的使用,必須理解其內(nèi)部的實(shí)現(xiàn)邏輯。

因此,本文將從cpufreq framework core的角度,對(duì)cpufreq framework的內(nèi)部實(shí)現(xiàn)做一個(gè)簡(jiǎn)單的分析。

作者:wowo 發(fā)布于:2015-7-17 22:15

分類:電源管理子系統(tǒng)

由“ARMv8-a架構(gòu)簡(jiǎn)介”中有關(guān)的介紹可知,ARMv8(包括ARMv7的一些擴(kuò)展)引入了Virtualization、Security等概念。在這些概念之下,傳統(tǒng)的CPU boot、shutdown、reset、suspend/resume等操作,不再那么簡(jiǎn)單和單純。因此,ARM將這些底層操作抽象為一些operations,在以統(tǒng)一的方式向上層軟件提供API的同時(shí),可以根據(jù)不同的場(chǎng)景,有不同的實(shí)現(xiàn)。這就是本文要描述的cpu ops。

注1:由“Linux CPU core的電源管理(1)_概述”的描述可知,cpu ops屬于arch-dependent的部分,本文基于ARM64平臺(tái)。

作者:wowo 發(fā)布于:2015-6-19 22:27

分類:電源管理子系統(tǒng)

本文從平臺(tái)驅(qū)動(dòng)工程師的角度,介紹怎么編寫(xiě)cpufreq驅(qū)動(dòng)。

注1:本文基于

總結(jié)

以上是生活随笔為你收集整理的linux电源管理子系统,电源管理子系统的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。