Re: [問題] 省電模式下要如何管理threads?
※ 引述《timemaker (Coder and Coffee)》之銘言:
: 各位板友好
: 我在開發embedded linux遇到了省電模式下功耗降不下來的問題
: 因為DDR RAM已開啟Self refresh power down功能
: 只有在threads存取RAM時會耗比較多的電
: 我目前的想法在省電模式下時
: 能否避免threads存取RAM?
: 只留一個監控thread看是否使用者有按按鍵
: 若是的話再喚醒其餘的threads
: 我所使用的是pthread
: 是否有推荐的API以避免threads於省電模式下存取RAM?
: 謝謝
我所知道的要降功耗有幾種方式
1. CPU dvfs.
透過不同頻率與電壓組合達到省電效果
這邊smp跟asmp會有差異
SMP下通常只有一組可以操控 會遷就於 max load cpu的需求
2. soc那看是否有其他core比較省電
由該CPU POWER OFF 較耗電的CPU
EX: BIG/LITTLE 可以斷大核電 然後有需要再開大核
或者是其他異質CPU 將 smp的CPU suspend 後完全斷電
上電後resume喚起.
3. CPU 進入省電模式 , 在arm中就是執行 WFI INSTRUCTIONS
系統的 key 配置為中斷模式. spi 中斷進來會觸發喚醒原先的 wfi
4. multicore 可以呼叫 cpu_down 去讓secondary停在wfi
達到將secondary卸載 offline,要在加回來就呼叫 cpu_up
5. 其實應該先看CPU吃多少電 系統是否還有其他更耗電的裝置
是否有推荐的API以避免threads於省電模式下存取RAM?
==>除非你的東西都在CACHE內 不然你是做不到這一點的
如果計算能力夠 DDR其實可以降頻看看
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.116.74.10
※ 文章網址: https://www.ptt.cc/bbs/LinuxDev/M.1520086945.A.B29.html
※ 編輯: DontGoIntel (122.116.74.10), 03/03/2018 22:22:48
※ 編輯: DontGoIntel (122.116.74.10), 03/03/2018 22:23:22
推
03/05 16:14,
7年前
, 1F
03/05 16:14, 1F
→
03/05 16:15,
7年前
, 2F
03/05 16:15, 2F
→
03/05 16:16,
7年前
, 3F
03/05 16:16, 3F
推
03/07 01:31,
7年前
, 4F
03/07 01:31, 4F
推
03/08 23:06,
7年前
, 5F
03/08 23:06, 5F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
LinuxDev 近期熱門文章
PTT數位生活區 即時熱門文章