Date: Sun, 2 May 2004 16:48:03 -0700 (PDT) From: Julian Elischer <julian@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 52106 for review Message-ID: <200405022348.i42Nm3H0018057@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=52106 Change 52106 by julian@julian_desk on 2004/05/02 16:47:51 shuffle stuff between files to move towards compiling without (say) kse code Affected files ... .. //depot/projects/nsched/sys/kern/kern_kse.c#2 edit .. //depot/projects/nsched/sys/kern/kern_thread.c#9 edit .. //depot/projects/nsched/sys/sys/proc.h#5 edit Differences ... ==== //depot/projects/nsched/sys/kern/kern_kse.c#2 (text+ko) ==== @@ -68,7 +68,12 @@ static uma_zone_t upcall_zone; /* DEBUG ONLY */ -static int virtual_cpu; +extern int virtual_cpu; +extern int thread_debug = 0; +extern int max_threads_per_proc = 1500; +extern int max_groups_per_proc = 500; +extern int max_threads_hits; + #define RANGEOF(type, start, end) (offsetof(type, end) - offsetof(type, start)) @@ -263,13 +268,13 @@ mtx_lock_spin(&sched_lock); upcall_remove(td); if (p->p_numthreads == 1) { - kse_purge(p, td); + thread_purge(p, td); p->p_flag &= ~P_SA; mtx_unlock_spin(&sched_lock); PROC_UNLOCK(p); } else { if (kg->kg_numthreads == 1) { /* Shutdown a group */ - kse_purge_group(td); + thread_purge_group(td); sched_exit_ksegrp(p->p_pptr, td); } thread_stopped(p); ==== //depot/projects/nsched/sys/kern/kern_thread.c#9 (text+ko) ==== @@ -69,23 +69,23 @@ /* DEBUG ONLY */ SYSCTL_NODE(_kern, OID_AUTO, threads, CTLFLAG_RW, 0, "thread allocation"); -static int thread_debug = 0; +int thread_debug = 0; SYSCTL_INT(_kern_threads, OID_AUTO, debug, CTLFLAG_RW, &thread_debug, 0, "thread debug"); -static int max_threads_per_proc = 1500; +int max_threads_per_proc = 1500; SYSCTL_INT(_kern_threads, OID_AUTO, max_threads_per_proc, CTLFLAG_RW, &max_threads_per_proc, 0, "Limit on threads per proc"); -static int max_groups_per_proc = 500; +int max_groups_per_proc = 500; SYSCTL_INT(_kern_threads, OID_AUTO, max_groups_per_proc, CTLFLAG_RW, &max_groups_per_proc, 0, "Limit on thread groups per proc"); -static int max_threads_hits; +int max_threads_hits; SYSCTL_INT(_kern_threads, OID_AUTO, max_threads_hits, CTLFLAG_RD, &max_threads_hits, 0, ""); -static int virtual_cpu; +int virtual_cpu; #define RANGEOF(type, start, end) (offsetof(type, end) - offsetof(type, start)) @@ -94,8 +94,6 @@ struct mtx kse_zombie_lock; MTX_SYSINIT(kse_zombie_lock, &kse_zombie_lock, "kse zombie lock", MTX_SPIN); -static void kse_purge(struct proc *p, struct thread *td); -static void kse_purge_group(struct thread *td); static int thread_update_usr_ticks(struct thread *td, int user); static void thread_alloc_spare(struct thread *td, struct thread *spare); @@ -677,7 +675,7 @@ * exit, it calls this function. */ static void -kse_purge_group(struct thread *td) +thread_purge_group(struct thread *td) { struct ksegrp *kg; @@ -691,11 +689,11 @@ /* * Purge a process's KSE resource. When a process is preparing to - * exit, it calls kse_purge to release any extra KSE resources in + * exit, it calls thread_purge to release any extra KSE resources in * the process. */ -static void -kse_purge(struct proc *p, struct thread *td) +void +thread_purge(struct proc *p, struct thread *td) { struct ksegrp *kg; @@ -808,7 +806,7 @@ if (force_exit == SINGLE_EXIT) { if (td->td_upcall) upcall_remove(td); - kse_purge(p, td); + thread_purge(p, td); } mtx_unlock_spin(&sched_lock); return (0); ==== //depot/projects/nsched/sys/sys/proc.h#5 (text+ko) ==== @@ -809,6 +809,8 @@ void thread_free(struct thread *td); void thread_link(struct thread *td, struct ksegrp *kg); int thread_new_tid(void); +void thread_purge(struct proc *p, struct thread *td); +void thread_purge_group(struct thread *td); void thread_reap(void); struct thread *thread_schedule_upcall(struct thread *td, struct kse_upcall *ku); int thread_single(int how);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200405022348.i42Nm3H0018057>