From owner-freebsd-smp Tue Apr 24 10:25:42 2001 Delivered-To: freebsd-smp@freebsd.org Received: from fledge.watson.org (fledge.watson.org [204.156.12.50]) by hub.freebsd.org (Postfix) with ESMTP id 3CE2637B423; Tue, 24 Apr 2001 10:25:36 -0700 (PDT) (envelope-from robert@fledge.watson.org) Received: from fledge.watson.org (robert@fledge.pr.watson.org [192.0.2.3]) by fledge.watson.org (8.11.3/8.11.3) with SMTP id f3OHQ5f18377; Tue, 24 Apr 2001 13:26:06 -0400 (EDT) (envelope-from robert@fledge.watson.org) Date: Tue, 24 Apr 2001 13:26:05 -0400 (EDT) From: Robert Watson X-Sender: robert@fledge.watson.org To: John Baldwin Cc: smp@FreeBSD.org Subject: RE: sysctl's and mutexes In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-smp@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org On Tue, 24 Apr 2001, John Baldwin wrote: > > int jail_set_hostname_allowed = 1; > > SYSCTL_INT(_jail, OID_AUTO, set_hostname_allowed, CTLFLAG_RW|CTLFLAG_MTX, > > &jail_set_hostname_allowed, &jail_set_hostname_allowed_mtx, 0, > > "Processes in jail can set their hostnames"); > > It might very well be desirable to add a new parameter for each sysctl > that is a pointer to a mutex. However, an appropriate SYSINIT() or some > such during startup needs to initialize that mutex before that sysctl is > used. If need be, we can also add a flag to determine if the sysctl > should initialize the mutex itself or not. Ideally then, we would > create a new SYSINIT on the fly to initialize the mutex in question. I > think though, that requiring explicit initialization of each mutex > shouldn't be too hard. I don't have strong feelings on the exact nature of how mutices are bound to sysctl's, as long as it's possible to do the following: 1) It should be possible to use an existing initialized mutex, especially with regards to dynamically allocated sysctl's. 2) It should be possible for several sysctl's to share the same mutex. Presumably if the SYSCTL code is initializing the mutex, there are questions about the relative orderings of initialization of the mutex and first use of the protected variable in kernel: the code in question needs to know if SYSCTL stuff runs first so it can determine if the mutex should be used to protect access to the variable or not... (and all the other general boot-time ordering issues). Robert N M Watson FreeBSD Core Team, TrustedBSD Project robert@fledge.watson.org NAI Labs, Safeport Network Services To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-smp" in the body of the message