1、內核演進策略及增強特性解析內核版本內核版本演進計劃演進計劃內核解耦內核解耦架構調整規劃架構調整規劃內核新增內核新增特性介紹特性介紹內核版本內核版本演進計劃演進計劃OpenHamony首次配套版本Linux主線社區版本Linux LTS版本發布時間OH 23年下半年版本X.XX2022-12OH 3.05.102020-12OH 1.04.192018-10預計2022年第四季度會進行下一個內核版本的選型Linux LTSLinux LTS版本選擇版本選擇每兩年選用6年維護期的LTS版本作為OpenHarmony內核基線版本Linux LTS2021/9首次發布OpenHarmonyLinux5
2、.10內核2021202220232020/12選用LinuxLTS 5.10OH 3.0OH 3.1OH X.X2025OpenHarmony下一版本內核2022/12選用LinuxLTS最新版本2023首次發布年度年度年度LinuxLinux內核版本計劃及維護周期內核版本計劃及維護周期每兩年從linux社區拉取LTS新內核版本,次年下半年隨OpenHarmony版本發布。內核跟隨OpenHarmony LTS版本周期持續維護,期間合入安全和Bugfix補丁。3.5年維護周期10個月開發周期內核解耦內核解耦架構調整規劃架構調整規劃Linux KernelLinux Kernel芯片平臺適配解
3、耦方案芯片平臺適配解耦方案提供統一、穩定的HCK Interface,實現Common Kernel和Vendor/OEM的模塊解耦:KAL:Kernel Abstract Layer(內核抽象層)HCK:Harmony Common Kernel(Harmony通用內核)框架&服務.KALHarmony Common KernelHarmony Linux核心組件調度存儲內存網絡安全內核基本功能HCKInterfaceVendorModules芯片驅動芯片競爭力.OEMModules設備驅動設備競爭力.拼接式內核版本發布模式,一個內核支持多個芯片平臺、多個產品OpenHarmonyOpenH
4、armony內核快速升級和發布模式內核快速升級和發布模式LTS Kernel(LTS Kernel(社區內核社區內核)OpenHarmonyOpenHarmonyKernelKernelHarmony Common Kernel(HCK)Vendor KernelVendor KernelVendor moduleVendor moduleHCKHCKOEM moduleOEM moduleOEM KernelOEM KernelVendor moduleVendor moduleHCKHCK1#ifndef_LVH_FOO_H_2#define_LVH_FOO_H_34#include /包
5、含HCK hook頭文件56/聲明插樁hook函數7DECLARE_HCK_LITE_HOOK(hck_vh_foo,TP_PROTO(int input,int*err),TP_ARGS(input,err);89#endif/*_LVH_FOO_H_*/HCKHCK方案講解以及實例分享方案講解以及實例分享接口申請:在預插樁模塊HCK頭文件中進行聲明,文件在common kernel中,如lvh_foo.h:1/添加固定宏和1.中接口聲明頭文件2#undefCREATE_TRACE_POINTS3#include4#include56/注冊接口實現7static void foo(int i
6、nput,int*err)89.101112/在init接口中對接口進行注冊13static int _init foo_init(void)1415REGISTER_HCK_LITE_HOOK(hck_lvh_foo,foo);16HCKHCK方案講解以及實例分享方案講解以及實例分享接口實現和注冊:在解耦內核模塊中完成接口實現和注冊,如foo.c:1/包含接口聲明頭文件2#include 34/插入hook接口調用5int call_foo()67.8int input,err;9CALL_HCK_LITE_HOOK(hck_lvh_foo,input,&err);10return err;
7、11HCKHCK方案講解以及實例分享方案講解以及實例分享Hook調用:在common kernel中對foo hook接口插樁調用:內核新增內核新增特性介紹特性介紹QoS(Quality of Service)智能感知調度:QoS感知 能效調度負反饋 資源分組和優先級管控測試版本SoC功耗/mAh平均幀率Linux原生調度31.251.6Boost42.759.8QoS智能感知調度35.635.66060窗口拖拽動效場景更流暢、更省電更流暢、更省電QoS智能感知調度用戶點擊第一幀畫面變化界面更新完成QOS:響應時延QOS:繪幀時延QOS:完成時延OS框架內核輸入感知繪制感知程序狀態感知關鍵線程
8、分組優先級管控CPU調頻優化前臺應用后臺應用系統服務4K4K4K壓縮內存32K32K32K熱數據溫數據冷數據內存存儲關聯數據聚合壓縮存儲交換空間IO合并增強交換系統eswap(enhanced swap)關聯數據聚合,提升數據局域性 壓縮交換+IO合并,相比Linux原生swap機制交換速度提升提升2 2倍倍內存資源智能調度引擎:根據應用狀態,實施差異化回收策略,降低內存顛簸,提升系統性能 后臺駐留能力提升提升50%50%,基礎性能體驗無劣化更快速的內存擴展更快速的內存擴展增強Swap內存管理Smart Discard:基于前臺IO負載和剩余空間擇時discard Discard拆分,避免擁塞前臺IOSmart SSR(Slack Space Recycle,閑置空間復用):小塊數據IO寫不使用連續空間,減少空間碎片化 綜合考慮剩余空間和IO性能存儲末端老化后,性能劣化降低降低50%50%前臺IO前臺IO前臺IOtrim觸發時機:當沒有前臺IO時下發discard根據器件和文件系統空閑空間選擇合適discard粒度UFSSmart DiscardUFSUFS小塊數據大塊數據原生優化連續空閑空間小塊數據寫閑置空間復用Smart SSR更好的存儲末端性能更好的存儲末端性能增強F2FS文件系統謝謝