【Linux 内核】调度器 ⑥ ( task_woken 函数 | set_cpus_allowed 函数 | rq_online 函数 | rq_offline 函数 )
文章目錄
- 一、task_woken 函數 ( 喚醒阻塞進程 )
- 二、set_cpus_allowed 函數 ( 修改進程在 CPU 中的親和力 )
- 三、rq_online 函數 ( 啟動執行隊列 )
- 四、rq_offline 函數 ( 禁止執行隊列 )
Linux 內核源碼 linux-5.6.18\kernel\sched\sched.h 中 , 定義的 struct sched_class 調度類結構體 , 就是 " 調度器 " 對應的類 ;
一、task_woken 函數 ( 喚醒阻塞進程 )
sched_class 調度類結構體 中的 task_woken 函數指針 , 指向一個函數 , 調用該函數 , 可以將 休眠或阻塞中的 " 進程 " 喚醒 ;
- 進程 是一個 調度實體 ;
- 執行隊列 是一個 紅黑樹 ;
源碼路徑 : linux-5.6.18\kernel\sched\sched.h#1732 ;
二、set_cpus_allowed 函數 ( 修改進程在 CPU 中的親和力 )
sched_class 調度類結構體 中的 set_cpus_allowed 函數指針 , 指向一個函數 , 調用該函數 , 可以修改 " 進程 " 在 CPU 中的 " 親和力 " ;
- 進程 是一個 調度實體 ;
- 執行隊列 是一個 紅黑樹 ;
源碼路徑 : linux-5.6.18\kernel\sched\sched.h#1734 ;
三、rq_online 函數 ( 啟動執行隊列 )
sched_class 調度類結構體 中的 rq_online 函數指針 , 指向一個函數 , 調用該函數 , 可以 啟動 執行隊列 ;
- 進程 是一個 調度實體 ;
- 執行隊列 是一個 紅黑樹 ;
源碼路徑 : linux-5.6.18\kernel\sched\sched.h#1737 ;
四、rq_offline 函數 ( 禁止執行隊列 )
sched_class 調度類結構體 中的 rq_offline 函數指針 , 指向一個函數 , 調用該函數 , 可以 禁止 執行隊列 ;
- 進程 是一個 調度實體 ;
- 執行隊列 是一個 紅黑樹 ;
源碼路徑 : linux-5.6.18\kernel\sched\sched.h#1738 ;
總結
以上是生活随笔為你收集整理的【Linux 内核】调度器 ⑥ ( task_woken 函数 | set_cpus_allowed 函数 | rq_online 函数 | rq_offline 函数 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Linux 内核】调度器 ⑤ ( pu
- 下一篇: 【错误记录】Android 中使用 Ko