天天看點

HMP排程器

https://zhuanlan.zhihu.com/p/23966171

ARM公司在推出Cortex-A15之後市場回報功耗有點過大,于是提出了大小核的概念即big.LITTLE模型,該模型主要目的是為了省電。目前大部分旗艦手機基本上都才有big.LITTLE模型,比較經典的配置是Cortex-A72+Cortex-A53,Cortex-A72是大核,Cortex-A53是小核。用通俗的話來概況big.LITTLE模型的話就是用大核幹重活,用小核來幹輕活。big.LITTLE模型在計算機術語上稱為HMP(Heterogeneous Multi-Processing)。目前的Linux核心實作的CPU負載均衡算法是基于SMP模型的,并沒有考慮到big.LITTLE模型,是以Linaro組織對big.LITTLE模型開發了全新的負載均衡排程器,稱為HMP排程器。

HMP排程器并沒有合并到Linux核心中,是以我們采用Linaro組織開發的Linux核心分支,它最新的代碼是Linux3.10, ,本文以該核心版本(linux-linaro-stable-3.10.100-2016.03.tar.bz2)為藍本。HMP排程器算不上完美,有點粗糙,各大手機晶片以及手機廠商根據Linaro開發的這個HMP排程器為藍本在結合各自不同的需要做了不少的特别的優化,比如MTK,高通等。

(1) HMP Model

(2) Switching Model

繼續閱讀