/DragonOS/kernel/src/sched/ |
H A D | idle.rs | 8 _pcb: alloc::sync::Arc<crate::process::ProcessControlBlock>, in enqueue() argument 16 _pcb: alloc::sync::Arc<crate::process::ProcessControlBlock>, in dequeue() argument 25 _pcb: &alloc::sync::Arc<crate::process::ProcessControlBlock>, in check_preempt_currnet() argument 33 ) -> Option<alloc::sync::Arc<crate::process::ProcessControlBlock>> { in pick_task() argument 42 _pcb: Option<alloc::sync::Arc<crate::process::ProcessControlBlock>>, in pick_next_task() argument 43 ) -> Option<alloc::sync::Arc<crate::process::ProcessControlBlock>> { in pick_next_task() argument 51 _pcb: alloc::sync::Arc<crate::process::ProcessControlBlock>, in tick() argument 57 fn task_fork(_pcb: alloc::sync::Arc<crate::process::ProcessControlBlock>) { in task_fork() argument 63 _prev: alloc::sync::Arc<crate::process::ProcessControlBlock>, in put_prev_task() argument
|
H A D | mod.rs | 34 process::{ProcessControlBlock, ProcessFlags, ProcessManager, ProcessState, SchedInfo}, 99 fn enqueue(rq: &mut CpuRunQueue, pcb: Arc<ProcessControlBlock>, flags: EnqueueFlag); in enqueue() argument 102 fn dequeue(rq: &mut CpuRunQueue, pcb: Arc<ProcessControlBlock>, flags: DequeueFlag); in dequeue() argument 110 pcb: &Arc<ProcessControlBlock>, in check_preempt_currnet() argument 116 fn pick_task(rq: &mut CpuRunQueue) -> Option<Arc<ProcessControlBlock>>; in pick_task() argument 121 pcb: Option<Arc<ProcessControlBlock>>, in pick_next_task() argument 122 ) -> Option<Arc<ProcessControlBlock>>; in pick_next_task() argument 125 fn tick(rq: &mut CpuRunQueue, pcb: Arc<ProcessControlBlock>, queued: bool); in tick() argument 128 fn task_fork(pcb: Arc<ProcessControlBlock>); in task_fork() argument 130 fn put_prev_task(rq: &mut CpuRunQueue, prev: Arc<ProcessControlBlock>); in put_prev_task() argument [all …]
|
H A D | cputime.rs | 4 arch::CurrentIrqArch, exception::InterruptArch, process::ProcessControlBlock, 59 pub fn irqtime_account_irq(_pcb: Arc<ProcessControlBlock>) { in irqtime_account_irq() argument 75 _pcb: &Arc<ProcessControlBlock>, in irqtime_account_process_tick() argument
|
H A D | pelt.rs | 5 use crate::process::ProcessControlBlock; 167 pub fn post_init_entity_util_avg(pcb: &Arc<ProcessControlBlock>) { in post_init_entity_util_avg() argument
|
H A D | fair.rs | 9 use crate::process::ProcessControlBlock; 82 pcb: Weak<ProcessControlBlock>, 124 pub fn pcb(&self) -> Arc<ProcessControlBlock> { in pcb() argument 128 pub fn set_pcb(&mut self, pcb: Weak<ProcessControlBlock>) { in set_pcb() argument 1409 pcb: Arc<crate::process::ProcessControlBlock>, in enqueue() argument 1471 pcb: Arc<crate::process::ProcessControlBlock>, in dequeue() argument 1565 pcb: &Arc<crate::process::ProcessControlBlock>, in check_preempt_currnet() argument 1641 fn pick_task(rq: &mut CpuRunQueue) -> Option<Arc<crate::process::ProcessControlBlock>> { in pick_task() argument 1676 fn tick(_rq: &mut CpuRunQueue, pcb: Arc<crate::process::ProcessControlBlock>, queued: bool) { in tick() argument 1689 fn task_fork(pcb: Arc<ProcessControlBlock>) { in task_fork() argument [all …]
|
/DragonOS/kernel/src/process/ |
H A D | fork.rs | 23 KernelStack, Pid, ProcessControlBlock, ProcessManager, 170 let pcb = ProcessControlBlock::new(name, new_kstack); in fork() 215 new_pcb: &Arc<ProcessControlBlock>, in copy_flags() argument 242 current_pcb: &Arc<ProcessControlBlock>, in copy_mm() argument 243 new_pcb: &Arc<ProcessControlBlock>, in copy_mm() argument 269 current_pcb: &Arc<ProcessControlBlock>, in copy_namespaces() argument 270 new_pcb: &Arc<ProcessControlBlock>, in copy_namespaces() argument 297 current_pcb: &Arc<ProcessControlBlock>, in copy_files() argument 298 new_pcb: &Arc<ProcessControlBlock>, in copy_files() argument 318 current_pcb: &Arc<ProcessControlBlock>, in copy_sighand() argument [all …]
|
H A D | idle.rs | 15 use super::{ProcessControlBlock, ProcessManager}; 17 static mut __IDLE_PCB: Option<Vec<Arc<ProcessControlBlock>>> = None; 34 let mut v: Vec<Arc<ProcessControlBlock>> = Vec::with_capacity(PerCpu::MAX_CPU_NUM as usize); in init_idle() 51 let idle_pcb = ProcessControlBlock::new_idle(i, kstack); in init_idle() 103 pub fn idle_pcb() -> &'static Vec<Arc<ProcessControlBlock>> { in idle_pcb()
|
H A D | mod.rs | 86 static ALL_PROCESS: SpinLock<Option<HashMap<Pid, Arc<ProcessControlBlock>>>> = SpinLock::new(None); 94 pub prev_pcb: Option<Arc<ProcessControlBlock>>, 95 pub next_pcb: Option<Arc<ProcessControlBlock>>, 159 pub fn current_pcb() -> Arc<ProcessControlBlock> { in current_pcb() 166 return ProcessControlBlock::arch_current_pcb(); in current_pcb() 205 pub fn find(pid: Pid) -> Option<Arc<ProcessControlBlock>> { in find() argument 218 pub fn add_pcb(pcb: Arc<ProcessControlBlock>) { in add_pcb() argument 227 pub fn wakeup(pcb: &Arc<ProcessControlBlock>) -> Result<(), SystemError> { in wakeup() 267 pub fn wakeup_stop(pcb: &Arc<ProcessControlBlock>) -> Result<(), SystemError> { in wakeup_stop() 498 pub fn kick(pcb: &Arc<ProcessControlBlock>) { in kick() argument [all …]
|
H A D | kthread.rs | 25 use super::{fork::CloneFlags, Pid, ProcessControlBlock, ProcessFlags}; 31 static mut KTHREAD_DAEMON_PCB: Option<Arc<ProcessControlBlock>> = None; 134 result_pcb: SpinLock<Option<Arc<ProcessControlBlock>>>, 178 pub fn poll_result(&self) -> Option<Arc<ProcessControlBlock>> { in poll_result() argument 208 pub unsafe fn set_create_ok(&self, pcb: Arc<ProcessControlBlock>) { in set_create_ok() argument 339 pub fn create(func: KernelThreadClosure, name: String) -> Option<Arc<ProcessControlBlock>> { in create() argument 366 ) -> Option<Arc<ProcessControlBlock>> { in create_and_run() argument 381 pub fn stop(pcb: &Arc<ProcessControlBlock>) -> Result<usize, SystemError> { in stop() 428 pub fn should_stop(pcb: &Arc<ProcessControlBlock>) -> bool { in should_stop()
|
H A D | resource.rs | 6 use super::ProcessControlBlock; 140 impl ProcessControlBlock { implementation
|
H A D | exit.rs | 18 abi::WaitOption, pid::PidType, resource::RUsage, Pid, ProcessControlBlock, ProcessManager, 181 child_pcb: Arc<ProcessControlBlock>, in do_waitpid() argument
|
H A D | syscall.rs | 22 process::ProcessControlBlock, 127 .set_name(ProcessControlBlock::generate_name(&path, &argv)); in execve() 239 let pcb = ProcessControlBlock::new(name, new_kstack); in clone()
|
/DragonOS/kernel/src/arch/riscv64/process/ |
H A D | mod.rs | 23 switch_finish_hook, KernelStack, ProcessControlBlock, ProcessFlags, ProcessManager, 105 current_pcb: &Arc<ProcessControlBlock>, in copy_thread() argument 106 new_pcb: &Arc<ProcessControlBlock>, in copy_thread() argument 167 pub unsafe fn switch_process(prev: Arc<ProcessControlBlock>, next: Arc<ProcessControlBlock>) { in switch_process() argument 202 fn switch_process_fpu(prev: &Arc<ProcessControlBlock>, next: &Arc<ProcessControlBlock>) { in switch_process_fpu() argument 211 fn switch_local_context(prev: &Arc<ProcessControlBlock>, next: &Arc<ProcessControlBlock>) { in switch_local_context() argument 218 unsafe fn task_trapframe(task: &Arc<ProcessControlBlock>) -> &mut TrapFrame { in task_trapframe() 316 impl ProcessControlBlock { impl 327 let p = stack_base.data() as *const *const ProcessControlBlock; in arch_current_pcb() constant 334 let weak_wrapper: ManuallyDrop<Weak<ProcessControlBlock>> = in arch_current_pcb() [all …]
|
/DragonOS/kernel/src/ipc/ |
H A D | signal.rs | 11 process::{pid::PidType, Pid, ProcessControlBlock, ProcessFlags, ProcessManager}, 22 pcb: &Arc<ProcessControlBlock>, in signal_pending_state() argument 36 pub fn fatal_signal_pending(pcb: &Arc<ProcessControlBlock>) -> bool { in fatal_signal_pending() 100 pcb: Arc<ProcessControlBlock>, in send_signal() argument 172 fn complete_signal(&self, pcb: Arc<ProcessControlBlock>, pt: PidType) { in complete_signal() argument 182 let target_pcb: Option<Arc<ProcessControlBlock>>; in complete_signal() 220 fn wants_signal(&self, pcb: Arc<ProcessControlBlock>) -> bool { in wants_signal() 249 fn sig_fatal(&self, pcb: Arc<ProcessControlBlock>) -> bool { in sig_fatal() 272 fn prepare_sianal(&self, pcb: Arc<ProcessControlBlock>, _force: bool) -> bool { in prepare_sianal() argument 313 fn signal_wake_up(pcb: Arc<ProcessControlBlock>, _guard: SpinLockGuard<SignalStruct>, fatal: bool) { in signal_wake_up() argument [all …]
|
/DragonOS/kernel/src/arch/x86_64/process/ |
H A D | mod.rs | 22 KernelStack, ProcessControlBlock, ProcessFlags, ProcessManager, PROCESS_SWITCH_RESULT, 267 impl ProcessControlBlock { implementation 276 let p = stack_base.data() as *const *const ProcessControlBlock; in arch_current_pcb() constant 283 let weak_wrapper: ManuallyDrop<Weak<ProcessControlBlock>> = in arch_current_pcb() 286 let new_arc: Arc<ProcessControlBlock> = weak_wrapper.upgrade().unwrap(); in arch_current_pcb() 300 current_pcb: &Arc<ProcessControlBlock>, in copy_thread() argument 301 new_pcb: &Arc<ProcessControlBlock>, in copy_thread() argument 368 pub unsafe fn switch_process(prev: Arc<ProcessControlBlock>, next: Arc<ProcessControlBlock>) { in switch_process() argument 415 unsafe fn switch_gsbase(prev: &Arc<ProcessControlBlock>, next: &Arc<ProcessControlBlock>) { in switch_gsbase() argument
|
H A D | syscall.rs | 14 ProcessControlBlock, ProcessManager, 140 pcb: &Arc<ProcessControlBlock>, in do_arch_prctl_64() argument
|
/DragonOS/kernel/src/driver/tty/ |
H A D | kthread.rs | 12 ProcessControlBlock, ProcessManager, 20 static mut TTY_REFRESH_THREAD: Option<Arc<ProcessControlBlock>> = None;
|
/DragonOS/kernel/src/libs/ |
H A D | mutex.rs | 13 process::{Pid, ProcessControlBlock, ProcessManager}, 24 wait_list: LinkedList<Arc<ProcessControlBlock>>, 127 let to_wakeup: Arc<ProcessControlBlock> = inner.wait_list.pop_front().unwrap(); in unlock()
|
H A D | wait_queue.rs | 11 process::{ProcessControlBlock, ProcessManager, ProcessState}, 23 wait_list: LinkedList<Arc<ProcessControlBlock>>, 255 let mut to_push_back: Vec<Arc<ProcessControlBlock>> = Vec::new(); in wakeup_all() 308 wait_list: SpinLock<Vec<(u64, Arc<ProcessControlBlock>)>>,
|
/DragonOS/kernel/src/namespaces/ |
H A D | mod.rs | 9 process::{fork::CloneFlags, ProcessControlBlock}, 55 pcb: &Arc<ProcessControlBlock>, in create_new_namespaces() argument
|
H A D | namespace.rs | 8 use crate::process::{Pid, ProcessControlBlock, ProcessManager}; 95 pub fn switch_task_namespace(pcb: Arc<ProcessControlBlock>, new_nsproxy: NsProxy) { in switch_task_namespace() argument
|
/DragonOS/kernel/src/filesystem/vfs/ |
H A D | utils.rs | 8 use crate::process::ProcessControlBlock; 41 pcb: &Arc<ProcessControlBlock>, in user_path_at() argument
|
/DragonOS/kernel/src/smp/cpu/ |
H A D | mod.rs | 11 process::{ProcessControlBlock, ProcessManager}, 49 thread: Option<Arc<ProcessControlBlock>>, 69 pub const fn thread(&self) -> &Option<Arc<ProcessControlBlock>> { in thread() argument
|
/DragonOS/kernel/src/time/ |
H A D | timer.rs | 23 process::{ProcessControlBlock, ProcessManager}, 90 pcb: Arc<ProcessControlBlock>, 94 pub fn new(pcb: Arc<ProcessControlBlock>) -> Box<WakeUpHelper> { in new()
|
/DragonOS/kernel/src/libs/futex/ |
H A D | futex.rs | 21 process::{Pid, ProcessControlBlock, ProcessManager}, 143 pcb: Weak<ProcessControlBlock>, 708 let pcb: Arc<ProcessControlBlock> = if pid == 0 { in get_robust_list() 745 pub fn exit_robust_list(pcb: Arc<ProcessControlBlock>) { in exit_robust_list() argument
|