Lines Matching full:thread

36 .Nd machine-dependent interfaces to handle CPU and thread state
41 .Fn cpu_copy_thread "struct thread *td" "struct thread *td0"
45 .Fn cpu_exit "struct thread *td"
47 .Fn cpu_fetch_syscall_args "struct thread *td"
50 .Fa "struct thread *td1" "struct proc *p2" "struct thread *td2" "int flags"
54 .Fa "struct thread *td" "void (*func)(void *)" "void *arg"
62 .Fa "struct thread *td" "int idtype" "id_t id" "int com" "void *data"
65 .Fn cpu_ptrace "struct thread *_td" "int req" "void *addr" "int data"
67 .Fn cpu_set_syscall_retval "struct thread *td" "int error"
70 .Fa "struct thread *td" "void (*entry)(void *)" "void *arg" "stack_t *stack"
73 .Fn cpu_set_user_tls "struct thread *td" "void *tls_base"
75 .Fn cpu_switch "struct thread *old" "struct thread *new" "struct mtx *mtx"
79 .Fn cpu_thread_alloc "struct thread *td"
81 .Fn cpu_thread_clean "struct thread *td"
83 .Fn cpu_thread_exit "struct thread *td"
85 .Fn cpu_thread_free "struct thread *td"
87 .Fn cpu_throw "struct thread *old" "struct thread *new"
89 .Fn cpu_update_pcb "struct thread *td"
120 (for example, the pcb and user registers) from the forking thread
122 in an existing process to the new thread
126 This function must set up the new thread's kernel stack and pcb so that
141 adjusts a new thread's initial pcb and/or kernel stack to pass
151 This must be called before a new thread is scheduled to run and is
161 when creating a new thread in the same process.
162 This function must set up the new thread's kernel stack and pcb so that
177 updates a new thread's initial user register state to call
185 sets a new thread's initial user thread pointer register to
190 updates the pcb of the current thread with current user register values.
193 thread that are saved in the pcb during context switches rather than
199 threads in a process other than the current thread are stopped,
207 current thread's user register state and/or user stack.
291 transferring ownership of the old thread.
295 Specifically, the old thread's kernel stack must not be accessed after
327 or write to the old thread's
336 .Ss Thread Object Lifecycle
337 These functions support the management of machine-dependent thread
338 state in conjunction with a thread object's lifecycle.
340 The general model is that a thread object is allocated each time a
341 new kernel thread is created either by system calls like
350 When a kernel thread exits,
351 the thread object is freed.
353 free process object caches a thread object.
354 When a process exits, the last thread object is not freed but remains
358 the kernel recycles that last thread object and uses it as the initial
359 thread in the new process.
360 When a thread is recycled, some of the steps in the thread allocation
373 is called both when allocating a new thread object and
374 when a recycled thread allocates a new kernel stack.
377 called if a recycled thread reuses its existing kernel stack.
380 releases any machine-dependent resources for the last thread in a
383 The thread is a candidate for recycling so should be reset to run as a
384 new thread in case it is recycled by a future
391 This is called by the exiting thread so cannot free state needed during
398 This is called for any thread that was not the last thread in a process