Home
last modified time | relevance | path

Searched refs:ProcessControlBlock (Results 1 – 25 of 29) sorted by relevance

12

/DragonOS/kernel/src/sched/
H A Didle.rs8 _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 Dmod.rs34 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 Dcputime.rs4 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 Dpelt.rs5 use crate::process::ProcessControlBlock;
167 pub fn post_init_entity_util_avg(pcb: &Arc<ProcessControlBlock>) { in post_init_entity_util_avg() argument
H A Dfair.rs9 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 Dfork.rs23 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 Didle.rs15 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 Dmod.rs86 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 Dkthread.rs25 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 Dresource.rs6 use super::ProcessControlBlock;
140 impl ProcessControlBlock { implementation
H A Dexit.rs18 abi::WaitOption, pid::PidType, resource::RUsage, Pid, ProcessControlBlock, ProcessManager,
181 child_pcb: Arc<ProcessControlBlock>, in do_waitpid() argument
H A Dsyscall.rs22 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 Dmod.rs23 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 Dsignal.rs11 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 Dmod.rs22 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 Dsyscall.rs14 ProcessControlBlock, ProcessManager,
140 pcb: &Arc<ProcessControlBlock>, in do_arch_prctl_64() argument
/DragonOS/kernel/src/driver/tty/
H A Dkthread.rs12 ProcessControlBlock, ProcessManager,
20 static mut TTY_REFRESH_THREAD: Option<Arc<ProcessControlBlock>> = None;
/DragonOS/kernel/src/libs/
H A Dmutex.rs13 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 Dwait_queue.rs11 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 Dmod.rs9 process::{fork::CloneFlags, ProcessControlBlock},
55 pcb: &Arc<ProcessControlBlock>, in create_new_namespaces() argument
H A Dnamespace.rs8 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 Dutils.rs8 use crate::process::ProcessControlBlock;
41 pcb: &Arc<ProcessControlBlock>, in user_path_at() argument
/DragonOS/kernel/src/smp/cpu/
H A Dmod.rs11 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 Dtimer.rs23 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 Dfutex.rs21 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

12