Home
last modified time | relevance | path

Searched refs:process_control_block (Results 1 – 25 of 30) sorted by relevance

12

/DragonOS-0.1.2/kernel/src/process/
Dprocess.h25 extern void process_exit_thread(struct process_control_block *pcb);
26 extern uint64_t process_exit_files(struct process_control_block *pcb);
97 struct process_control_block *process_find_pcb_by_pid(pid_t pid);
106 int process_wakeup(struct process_control_block *pcb);
113 int process_wakeup_immediately(struct process_control_block *pcb);
132 uint64_t process_exit_mm(struct process_control_block *pcb);
161 int process_release_pcb(struct process_control_block *pcb);
187 extern struct process_control_block *initial_proc[MAX_CPU_NUM];
195 void process_set_pcb_name(struct process_control_block *pcb, const char *pcb_name);
206 extern bool process_is_stopped(struct process_control_block *pcb);
[all …]
Dprocess.rs6 process_control_block, sched_enqueue, PROC_RUNNING, PROC_STOPPED,
16 pub extern "C" fn process_is_stopped(pcb: *const process_control_block) -> bool { in process_is_stopped()
35 _pcb: *mut process_control_block, in process_try_to_wake_up() argument
46 if current_pcb() as *mut process_control_block as usize == _pcb as usize { in process_try_to_wake_up()
75 pub extern "C" fn process_wake_up_state(pcb: *mut process_control_block, state: u64) -> bool { in process_wake_up_state() argument
81 pub fn process_kick(pcb: *mut process_control_block) { in process_kick() argument
93 pub fn process_cpu(pcb: *const process_control_block) -> u32 { in process_cpu()
101 pub fn process_is_executing(pcb: *const process_control_block) -> bool { in process_is_executing()
Dkthread.c10 struct process_control_block *kthreadd_pcb = NULL; // kthreadd守护线程的pcb
33 struct process_control_block *result;
44 struct kthread_info_t *to_kthread(struct process_control_block *pcb) in to_kthread()
50 static struct process_control_block *__kthread_create_on_node(int (*thread_fn)(void *data), void *d… in __kthread_create_on_node()
53 struct process_control_block *pcb = NULL; in __kthread_create_on_node()
137 struct process_control_block *kthread_create_on_node(int (*thread_fn)(void *data), void *data, int … in kthread_create_on_node()
140 struct process_control_block *pcb; in kthread_create_on_node()
199 create->result = (struct process_control_block *)pid; in __create_kthread()
212 struct process_control_block *pcb = current_pcb; in kthreadd()
263 int kthread_stop(struct process_control_block *pcb) in kthread_stop()
[all …]
Dfork.c12 int process_copy_files(uint64_t clone_flags, struct process_control_block *pcb);
13 int process_copy_flags(uint64_t clone_flags, struct process_control_block *pcb);
14 int process_copy_mm(uint64_t clone_flags, struct process_control_block *pcb);
15 int process_copy_thread(uint64_t clone_flags, struct process_control_block *pcb, uint64_t stack_sta…
18 extern int process_copy_sighand(uint64_t clone_flags, struct process_control_block *pcb);
19 extern int process_copy_signal(uint64_t clone_flags, struct process_control_block *pcb);
20 extern void process_exit_sighand(struct process_control_block *pcb);
21 extern void process_exit_signal(struct process_control_block *pcb);
36 struct process_control_block *tsk = NULL; in do_fork()
39 tsk = (struct process_control_block *)kzalloc(STACK_SIZE, 0); in do_fork()
[all …]
Dproc-types.h75 struct process_control_block struct
113 struct process_control_block *prev_pcb, *next_pcb; argument
115 struct process_control_block *parent_pcb; argument
135 struct process_control_block pcb; argument
Dprocess.c50 extern void process_exit_sighand(struct process_control_block *pcb);
51 extern void process_exit_signal(struct process_control_block *pcb);
52 extern void initial_proc_init_signal(struct process_control_block *pcb);
78 struct process_control_block *initial_proc[MAX_CPU_NUM] = {&initial_proc_union.pcb, 0};
89 uint64_t process_exit_files(struct process_control_block *pcb);
97 uint64_t process_exit_mm(struct process_control_block *pcb);
109 void __switch_to(struct process_control_block *prev, struct process_control_block *next) in __switch_to()
546 struct process_control_block *pcb = current_pcb; in process_do_exit()
651 struct process_control_block *process_find_pcb_by_pid(pid_t pid) in process_find_pcb_by_pid()
654 struct process_control_block *pcb = initial_proc_union.pcb.next_pcb; in process_find_pcb_by_pid()
[all …]
Dfork.rs8 process_control_block, CLONE_CLEAR_SIGHAND, CLONE_SIGHAND, CLONE_THREAD, ENOMEM,
23 pub extern "C" fn process_copy_sighand(clone_flags: u64, pcb: *mut process_control_block) -> i32 { in process_copy_sighand()
82 pub extern "C" fn process_copy_signal(clone_flags: u64, pcb: *mut process_control_block) -> i32 { in process_copy_signal()
109 pub extern "C" fn process_exit_signal(pcb: *mut process_control_block) { in process_exit_signal() argument
125 pub extern "C" fn process_exit_sighand(pcb: *mut process_control_block) { in process_exit_sighand() argument
Dinitial_proc.rs6 include::bindings::bindings::{atomic_t, process_control_block, spinlock_t},
28 pub extern "C" fn initial_proc_init_signal(pcb: *mut process_control_block) { in initial_proc_init_signal() argument
/DragonOS-0.1.2/kernel/src/common/
Dkthread.h24 struct process_control_block *kthread_create_on_node(int (*thread_fn)(void *data),
51 … struct process_control_block *__kt = kthread_create(thread_fn, data, name_fmt, ##__VA_ARGS__); \
63 int kthread_stop(struct process_control_block * pcb);
93 bool kthread_set_worker_private(struct process_control_block *pcb);
101 struct kthread_info_t *to_kthread(struct process_control_block *pcb);
108 void free_kthread_struct(struct process_control_block *pcb);
Dwait_queue.h4 struct process_control_block;
15 struct process_control_block *pcb;
24 void wait_queue_init(wait_queue_node_t *wait_queue, struct process_control_block *pcb);
Dmutex.h31 struct process_control_block *pcb;
/DragonOS-0.1.2/kernel/src/sched/
Dcfs.h11 struct process_control_block proc_queue;
27 void sched_cfs_enqueue(struct process_control_block *pcb);
34 struct process_control_block *sched_cfs_dequeue();
Dsched.c17 static int __sched_setscheduler(struct process_control_block *p, const struct sched_attr *attr, boo… in __sched_setscheduler()
31 static int _sched_setscheduler(struct process_control_block *p, int policy, const struct sched_para… in _sched_setscheduler()
47 int sched_setscheduler(struct process_control_block *p, int policy, const struct sched_param *param) in sched_setscheduler()
57 void sched_enqueue(struct process_control_block *pcb) in sched_enqueue()
Dcfs.c13 struct process_control_block *sched_cfs_dequeue() in sched_cfs_dequeue()
21 …ruct process_control_block *proc = container_of(list_next(&sched_cfs_ready_queue[proc_current_cpu_… in sched_cfs_dequeue()
33 void sched_cfs_enqueue(struct process_control_block *pcb) in sched_cfs_enqueue()
37 …ruct process_control_block *proc = container_of(list_next(&sched_cfs_ready_queue[proc_current_cpu_… in sched_cfs_enqueue()
42 proc = container_of(list_next(&proc->list), struct process_control_block, list); in sched_cfs_enqueue()
60 struct process_control_block *proc = sched_cfs_dequeue(); in sched_cfs()
Dsched.h47 static int __sched_setscheduler(struct process_control_block *p, const struct sched_attr *attr, boo…
48 static int _sched_setscheduler(struct process_control_block *p, int policy, const struct sched_para…
59 int sched_setscheduler(struct process_control_block *p, int policy, const struct sched_param *param…
65 void sched_enqueue(struct process_control_block *pcb);
Dcore.rs1 use crate::{include::bindings::bindings::process_control_block, process::process::process_cpu, arch…
5 pub fn cpu_executing(cpu_id:u32) -> *const process_control_block{ in cpu_executing() argument
/DragonOS-0.1.2/kernel/src/arch/x86_64/asm/
Dcurrent.rs1 use crate::include::bindings::bindings::process_control_block;
7 pub fn current_pcb() -> &'static mut process_control_block { in current_pcb()
8 let ret: Option<&mut process_control_block>; in current_pcb()
14 ret = (tmp as *mut process_control_block).as_mut(); in current_pcb()
/DragonOS-0.1.2/kernel/src/arch/x86_64/include/asm/
Dcurrent.h6 struct process_control_block;
8 struct process_control_block *get_current_pcb() in get_current_pcb()
10 struct process_control_block *current = NULL; in get_current_pcb()
/DragonOS-0.1.2/docs/kernel/process_management/
Dpcb.md26 **struct process_control_block**
Dkthread.md71 &emsp;&emsp;`int kthread_stop(struct process_control_block * pcb)`
/DragonOS-0.1.2/kernel/src/ipc/
Dsignal.rs9 pid_t, process_control_block, process_do_exit, process_find_pcb_by_pid, pt_regs,
149 target_pcb: &mut process_control_block, in signal_send_sig_info() argument
179 pcb: &'a mut process_control_block, in lock_process_sighand() argument
202 fn unlock_process_sighand(pcb: &mut process_control_block, flags: u64) { in unlock_process_sighand() argument
215 pcb: &mut process_control_block, in send_signal_locked() argument
244 pcb: &mut process_control_block, in __send_signal_locked() argument
272 fn complete_signal(sig: SignalNumber, pcb: &mut process_control_block, pt: PidType) { in complete_signal() argument
288 let mut _target: Option<&mut process_control_block> = None; in complete_signal()
320 fn wants_signal(sig: SignalNumber, pcb: &process_control_block) -> bool { in wants_signal()
349 fn sig_fatal(pcb: &process_control_block, sig: SignalNumber) -> bool { in sig_fatal() argument
[all …]
/DragonOS-0.1.2/kernel/src/smp/
Dsmp.c93 …((struct process_control_block *)(cpu_core_info[current_starting_cpu].stack_start - STACK_SIZE))->… in smp_init()
95 …((struct process_control_block *)(cpu_core_info[current_starting_cpu].ist_stack_start - STACK_SIZE… in smp_init()
156 memset(current_pcb, 0, sizeof(struct process_control_block)); in smp_ap_start()
/DragonOS-0.1.2/kernel/src/time/
Dsleep.c17 process_wakeup((struct process_control_block *)pcb); in nanosleep_handler()
/DragonOS-0.1.2/kernel/src/libs/
Dwait_queue.c13 void wait_queue_init(wait_queue_node_t *wait_queue, struct process_control_block *pcb) in wait_queue_init()
/DragonOS-0.1.2/docs/kernel/sched/
Dwaiting.md29 struct process_control_block *pcb;
43 &emsp;&emsp;函数`wait_queue_init(wait_queue_node_t *wait_queue, struct process_control_block *pcb)`提供…

12