成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

OpenHarmony標準系統內核學習(二)—CPU輕量級隔離特性

系統 OpenHarmony
CPU輕量級隔離特性提供了根據系統負載和用戶配置來選擇合適的CPU進行動態隔離的能力。

??想了解更多關于開源的內容,請訪問:??

??51CTO 開源基礎軟件社區??

??https://ost.51cto.com??

CPU輕量級隔離特性

基本概念

CPU輕量級隔離特性提供了根據系統負載和用戶配置來選擇合適的CPU進行動態隔離的能力。

  • 內核會將被隔離CPU上的任務和中斷遷移到其他合適的CPU上執行
  • 被隔離的CPU會進入ilde狀態,以此來達到功耗優化的目標。同時提供用戶態的配置和查詢接口來實現更好的系統調優。

ilde狀態: 現代處理器通常能夠進入這樣的狀態——程序的執行被暫停,而且屬于它的指令不從內存中提取或執行。

參考文檔:https://www.kernel.org/doc/html/v5.10/admin-guide/pm/cpuidle.html

配置指導

使能CPU輕量級隔離特性

啟用CPU輕量級隔離,需要通過編譯內核時打開相應的配置項及依賴,相關CONFIG如下:

rk3568芯片組件config:kernel/linux/config/linux-5.10/arch/arm64/configs/rk3568_standard_defconfig

CONFIG_CPU_ISOLATION_OPT=y
CONFIG_SCHED_CORE_CTRL=y
# 另有部分CONFIG被依賴
CONFIG_SMP=y
CONFIG_SCHED_WALT=y

引入動態核隔離的內核基礎設施以及對應的用戶態接口

CPU輕量級隔離特性與kernel_linux_5.10引入動態核隔離的內核基礎設施以及對應的用戶態接口相關。

支持隔離核場景和解除隔離核場景。

  • 隔離核:內核根據接口配置值對隔離核上非綁定在本核上的任務進行遷移,放到affinity中其它隔離核上執行。
  • 解除隔離核:內核根據接口配置值以及系統負載解除核隔離,任務可以在該核上執行。

合入的相關issues如下:https://gitee.com/openharmony/kernel_linux_5.10/issues/I4SRVK?from=project-issue

合入的內核部分代碼如下:https://gitee.com/openharmony/kernel_linux_5.10/pulls/54/files 涉及文件如下

OpenHarmony標準系統內核學習【2】CPU輕量級隔離特性-開源基礎軟件社區

相關接口

CPU輕量級隔離提供了一些接口用于控制CPU隔離核的個數以及記錄當前狀態,支持以CPU cluster層級進行配置,這些接口位于每個CPU cluster的首個CPU設備信息目錄中,如/sys/devices/system/cpu/cpu0/core_ctl

OpenHarmony標準系統內核學習【2】CPU輕量級隔離特性-開源基礎軟件社區

OpenHarmony標準系統內核學習【2】CPU輕量級隔離特性-開源基礎軟件社區

功能分類

接口名

描述

控制接口

enable

功能開關,1表示開啟,0表示關閉

min_cpus

設置活躍(未隔離)CPU最小核數

max_cpus

設置活躍(未隔離)CPU最大核數,其中最大值為CPU cluster包含的CPU個數

狀態接口

active_cpus

顯示CPU cluster最終計算需要的CPU核數

need_cpus

顯示當前需要解隔離的CPU核數

global_state

記錄系統所有CPU cluster的狀態信息,包含CPU 隔離狀態,online狀態以及負載信息等。

使用CPU輕量級隔離接口

使用hdc_std工具進入rk3568開發板終端,RK3568 CPU為四核A55

查看CPU輕量級隔離功能開關狀態

cat /sys/devices/system/cpu/cpu0/core_ctl/enable

OpenHarmony標準系統內核學習【2】CPU輕量級隔離特性-開源基礎軟件社區

開關CPU輕量級隔離功能

echo 0 > /sys/devices/system/cpu/cpu0/core_ctl/enable
echo 1 > /sys/devices/system/cpu/cpu0/core_ctl/enable

OpenHarmony標準系統內核學習【2】CPU輕量級隔離特性-開源基礎軟件社區

設置活躍CPU最小核數和最大核數

echo 0 > /sys/devices/system/cpu/cpu0/core_ctl/min_cpus
echo 4 > /sys/devices/system/cpu/cpu0/core_ctl/max_cpus

OpenHarmony標準系統內核學習【2】CPU輕量級隔離特性-開源基礎軟件社區

顯示當前已經動態隔離的CPU核

cat /sys/devices/system/cpu/core_ctl_isolated

OpenHarmony標準系統內核學習【2】CPU輕量級隔離特性-開源基礎軟件社區

顯示當前未隔離和CPU cluster最終計算需要的CPU核數

cat /sys/devices/system/cpu/cpu0/core_ctl/active_cpus
cat /sys/devices/system/cpu/cpu0/core_ctl/need_cpus

OpenHarmony標準系統內核學習【2】CPU輕量級隔離特性-開源基礎軟件社區

顯示系統記錄的所有CPU cluster的狀態信息

cat /sys/devices/system/cpu/cpu0/core_ctl/global_state

OpenHarmony標準系統內核支持的其它特性

OpenHarmony標準系統內核支持統計各個進程的dma-buf占用

  • 數據收集:在dmabuf export的時候(創建時),記錄exporter(申請者)的pid、進程名等信息。
  • 展示:新增以下兩個內核節點用于展示,顯示每個進程占用的dmabuf objects信息:包括dmabuf object的大小、對應inode、申請者、exp_name等所需信息。

/proc/process_dmabuf_info 與 /sys/kernel/debug/dma_buf/process_bufinfo 兩個節點功能相同。

OpenHarmony標準系統內核學習【2】CPU輕量級隔離特性-開源基礎軟件社區

OpenHarmony標準系統內核支持Blackbox

  • rk3568上DFX支持了Blackbox功能,大部分情況下,可以記錄重啟前最后時刻的內核日志,路徑為/data/log/bbox
  • Blackbox的功能會在設備掛掉的時候保存現場,內核相關的config:

OpenHarmony標準系統內核學習【2】CPU輕量級隔離特性-開源基礎軟件社區

內核編譯選項查看:zcat /proc/config.gz

/proc/config.gz 就是標準系統內核配置文件,用 gzip 格式壓縮過。

只有當內核配置 CONFIG_IKCONFIG 和 CONFIG_IKCONFIG_PROC 為 y,才會在 /proc 中出現 config.gz 文件。

相關issues:https://gitee.com/openharmony/kernel_linux_config/issues/I4WRTR

cpuset與cpu熱插拔解耦

??https://gitee.com/openharmony/kernel_linux_5.10/issues/I4LKQ0?from=project-issue??

# cd/ dev/cpuset
# ls
background cpuset.memory_pressure_enabled
cgroup.clone_children cpuset.memory_spread_page
cgroup.procs cpuset.memory_spread_slab
cgroup.sane_behavior cpuset.mems
cpuset.cpu_exclusive cpuset.sched_load_balance
cpuset.cpus cpuset.sched_relax_domain_level
cpuset.effective_cpus foreground
cpuset.effective_mems notify_on_release
cpuset.mem_exclusive release_agent
cpuset.mem_hardwall system-background
cpuset.memory_migrate tasks
cpuset.memory_pressure top-app
# cat cpuset.cpus
0-3

知識點附送

查看系統支持的CPU核心與在線的核心數

cat /sys/devices/system/cpu/present
cat /sys/devices/system/cpu/online

查看系統支持的CPU離線的狀態

cat /sys/devices/system/cpu/offline

查看系統支持的CPU在線的狀態

cat /sys/devices/system/cpu/cpu0/online

開關CPU核心

echo 1 > /sys/devices/system/cpu/cpu0/online
echo 1 > /sys/devices/system/cpu/cpu1/online
echo 0 > /sys/devices/system/cpu/cpu2/online
echo 0 > /sys/devices/system/cpu/cpu3/online

查看CPU信息

cat /proc/cpuinfo

查看計算機名

hostname

查看內核/操作系統/CPU信息

uname -a

查看網卡信息

dmesg | grep -i eth

cpu相關接口

OpenHarmony標準系統內核學習【2】CPU輕量級隔離特性-開源基礎軟件社區

# cd /sys/devices/system/cpu
# ls
core_ctl_isolated cpu3 isolated online smt
cpu0 cpufreq kernel_max possible uevent
cpu1 cpuidle modalias power vulnerabilities
cpu2 hotplug offline present

??想了解更多關于開源的內容,請訪問:??

??51CTO 開源基礎軟件社區??

??https://ost.51cto.com??

責任編輯:jianghua 來源: 51CTO 開源基礎軟件社區
相關推薦

2023-02-01 16:28:30

Linux內核鴻蒙

2022-09-07 15:08:58

操作系統鴻蒙

2022-09-15 14:56:12

GDB調試鴻蒙

2022-10-12 15:14:08

開機動畫鴻蒙

2021-09-16 15:04:28

鴻蒙HarmonyOS應用

2021-11-08 07:19:45

鴻蒙HarmonyOS應用

2022-04-02 20:45:04

Hi3516開發板操作系統鴻蒙

2023-12-29 08:45:40

Python3.8鴻蒙解釋器

2023-06-27 15:12:46

C++三方庫移植

2022-09-14 15:28:19

操作系統鴻蒙

2022-09-15 15:21:22

操作系統鴻蒙

2022-09-13 16:10:15

鴻蒙操作系統

2022-09-16 15:01:37

操作系統技術鴻蒙

2022-09-06 15:46:52

speexdsp鴻蒙

2022-01-13 10:11:59

鴻蒙HarmonyOS應用

2022-02-16 16:01:02

Hi3516開發板鴻蒙

2009-09-11 08:26:49

Linux系統CRUX 2.6Linux

2021-10-09 10:12:39

鴻蒙HarmonyOS應用

2021-07-19 15:34:05

鴻蒙HarmonyOS應用

2023-04-10 09:44:22

內核鼠標調試鴻蒙
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美a∨ | 日韩在线综合 | 国产乱码精品一品二品 | 欧美一二三区 | 久久久久一区二区三区 | 国产一区二区三区不卡av | 国产成人在线免费 | 福利社午夜影院 | 超碰在线播 | 久久久久久综合 | 98成人网 | 伊人免费在线观看 | 日韩av在线一区 | 特一级黄色毛片 | 亚洲国产精品一区二区三区 | 精品国产精品国产偷麻豆 | 久草在线 | 日韩av在线免费 | 久草欧美视频 | 日韩一区二区三区av | 日韩在线观看视频一区 | 国产99精品 | 精品一区二区久久久久久久网站 | 免费久久精品 | 欧美一区二区三区视频 | 精品一区二区三区在线视频 | 国产日韩欧美精品一区二区 | 91精品国产91久久久久游泳池 | 97伦理最新伦理 | 国产一区二区不卡 | 午夜影视免费片在线观看 | 91成人精品视频 | 一区精品国产欧美在线 | 99精品国产一区二区青青牛奶 | 日本在线你懂的 | 日日夜夜操天天干 | 亚洲九九 | 日韩视频一区二区三区 | 日韩精品在线观看一区二区三区 | 亚洲av一级毛片 | 97人人超碰 |