/DragonOS-0.1.8/kernel/src/process/ |
D | proc-types.h | 78 struct process_control_block struct 81 volatile uint64_t state; 83 uint64_t flags; 84 int32_t preempt_count; // 持有的自旋锁的数量 86 uint32_t cpu_id; // 当前进程在哪个CPU核心上运行 88 char name[PCB_NAME_LEN]; 114 struct process_control_block *prev_pcb, *next_pcb; argument 116 struct process_control_block *parent_pcb; argument 118 int32_t exit_code; // 进程退出时的返回码 119 uint32_t policy; // 进程调度策略标志位 [all …]
|
D | process.rs | 50 _pcb: *mut process_control_block, in process_try_to_wake_up() 91 pub extern "C" fn process_wake_up_state(pcb: *mut process_control_block, state: u64) -> bool { in process_wake_up_state() 96 pub fn process_kick(pcb: *mut process_control_block) { in process_kick() 117 return cpu_executing(process_cpu(pcb)) as *const process_control_block == pcb; in process_is_executing() constant 120 impl process_control_block { implementation 144 from: &'static process_control_block, in copy_files()
|
D | fork.rs | 110 pub extern "C" fn process_exit_signal(pcb: *mut process_control_block) { in process_exit_signal() 126 pub extern "C" fn process_exit_sighand(pcb: *mut process_control_block) { in process_exit_sighand()
|
D | c_adapter.rs | 52 from: &'static process_control_block, in process_copy_files() 98 pub extern "C" fn rs_process_exit_fpstate(pcb: &'static mut process_control_block) { in rs_process_exit_fpstate()
|
D | initial_proc.rs | 28 pub extern "C" fn initial_proc_init_signal(pcb: *mut process_control_block) { in initial_proc_init_signal()
|
/DragonOS-0.1.8/kernel/src/sched/ |
D | core.rs | 20 pub fn cpu_executing(cpu_id: u32) -> &'static mut process_control_block { in cpu_executing() 42 pub fn loads_balance(pcb: &mut process_control_block) { in loads_balance() 69 fn sched(&mut self) -> Option<&'static mut process_control_block>; in sched() 72 fn enqueue(&mut self, pcb: &'static mut process_control_block); in enqueue() 81 let next: &'static mut process_control_block; in do_sched() variable 103 pub extern "C" fn sched_enqueue(pcb: &'static mut process_control_block, mut reset_time: bool) { in sched_enqueue() 172 pub extern "C" fn sched_set_cpu_idle(cpu_id: usize, pcb: *mut process_control_block) { in sched_set_cpu_idle() 183 pcb: &'static mut process_control_block, in sched_migrate_process()
|
D | rt.rs | 52 pub fn enqueue(&mut self, pcb: &'static mut process_control_block) { in enqueue() 66 pub fn dequeue(&mut self) -> Option<&'static mut process_control_block> { in dequeue() 67 let res: Option<&'static mut process_control_block>; in dequeue() variable 80 pub fn enqueue_front(&mut self, pcb: &'static mut process_control_block) { in enqueue_front() 133 pub fn pick_next_task_rt(&mut self, cpu_id: u32) -> Option<&'static mut process_control_block> { in pick_next_task_rt() 138 let proc: Option<&'static mut process_control_block> = cpu_queue_i.dequeue(); in pick_next_task_rt() variable 161 pub fn enqueue_front(&mut self, pcb: &'static mut process_control_block) { in enqueue_front() 169 fn sched(&mut self) -> Option<&'static mut process_control_block> { in sched() 173 let proc: &'static mut process_control_block = in sched() variable 214 fn enqueue(&mut self, pcb: &'static mut process_control_block) { in enqueue()
|
D | cfs.rs | 60 pub fn enqueue(&mut self, pcb: &'static mut process_control_block) { in enqueue() 76 pub fn dequeue(&mut self) -> &'static mut process_control_block { in dequeue() 77 let res: &'static mut process_control_block; in dequeue() variable 160 pub fn enqueue_reset_vruntime(&mut self, pcb: &'static mut process_control_block) { in enqueue_reset_vruntime() 170 pub fn set_cpu_idle(&mut self, cpu_id: usize, pcb: *mut process_control_block) { in set_cpu_idle() 183 fn sched(&mut self) -> Option<&'static mut process_control_block> { in sched() 190 let proc: &'static mut process_control_block = current_cpu_queue.dequeue(); in sched() variable 232 fn enqueue(&mut self, pcb: &'static mut process_control_block) { in enqueue()
|
/DragonOS-0.1.8/kernel/src/arch/x86_64/ |
D | context.rs | 13 prev: &'static mut process_control_block, in switch_process() 14 next: &'static mut process_control_block, in switch_process()
|
D | fpu.rs | 81 pub fn fp_state_save(pcb: &mut process_control_block) { in fp_state_save() 119 pub fn fp_state_restore(pcb: &mut process_control_block) { in fp_state_restore()
|
/DragonOS-0.1.8/kernel/src/ipc/ |
D | signal.rs | 125 target_pcb: &mut process_control_block, in signal_send_sig_info() 155 pcb: &'a mut process_control_block, in lock_process_sighand() 178 fn unlock_process_sighand(pcb: &mut process_control_block, flags: usize) { in unlock_process_sighand() 191 pcb: &mut process_control_block, in send_signal_locked() 220 pcb: &mut process_control_block, in __send_signal_locked() 262 fn complete_signal(sig: SignalNumber, pcb: &mut process_control_block, pt: PidType) { in complete_signal() 339 fn sig_fatal(pcb: &process_control_block, sig: SignalNumber) -> bool { in sig_fatal() 368 fn signal_wake_up(pcb: &mut process_control_block, fatal: bool) { in signal_wake_up() 377 fn signal_wake_up_state(pcb: &mut process_control_block, state: u64) { in signal_wake_up_state() 767 pub fn flush_signal_handlers(pcb: *mut process_control_block, force_default: bool) { in flush_signal_handlers()
|
/DragonOS-0.1.8/kernel/src/libs/ |
D | mutex.rs | 53 wait_list: LinkedList::<&'static mut process_control_block>::new(), in new() variable
|
/DragonOS-0.1.8/kernel/src/mm/ |
D | mod.rs | 628 unsafe impl Send for process_control_block {} implementation 629 unsafe impl Sync for process_control_block {} implementation
|