Date: Fri, 30 Sep 2005 08:59:59 -0400 From: John Baldwin <jhb@FreeBSD.org> To: freebsd-hackers@freebsd.org Cc: Poul-Henning Kamp <phk@phk.freebsd.dk>, Divacky Roman <xdivac02@stud.fit.vutbr.cz>, Stanislav Sedov <stas@310.ru> Subject: Re: dev_lock() question Message-ID: <200509300900.01517.jhb@FreeBSD.org> In-Reply-To: <15627.1128022613@critter.freebsd.dk> References: <15627.1128022613@critter.freebsd.dk>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thursday 29 September 2005 03:36 pm, Poul-Henning Kamp wrote:
> In message <200509291455.59914.jhb@FreeBSD.org>, John Baldwin writes:
> >On Thursday 29 September 2005 02:14 pm, Poul-Henning Kamp wrote:
> >> In message <200509291408.18098.jhb@FreeBSD.org>, John Baldwin writes:
> >> >Actually, you would think that it could be initialized either via an
> >> > early SYSINIT() or in the init_mutexes() function in kern_mutex.c and
> >> > thus not need the early check and avoid penalizing dev_lock().
> >> >
> >> >phk, how early his dev_lock needed?
> >>
> >> Far too early due to console madness (in syscons I belive).
> >
> >So would mutex_init() work?
>
> Havn't tried. It basically has to work right before the copyright
> is printed.
Actually, mutexes won't work until after mutex_init() anyway, so it had better
work. :) I'll try it out. Patch is below for reference:
--- //depot/vendor/freebsd/src/sys/kern/kern_conf.c 2005/09/19 20:01:08
+++ //depot/projects/smpng/sys/kern/kern_conf.c 2005/09/30 12:57:36
@@ -57,8 +57,7 @@
void
dev_lock(void)
{
- if (!mtx_initialized(&devmtx))
- mtx_init(&devmtx, "cdev", NULL, MTX_DEF);
+
mtx_lock(&devmtx);
}
--- //depot/vendor/freebsd/src/sys/kern/kern_mutex.c 2005/09/02 20:25:20
+++ //depot/projects/smpng/sys/kern/kern_mutex.c 2005/09/30 12:57:36
@@ -900,5 +935,6 @@
mtx_init(&Giant, "Giant", NULL, MTX_DEF | MTX_RECURSE);
mtx_init(&sched_lock, "sched lock", NULL, MTX_SPIN | MTX_RECURSE);
mtx_init(&proc0.p_mtx, "process lock", NULL, MTX_DEF | MTX_DUPOK);
+ mtx_init(&devmtx, "cdev", NULL, MTX_DEF);
mtx_lock(&Giant);
}
--
John Baldwin <jhb@FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve" = http://www.FreeBSD.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200509300900.01517.jhb>
