如何新增 CPU 調控器
CPU 調控器本身只是 1 C 檔案,位於 kernel_source / drivers / cpufreq /中,例如:cpufreq_smartass2.c。你自己負責找到調控器(檢視你裝置的現有核心倉庫)但是為了成功呼叫並將此檔案編譯到你的核心中,你必須進行以下更改:
- 複製你的調控器檔案(cpufreq_govname.c)並瀏覽到 kernel_source / drivers / cpufreq,現在貼上它。
- 並且在新增核心時開啟 Kconfig(這是配置選單佈局的介面),你希望它顯示在你的配置中。你可以通過新增調控器選項來實現。
config CPU_FREQ_GOV_GOVNAMEHERE
tristate "'gov_name_lowercase' cpufreq governor"
depends on CPU_FREQ
help
governor' - a custom governor!
例如,對於 smartassV2。
config CPU_FREQ_GOV_SMARTASS2
tristate "'smartassV2' cpufreq governor"
depends on CPU_FREQ
help
'smartassV2' - a "smart" optimized governor!
在新增選項之後,你還必須宣告調控器被選為預設調控器的可能性。
config CPU_FREQ_DEFAULT_GOV_GOVNAMEHERE
bool "gov_name_lowercase"
select CPU_FREQ_GOV_GOVNAMEHERE
help
Use the CPUFreq governor 'govname' as default.
例如,對於 smartassV2。
config CPU_FREQ_DEFAULT_GOV_SMARTASS2
bool "smartass2"
select CPU_FREQ_GOV_SMARTASS2
help
Use the CPUFreq governor 'smartassV2' as default.
- 找不到合適的地方嗎?只需搜尋“CPU_FREQ_GOV_CONSERVATIVE”
,並將程式碼放在下面,同樣的事情對“CPU_FREQ_DEFAULT_GOV_CONSERVATIVE”
來說很重要
現在 Kconfig 已完成,你可以儲存並關閉該檔案。
- 在仍然在
/drivers/cpufreq
資料夾中時,開啟 Makefile。在 Makefile 中,新增與 CPU Governor 對應的行。例如:
obj-$(CONFIG_CPU_FREQ_GOV_SMARTASS2) += cpufreq_smartass2.o
你不稱之為本機 C 檔案,而是 O 檔案! 這是編譯的 C 檔案。儲存檔案。
- 轉到:
kernel_source/includes/linux
。現在開啟cpufreq.h
向下滾動,直到看到類似的內容:
#elif defined(CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND)
extern struct cpufreq_governor cpufreq_gov_ondemand;
#define CPUFREQ_DEFAULT_GOVERNOR (&cpufreq_gov_ondemand)
(其他 cpu 調控器也在那裡列出)
現在使用選定的 CPU 調控器新增你的條目,例如:
#elif defined(CONFIG_CPU_FREQ_DEFAULT_GOV_SMARTASS2)
extern struct cpufreq_governor cpufreq_gov_smartass2;
#define CPUFREQ_DEFAULT_GOVERNOR (&cpufreq_gov_smartass2)
儲存檔案並關閉它。
初始 CPU 調控器設定現已完成。當你成功完成所有步驟後,你應該可以從選單中選擇你的調控器(menuconfig
,xconfig
,gconfig
,nconfig
)。在選單中檢查後,它將被包含在核心中。
提交與上述說明幾乎相同: 新增 smartassV2 和 lulzactive 調控器提交