Doc police fixes

thanks to: ru@
This commit is contained in:
Julian Elischer 2007-10-26 16:50:21 +00:00
parent ef44c8d2a3
commit 39b920eb0c
3 changed files with 97 additions and 64 deletions

View File

@ -129,6 +129,7 @@ MAN= accept_filter.9 \
kernacc.9 \
kernel_mount.9 \
kobj.9 \
kproc.9 \
kqueue.9 \
kthread.9 \
ktr.9 \
@ -674,6 +675,13 @@ MLINKS+=kobj.9 DEFINE_CLASS.9 \
kobj.9 kobj_create.9 \
kobj.9 kobj_delete.9 \
kobj.9 kobj_init.9
MLINKS+=kproc.9 kproc_create.9 \
kproc.9 kproc_exit.9 \
kproc.9 kproc_resume,.9 \
kproc.9 kproc_shutdown.9 \
kproc.9 kproc_start.9 \
kproc.9 kproc_suspend.9 \
kproc.9 kproc_suspend_check.9
MLINKS+=kqueue.9 knlist_add.9 \
kqueue.9 knlist_clear.9 \
kqueue.9 knlist_delete.9 \
@ -688,11 +696,11 @@ MLINKS+=kqueue.9 knlist_add.9 \
kqueue.9 kqfd_register.9 \
kqueue.9 kqueue_add_filteropts.9 \
kqueue.9 kqueue_del_filteropts.9
MLINKS+=kthread.9 kproc_shutdown.9 \
kthread.9 kproc_start.9 \
kthread.9 kthread_create.9 \
MLINKS+=kthread.9 kthread_add.9 \
kthread.9 kthread_exit.9 \
kthread.9 kthread_resume.9 \
kthread.9 kthread_shutdown.9 \
kthread.9 kthread_start.9 \
kthread.9 kthread_suspend.9 \
kthread.9 kthread_suspend_check.9
MLINKS+=ktr.9 CTR0.9 \

View File

@ -36,7 +36,7 @@
.Nm kproc_resume ,
.Nm kproc_suspend ,
.Nm kproc_suspend_check
.Nd kernel procs
.Nd "kernel processes"
.Sh SYNOPSIS
.In sys/kthread.h
.Ft void
@ -44,7 +44,11 @@
.Ft void
.Fn kproc_shutdown "void *arg" "int howto"
.Ft int
.Fn kproc_create "void (*func)(void *)" "void *arg" "struct proc **newpp" "int flags" "int pages" "const char *fmt" "..."
.Fo kproc_create
.Fa "void (*func)(void *)" "void *arg" "struct proc **newpp"
.Fa "int flags" "int pages"
.Fa "const char *fmt" ...
.Fc
.Ft void
.Fn kproc_exit "int ecode"
.Ft int
@ -58,37 +62,41 @@ The function
.Fn kproc_start
is used to start
.Dq internal
daemons such as bufdaemon, pagedaemon, vmdaemon, and the syncer and is intended
daemons such as
.Nm bufdaemon , pagedaemon , vmdaemon ,
and the
.Nm syncer
and is intended
to be called from
.Xr SYSINIT 9 .
The
.Fa udata
argument is actually a pointer to a
.Li struct kproc_desc
.Vt "struct kproc_desc"
which describes the kernel process that should be created:
.Bd -literal -offset indent
struct kproc_desc {
char *arg0;
void (*func)(void);
struct proc **global_procpp;
char *arg0;
void (*func)(void);
struct proc **global_procpp;
};
.Ed
.Pp
The structure members are used by
.Fn kproc_start
as follows:
.Bl -tag -width "global_procpp" -offset indent
.Bl -tag -width ".Va global_procpp" -offset indent
.It Va arg0
String to be used for the name of the process.
This string will be copied into the
.Va p_comm
member of the new process'
.Li struct proc .
.Vt "struct proc" .
.It Va func
The main function for this kernel process to run.
.It Va global_procpp
A pointer to a
.Li struct proc
.Vt "struct proc"
pointer that should be updated to point to the newly created process' process
structure.
If this variable is
@ -99,7 +107,9 @@ then it is ignored.
The
.Fn kproc_create
function is used to create a kernel process.
The new process shares its address space with process 0, the swapper process,
The new process shares its address space with process 0, the
.Nm swapper
process,
and runs in kernel mode only.
The
.Fa func
@ -112,7 +122,7 @@ when it is called by the new process.
The
.Fa newpp
pointer points to a
.Li struct proc
.Vt "struct proc"
pointer that is to be updated to point to the newly created process.
If this argument is
.Dv NULL ,
@ -131,7 +141,7 @@ argument list that is used to build the name of the new process and is stored
in the
.Va p_comm
member of the new process's
.Li struct proc .
.Vt "struct proc" .
.Pp
The
.Fn kproc_exit
@ -170,7 +180,7 @@ resume request.
The
.Fa p
argument points to the
.Li struct proc
.Vt "struct proc"
of the kernel process to suspend or resume.
For
.Fn kproc_suspend ,
@ -195,14 +205,14 @@ and
functions return zero on success and non-zero on failure.
.Sh EXAMPLES
This example demonstrates the use of a
.Li struct kproc_desc
.Vt "struct kproc_desc"
and the functions
.Fn kproc_start ,
.Fn kproc_shutdown ,
and
.Fn kproc_suspend_check
to run the
.Dq bufdaemon
.Nm bufdaemon
process.
.Bd -literal -offset indent
static struct proc *bufdaemonproc;
@ -297,6 +307,9 @@ functions were named
.Fn shutdown_kproc ,
and
.Fn kproc_suspend_loop ,
respectively. Originally they had the names
.Fn kthread_xxx
but were changed when real kthreads became available.
respectively.
Originally they had the names
.Fn kthread_*
but were changed to
.Fn kproc_*
when real kthreads became available.

View File

@ -25,7 +25,7 @@
.\"
.\" $FreeBSD$
.\"
.Dd September 24, 2004
.Dd October 26, 2007
.Dt KTHREAD 9
.Os
.Sh NAME
@ -36,9 +36,7 @@
.Nm kthread_resume ,
.Nm kthread_suspend ,
.Nm kthread_suspend_check
.Nd kernel threads
.Pp
.Em PROCESSES .
.Nd "kernel threads"
.Sh SYNOPSIS
.In sys/kthread.h
.Ft void
@ -46,7 +44,11 @@
.Ft void
.Fn kthread_shutdown "void *arg" "int howto"
.Ft int
.Fn kthread_add "void (*func)(void *)" "void *arg" "struct proc *procp" "struct thread **newtdpp" "int flags" "int pages" "const char *fmt" "..."
.Fo kthread_add
.Fa "void (*func)(void *)" "void *arg" "struct proc *procp"
.Fa "struct thread **newtdpp" "int flags" "int pages"
.Fa "const char *fmt" ...
.Fc
.Ft void
.Fn kthread_exit "void"
.Ft int
@ -60,51 +62,62 @@ The function
.Fn kthread_start
is used to start
.Dq internal
daemons such as bufdaemon, pagedaemon, vmdaemon, and the syncer and is intended
daemons such as
.Nm bufdaemon , pagedaemon , vmdaemon ,
and the
.Nm syncer
and is intended
to be called from
.Xr SYSINIT 9 .
The
.Fa udata
argument is actually a pointer to a
.Li struct kthread_desc
.Vt "struct kthread_desc"
which describes the kernel thread that should be created:
.Bd -literal -offset indent
struct kthread_desc {
char *arg0;
void (*func)(void);
struct thread **global_threadpp;
char *arg0;
void (*func)(void);
struct thread **global_threadpp;
};
.Ed
.Pp
The structure members are used by
.Fn kthread_start
as follows:
.Bl -tag -width "global_threadpp" -offset indent
.Bl -tag -width ".Va global_threadpp" -offset indent
.It Va arg0
String to be used for the name of the thread.
This string will be copied into the
.Va td_name
member of the new threads'
.Li struct thread .
.Vt "struct thread" .
.It Va func
The main function for this kernel process to run.
The main function for this kernel thread to run.
.It Va global_threadpp
A pointer to a
.Li struct thread
pointer that should be updated to point to the newly created thread' thread
.Vt "struct thread"
pointer that should be updated to point to the newly created thread's
.Vt thread
structure.
If this variable is
.Dv NULL ,
then it is ignored. The thread will be a subthread of proc0 (PID 0).
then it is ignored.
The thread will be a subthread of
.Va proc0
(PID 0).
.El
.Pp
The
.Fn kthread_add
function is used to create a kernel thread.
The new thread runs in kernel mode only. It is added to the
process specified by the
The new thread runs in kernel mode only.
It is added to the process specified by the
.Fa procp
argument, or if that is NULL, to proc0.
argument, or if that is
.Dv NULL ,
to
.Va proc0 .
The
.Fa func
argument specifies the function that the thread should execute.
@ -112,11 +125,11 @@ The
.Fa arg
argument is an arbitrary pointer that is passed in as the only argument to
.Fa func
when it is called by the new process.
when it is called by the new thread.
The
.Fa newtdp
.Fa newtdpp
pointer points to a
.Li struct thread
.Vt "struct thread"
pointer that is to be updated to point to the newly created thread.
If this argument is
.Dv NULL ,
@ -135,14 +148,14 @@ argument list that is used to build the name of the new thread and is stored
in the
.Va td_name
member of the new thread's
.Li struct thread .
.Vt "struct thread" .
.Pp
The
.Fn kthread_exit
function is used to terminate kernel threads.
It should be called by the main function of the kernel thread rather than
letting the main function return to its caller.
The
.\" XXX "int ecode" argument isn't documented.
.Pp
The
.Fn kthread_resume ,
@ -167,7 +180,7 @@ resume request.
The
.Fa td
argument points to the
.Li struct thread
.Vt "struct thread"
of the kernel thread to suspend or resume.
For
.Fn kthread_suspend ,
@ -192,14 +205,14 @@ and
functions return zero on success and non-zero on failure.
.Sh EXAMPLES
This example demonstrates the use of a
.Li struct kthread_desc
.Vt "struct kthread_desc"
and the functions
.Fn kthread_start ,
.Fn kthread_shutdown ,
and
.Fn kthread_suspend_check
to run the
.Dq bufdaemon
.Nm bufdaemon
process.
.Bd -literal -offset indent
static struct thread *bufdaemonthread;
@ -242,7 +255,7 @@ argument does not reference a kernel thread.
.El
.Pp
The
.Fn kthread_create
.Fn kthread_add
function will fail if:
.Bl -tag -width Er
.It Bq Er EAGAIN
@ -261,39 +274,38 @@ parameter.
.El
.Sh SEE ALSO
.Xr rfork 2 ,
.Xr kproc 9 ,
.Xr exit1 9 ,
.Xr kproc 9 ,
.Xr SYSINIT 9 ,
.Xr wakeup 9
.Sh HISTORY
The
.Fn kthread_start
function first appeared in
.Fx 2.2
where it created a whole process. It was converted to create threads in
.Fx 2.2
where it created a whole process.
It was converted to create threads in
.Fx 8.0 .
The
.Fn kthread_shutdown ,
.Fn kthread_create ,
.Fn kthread_exit ,
.Fn kthread_resume ,
.Fn kthread_suspend ,
and
.Fn kthread_suspend_check
functions were introduced in
.Fx 4.0
and were converted to treads in
.Fx 4.0
and were converted to threads in
.Fx 8.0 .
The
The
.Fn kthread_create
call was renamed to kthread_add in
call was renamed to
.Fn kthread_add
in
.Fx 8.0 .
The old functionality of creating a kernel process was renamed
to
.Fn kproc_create
(and friends).
See
.Xr kproc 9
The old functionality of creating a kernel process was renamed
to
.Xr kproc_create 9 .
Prior to
.Fx 5.0 ,
the