From f949f795aa24d4c7cbb049622d61f6474dd38319 Mon Sep 17 00:00:00 2001 From: "Tim J. Robbins" Date: Sun, 23 Mar 2003 11:26:11 +0000 Subject: [PATCH] Remove unused mtx_lock_giant(), mtx_unlock_giant(), related globals and sysctls. --- sys/kern/kern_mutex.c | 43 --------------------------------------- sys/kern/subr_turnstile.c | 43 --------------------------------------- sys/sys/mutex.h | 9 -------- 3 files changed, 95 deletions(-) diff --git a/sys/kern/kern_mutex.c b/sys/kern/kern_mutex.c index ea5f7839a179..6a734d05bfce 100644 --- a/sys/kern/kern_mutex.c +++ b/sys/kern/kern_mutex.c @@ -989,46 +989,3 @@ mutex_init(void) mtx_init(&proc0.p_mtx, "process lock", NULL, MTX_DEF | MTX_DUPOK); mtx_lock(&Giant); } - -/* - * Encapsulated Giant mutex routines. These routines provide encapsulation - * control for the Giant mutex, allowing sysctls to be used to turn on and - * off Giant around certain subsystems. The default value for the sysctls - * are set to what developers believe is stable and working in regards to - * the Giant pushdown. Developers should not turn off Giant via these - * sysctls unless they know what they are doing. - * - * Callers of mtx_lock_giant() are expected to pass the return value to an - * accompanying mtx_unlock_giant() later on. If multiple subsystems are - * effected by a Giant wrap, all related sysctl variables must be zero for - * the subsystem call to operate without Giant (as determined by the caller). - */ - -SYSCTL_NODE(_kern, OID_AUTO, giant, CTLFLAG_RD, NULL, "Giant mutex manipulation"); - -static int kern_giant_all = 0; -SYSCTL_INT(_kern_giant, OID_AUTO, all, CTLFLAG_RW, &kern_giant_all, 0, ""); - -int kern_giant_proc = 1; /* Giant around PROC locks */ -int kern_giant_file = 1; /* Giant around struct file & filedesc */ -int kern_giant_ucred = 1; /* Giant around ucred */ -SYSCTL_INT(_kern_giant, OID_AUTO, proc, CTLFLAG_RW, &kern_giant_proc, 0, ""); -SYSCTL_INT(_kern_giant, OID_AUTO, file, CTLFLAG_RW, &kern_giant_file, 0, ""); -SYSCTL_INT(_kern_giant, OID_AUTO, ucred, CTLFLAG_RW, &kern_giant_ucred, 0, ""); - -int -mtx_lock_giant(int sysctlvar) -{ - if (sysctlvar || kern_giant_all) { - mtx_lock(&Giant); - return(1); - } - return(0); -} - -void -mtx_unlock_giant(int s) -{ - if (s) - mtx_unlock(&Giant); -} diff --git a/sys/kern/subr_turnstile.c b/sys/kern/subr_turnstile.c index ea5f7839a179..6a734d05bfce 100644 --- a/sys/kern/subr_turnstile.c +++ b/sys/kern/subr_turnstile.c @@ -989,46 +989,3 @@ mutex_init(void) mtx_init(&proc0.p_mtx, "process lock", NULL, MTX_DEF | MTX_DUPOK); mtx_lock(&Giant); } - -/* - * Encapsulated Giant mutex routines. These routines provide encapsulation - * control for the Giant mutex, allowing sysctls to be used to turn on and - * off Giant around certain subsystems. The default value for the sysctls - * are set to what developers believe is stable and working in regards to - * the Giant pushdown. Developers should not turn off Giant via these - * sysctls unless they know what they are doing. - * - * Callers of mtx_lock_giant() are expected to pass the return value to an - * accompanying mtx_unlock_giant() later on. If multiple subsystems are - * effected by a Giant wrap, all related sysctl variables must be zero for - * the subsystem call to operate without Giant (as determined by the caller). - */ - -SYSCTL_NODE(_kern, OID_AUTO, giant, CTLFLAG_RD, NULL, "Giant mutex manipulation"); - -static int kern_giant_all = 0; -SYSCTL_INT(_kern_giant, OID_AUTO, all, CTLFLAG_RW, &kern_giant_all, 0, ""); - -int kern_giant_proc = 1; /* Giant around PROC locks */ -int kern_giant_file = 1; /* Giant around struct file & filedesc */ -int kern_giant_ucred = 1; /* Giant around ucred */ -SYSCTL_INT(_kern_giant, OID_AUTO, proc, CTLFLAG_RW, &kern_giant_proc, 0, ""); -SYSCTL_INT(_kern_giant, OID_AUTO, file, CTLFLAG_RW, &kern_giant_file, 0, ""); -SYSCTL_INT(_kern_giant, OID_AUTO, ucred, CTLFLAG_RW, &kern_giant_ucred, 0, ""); - -int -mtx_lock_giant(int sysctlvar) -{ - if (sysctlvar || kern_giant_all) { - mtx_lock(&Giant); - return(1); - } - return(0); -} - -void -mtx_unlock_giant(int s) -{ - if (s) - mtx_unlock(&Giant); -} diff --git a/sys/sys/mutex.h b/sys/sys/mutex.h index 2df9e43398b2..b85edc7b8dcb 100644 --- a/sys/sys/mutex.h +++ b/sys/sys/mutex.h @@ -114,8 +114,6 @@ void _mtx_unlock_spin_flags(struct mtx *m, int opts, const char *file, #ifdef INVARIANT_SUPPORT void _mtx_assert(struct mtx *m, int what, const char *file, int line); #endif -int mtx_lock_giant(int sysctlvar); -void mtx_unlock_giant(int s); /* * We define our machine-independent (unoptimized) mutex micro-operations @@ -290,13 +288,6 @@ extern int mtx_pool_valid; extern struct mtx sched_lock; extern struct mtx Giant; -/* - * Giant lock sysctl variables used by other modules - */ -extern int kern_giant_proc; -extern int kern_giant_file; -extern int kern_giant_ucred; - /* * Giant lock manipulation and clean exit macros. * Used to replace return with an exit Giant and return.