mirror of
https://github.com/DragonOS-Community/DragonOS.git
synced 2025-06-19 21:36:30 +00:00
Block IO Scheduler (#158)
* Block io调度器 * process_wakeup时,对cfs的进程,重设虚拟运行时间。解决由于休眠的进程,其虚拟运行时间过小,导致其他进程饥饿的问题 * 1、为AP核启动apic_timer,使其能够运行调度 2、增加kick_cpu功能,支持让某个特定核心立即运行调度器 3、wait_queue的唤醒,改为立即唤醒。 4、增加进程在核心间迁移的功能 5、CFS调度器为每个核心设置单独的IDLE进程pcb(pid均为0) 6、pcb中增加migrate_to字段 7、当具有多核时,io调度器在核心1上运行。 * io调度器文件位置修改 * 修改io的makefile * 更新makefile中的变量名 * 修改io调度器函数名 --------- Co-authored-by: login <longjin@ringotek.cn>
This commit is contained in:
@ -56,8 +56,9 @@ pub extern "C" fn process_try_to_wake_up(
|
||||
// 可以wakeup
|
||||
unsafe {
|
||||
write_volatile(&mut pcb.state, PROC_RUNNING as u64);
|
||||
sched_enqueue(pcb);
|
||||
}
|
||||
sched_enqueue(pcb, true);
|
||||
|
||||
retval = true;
|
||||
}
|
||||
// todo: 对pcb的pi_lock放锁
|
||||
|
Reference in New Issue
Block a user