Name |
Date |
Size |
#Lines |
LOC |
||
---|---|---|---|---|---|---|
.. | - | - | ||||
auth_ctl/ | 12-May-2024 | - | 1,671 | 1,252 | ||
figures/ | 12-May-2024 | - | ||||
include/ | 12-May-2024 | - | 315 | 158 | ||
README_zh.md | D | 12-May-2024 | 2.1 KiB | 71 | 50 | |
apply_qos_auth.sh | D | 12-May-2024 | 706 | 32 | 19 |
README_zh.md
1## 背景 2 3为支持并发编程框架FFRT的底层调度能力而设计,允许app侧根据业务逻辑在线程间分配调度资源,保障关键任务时延达标,保障用户体验。 4 5涉及到权限下放和调度资源分配,需要内核实现: 6 71. 高效的能感知状态的app权限管控机制(轻量化权限管控) 82. 动态的调度资源分配机制(动态多级qos) 9 10## auth_ctrl(Authority Control)模块 11 12轻量化权限管控模块,uid粒度的权限管控,根据app前后台状态动态管控对内核feature接口的访问权限 13 14 15 16## qos_ctrl(Qos Control)模块 17 18动态多级qos模块,提供多种policy(前台/后台/system等),每个policy包含6个qos等级,可以从时间片、调度时延、供给3个维度去更改线程调度行为 19 20 21 22## 目录 23 24``` 25├── README_zh.md 26├── apply_qos_auth.sh 27├── figures # ReadMe 内嵌图例 28├── auth_ctl 29│ ├── Kconfig 30│ ├── Makefile 31│ ├── auth_ctrl.c #权限管控主体代码 32│ ├── auth_ctrl.h 33│ ├── auth_qos_debug.c #debug节点主体 34│ ├── qos_ctrl.c #多级qos主体代码 35│ └── qos_ctrl.h 36└── include 37 ├── auth_ctrl.h 38 ├── qos_auth.h 39 ├── qos_ctrl.h 40 └── rtg_auth.h 41``` 42 43## QOS_AUTH配置指导 44 451. 权限管控使能`CONFIG_AUTHORITY_CTRL=y` 462. 多级qos使能`CONFIG_QOS_CTRL=y` 473. RTG鉴权使能`CONFIG_RTG_AUTHORITY=y` 484. qos鉴权使能`CONFIG_QOS_AUTHORITY=y` 495. Debug节点使能`CONFIG_AUTH_QOS_DEBUG=y` 506. Qos策略数量限制`CONFIG_QOS_POLICY_MAX_NR=5`,范围[5, 20] 51 52qos成功设置的宏依赖: 53 54``` 55# 时延控制 56CONFIG_SCHED_LATENCY_NICE=y 57 58# 供给 59CONFIG_UCLAMP_TASK=y 60CONFIG_UCLAMP_BUCKETS_COUNT=20 61CONFIG_UCLAMP_TASK_GROUP=y 62``` 63 64## 相关仓 65 66 67[kernel_linux_5.10](https://gitee.com/openharmony/kernel_linux_5.10) 68 69[kernel_linux_config](https://gitee.com/openharmony/kernel_linux_config) 70 71[device_board_hihope](https://gitee.com/openharmony/device_board_hihope)