Re: [問題] 省電模式下要如何管理threads?

看板LinuxDev作者 (末日硬特爾)時間6年前 (2018/03/03 22:22), 6年前編輯推噓3(302)
留言5則, 3人參與, 6年前最新討論串2/2 (看更多)
※ 引述《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, 6年前 , 1F
基本上就是降頻關周邊IO,比如說sleep mode下 lan card
03/05 16:14, 1F

03/05 16:15, 6年前 , 2F
本來如果跑1000, 就切到100/10之類的省那一丁點電,
03/05 16:15, 2F

03/05 16:16, 6年前 , 3F
東省西省就過了,2019 歐盟規範更嚴,省電是大議題
03/05 16:16, 3F

03/07 01:31, 6年前 , 4F
樓主實務經驗豐富,讚
03/07 01:31, 4F

03/08 23:06, 6年前 , 5F
謝謝你的建議
03/08 23:06, 5F
文章代碼(AID): #1Qcg-Xif (LinuxDev)
文章代碼(AID): #1Qcg-Xif (LinuxDev)