diff options
author | peter <peter@FreeBSD.org> | 1999-07-01 13:21:46 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 1999-07-01 13:21:46 +0000 |
commit | 6cb5fe6c6bfe3fbe7878f6c055e0deb2ad86d77c (patch) | |
tree | 3d833b579e08cb5e2dc4561ebb531129df5f2eb3 /sys/kern/vfs_subr.c | |
parent | e671ad02ffd3e5dedda4576976c1952f1f8d8fe3 (diff) | |
download | FreeBSD-src-6cb5fe6c6bfe3fbe7878f6c055e0deb2ad86d77c.zip FreeBSD-src-6cb5fe6c6bfe3fbe7878f6c055e0deb2ad86d77c.tar.gz |
Slight reorganization of kernel thread/process creation. Instead of using
SYSINIT_KT() etc (which is a static, compile-time procedure), use a
NetBSD-style kthread_create() interface. kproc_start is still available
as a SYSINIT() hook. This allowed simplification of chunks of the
sysinit code in the process. This kthread_create() is our old kproc_start
internals, with the SYSINIT_KT fork hooks grafted in and tweaked to work
the same as the NetBSD one.
One thing I'd like to do shortly is get rid of nfsiod as a user initiated
process. It makes sense for the nfs client code to create them on the
fly as needed up to a user settable limit. This means that nfsiod
doesn't need to be in /sbin and is always "available". This is a fair bit
easier to do outside of the SYSINIT_KT() framework.
Diffstat (limited to 'sys/kern/vfs_subr.c')
-rw-r--r-- | sys/kern/vfs_subr.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index 2a94962..579d214 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)vfs_subr.c 8.31 (Berkeley) 5/26/95 - * $Id: vfs_subr.c,v 1.202 1999/06/16 23:27:32 mckusick Exp $ + * $Id: vfs_subr.c,v 1.203 1999/06/26 02:46:10 mckusick Exp $ */ /* @@ -50,6 +50,7 @@ #include <sys/fcntl.h> #include <sys/kernel.h> #include <sys/proc.h> +#include <sys/kthread.h> #include <sys/malloc.h> #include <sys/mount.h> #include <sys/socket.h> @@ -907,12 +908,12 @@ vn_syncer_add_to_worklist(struct vnode *vp, int delay) struct proc *updateproc; static void sched_sync __P((void)); -static const struct kproc_desc up_kp = { +static struct kproc_desc up_kp = { "syncer", sched_sync, &updateproc }; -SYSINIT_KT(syncer, SI_SUB_KTHREAD_UPDATE, SI_ORDER_FIRST, kproc_start, &up_kp) +SYSINIT(syncer, SI_SUB_KTHREAD_UPDATE, SI_ORDER_FIRST, kproc_start, &up_kp) /* * System filesystem synchronizer daemon. |