Lines Matching refs:thread

39 #include <kern/thread.h>
84 STACK_ZINFO_PALLOC(thread_t thread)
89 ledger_credit(thread->t_ledger, task_ledgers.tkm_private, kernel_stack_size);
92 (task = thread->task) != NULL && (zinfo = task->tkm_zinfo) != NULL)
98 STACK_ZINFO_PFREE(thread_t thread)
103 ledger_debit(thread->t_ledger, task_ledgers.tkm_private, kernel_stack_size);
106 (task = thread->task) != NULL && (zinfo = task->tkm_zinfo) != NULL)
185 * Allocate a stack for a thread, may
241 thread_t thread)
244 assert(thread->kernel_stack == 0);
245 machine_stack_attach(thread, stack_alloc_internal());
246 STACK_ZINFO_PALLOC(thread);
260 * Detach and free the stack for a thread.
264 thread_t thread)
266 vm_offset_t stack = machine_stack_detach(thread);
269 if (stack != thread->reserved_stack) {
270 STACK_ZINFO_PFREE(thread);
277 thread_t thread)
279 if (thread->reserved_stack != thread->kernel_stack) {
280 stack_free_stack(thread->reserved_stack);
281 STACK_ZINFO_PFREE(thread);
315 * stack for a thread.
323 thread_t thread)
331 STACK_ZINFO_PALLOC(thread);
340 STACK_ZINFO_PALLOC(thread);
349 if (stack != 0 || (stack = thread->reserved_stack) != 0) {
350 machine_stack_attach(thread, stack);
492 thread_t thread);
496 __unused thread_t thread)
521 register thread_t thread;
561 for (i = 0, thread = (thread_t)(void *) queue_first(&threads);
562 !queue_end(&threads, (queue_entry_t) thread);
563 thread = (thread_t)(void *) queue_next(&thread->threads)) {
564 thread_reference_internal(thread);
565 thread_list[i++] = thread;
571 /* calculate maxusage and free thread references */