mirror of
https://github.com/DragonOS-Community/DragonOS.git
synced 2025-06-09 11:16:47 +00:00
## PR:重写调度模块 --- ### 完成的部分 - 实现cfs调度策略 - 搭建框架,后续功能可以迭代开发 - 目前能跑,未测试性能 ### 需要后续接力的部分 - 实现组内调度(task_group) - 实现跨核负载均衡(pelt算法) - 接入sysfs,实现参数动态调节(sched_stat等) - nice值以及priority等参数的设置及调优
34 lines
750 B
Rust
34 lines
750 B
Rust
pub const MAX_NICE: i32 = 20;
|
|
pub const MIN_NICE: i32 = -20;
|
|
pub const NICE_WIDTH: i32 = MAX_NICE - MIN_NICE + 1;
|
|
|
|
pub const MAX_RT_PRIO: i32 = 100;
|
|
pub const MAX_PRIO: i32 = MAX_RT_PRIO + NICE_WIDTH;
|
|
#[allow(dead_code)]
|
|
pub const DEFAULT_PRIO: i32 = MAX_RT_PRIO + NICE_WIDTH / 2;
|
|
|
|
pub const MAX_DL_PRIO: i32 = 0;
|
|
pub struct PrioUtil;
|
|
#[allow(dead_code)]
|
|
impl PrioUtil {
|
|
#[inline]
|
|
pub fn nice_to_prio(nice: i32) -> i32 {
|
|
nice + DEFAULT_PRIO
|
|
}
|
|
|
|
#[inline]
|
|
pub fn prio_to_nice(prio: i32) -> i32 {
|
|
prio - DEFAULT_PRIO
|
|
}
|
|
|
|
#[inline]
|
|
pub fn dl_prio(prio: i32) -> bool {
|
|
return prio < MAX_DL_PRIO;
|
|
}
|
|
|
|
#[inline]
|
|
pub fn rt_prio(prio: i32) -> bool {
|
|
return prio < MAX_RT_PRIO;
|
|
}
|
|
}
|