linux核心中的電源管理介面

2022-06-10 15:39:09 字數 513 閱讀 2937

1. pm_runtime_enable/pm_runtime_disable 使能/禁止runtime pm,分別對dev->power.disable_depth執行++和--操作,這個變數的初始化值是1,預設是disable的狀態。

2. pm_runtime_get_sync/pm_runtime_put_sync 增加/減少計數值,並判斷是否進入suspend/resume

3. 在struct dev_pm_ops提供了3個**函式:runtime_suspend,runtime_resume,runtime_idle,一般runtime_idle這個空閒函式不需要提供

4. pm_runtime_get_sync/pm_runtime_put_sync/pm_runtime_enable/pm_runtime_disable這4個函式不會直接導致runtime_suspend,runtime_resume,runtime_idle被呼叫,只是使能和修改計數值,當引用計數減為0,呼叫suspend,

從0變為大於0呼叫resume

初探Linux核心中的記憶體管理

初探linux核心管理 核心本身不像使用者空間那樣奢侈的使用記憶體 核心是如何管理記憶體?什麼是記憶體管理單元 mmu 就是把虛擬位址轉換為實體地址的硬體 那什麼是虛擬位址呢?高階記憶體並不永久的對映到核心位址空間上,什麼是高階記憶體?核心用page資料結構來描述當前時刻在相關物理記憶體中存放的東西...

linux核心中的排序介面 sort函式

linux核心中的sort函式,其實跟我們所說的qsort函式很像,我們來看看qsort qsort 的函式原型是 void qsort void base,size t num,size t width,int cdecl compare const void const void 引數 1 待排...

Linux核心中的list for each

在linux核心原始碼中,經常要對鍊錶進行操作,其中乙個很重要的巨集是list for each entry 意思大體如下 假設只有兩個結點,則第乙個member代表head,list for each entry的作用就是迴圈遍歷每乙個pos中的member子項。巨集list for each e...