mirror of
https://github.com/freebsd/freebsd-src
synced 2024-10-05 08:00:30 +00:00
Assorted mdoc(7), grammar, spelling, and punctuation fixes.
Approved by: re (blanket)
This commit is contained in:
parent
3e32fa3860
commit
c8185672b2
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=115209
|
@ -173,7 +173,7 @@ is the effective group id)
|
||||||
all comma separated.
|
all comma separated.
|
||||||
.It
|
.It
|
||||||
the hostname of the jail in which the process runs, or
|
the hostname of the jail in which the process runs, or
|
||||||
.Sq Li -
|
.Ql -
|
||||||
to indicate that the process is not running within a jail.
|
to indicate that the process is not running within a jail.
|
||||||
.El
|
.El
|
||||||
.El
|
.El
|
||||||
|
|
|
@ -157,13 +157,13 @@ files are generated.
|
||||||
.Pq Vt str
|
.Pq Vt str
|
||||||
Empty by default.
|
Empty by default.
|
||||||
A semi-colon
|
A semi-colon
|
||||||
.Pq Dq \&;
|
.Pq Ql \&;
|
||||||
delimited list of paths containing
|
delimited list of paths containing
|
||||||
.Xr kld 4
|
.Xr kld 4
|
||||||
modules.
|
modules.
|
||||||
If empty,
|
If empty,
|
||||||
the contents of the
|
the contents of the
|
||||||
.Em kern.module_path
|
.Va kern.module_path
|
||||||
.Xr sysctl 8
|
.Xr sysctl 8
|
||||||
are used.
|
are used.
|
||||||
.It Va pccard_enable
|
.It Va pccard_enable
|
||||||
|
@ -702,7 +702,7 @@ for more information.
|
||||||
.It Va ip_portrange_first
|
.It Va ip_portrange_first
|
||||||
.Pq Vt int
|
.Pq Vt int
|
||||||
If not set to
|
If not set to
|
||||||
.Dq Li NO
|
.Dq Li NO ,
|
||||||
this is the first port in the default portrange.
|
this is the first port in the default portrange.
|
||||||
Refer to
|
Refer to
|
||||||
.Xr ip 4
|
.Xr ip 4
|
||||||
|
@ -710,7 +710,7 @@ for more information.
|
||||||
.It Va ip_portrange_last
|
.It Va ip_portrange_last
|
||||||
.Pq Vt int
|
.Pq Vt int
|
||||||
If not set to
|
If not set to
|
||||||
.Dq Li NO
|
.Dq Li NO ,
|
||||||
this is the last port in the default portrange.
|
this is the last port in the default portrange.
|
||||||
Refer to
|
Refer to
|
||||||
.Xr ip 4
|
.Xr ip 4
|
||||||
|
@ -796,12 +796,12 @@ Aliases should be set as
|
||||||
.Va ipv6_ifconfig_ Ns Ao Ar interface Ac Ns Va _alias Ns Aq Ar n .
|
.Va ipv6_ifconfig_ Ns Ao Ar interface Ac Ns Va _alias Ns Aq Ar n .
|
||||||
.Va ipv6_prefix_ Ns Aq Ar interface
|
.Va ipv6_prefix_ Ns Aq Ar interface
|
||||||
does something.
|
does something.
|
||||||
Interfaces that does not have a
|
Interfaces that do not have a
|
||||||
.Va ipv6_ifconfig_ Ns Aq Ar interface
|
.Va ipv6_ifconfig_ Ns Aq Ar interface
|
||||||
setting will auto configures by
|
setting will be auto configured by
|
||||||
.Xr rtsol 8
|
.Xr rtsol 8
|
||||||
if the
|
if the
|
||||||
.Ar ipv6_gateway_enable
|
.Va ipv6_gateway_enable
|
||||||
is set to
|
is set to
|
||||||
.Dq Li NO .
|
.Dq Li NO .
|
||||||
Note that the IPv6 networking code does not support the
|
Note that the IPv6 networking code does not support the
|
||||||
|
@ -810,7 +810,7 @@ files.
|
||||||
.It Va ipv6_default_interface
|
.It Va ipv6_default_interface
|
||||||
.Pq Vt str
|
.Pq Vt str
|
||||||
If not set to
|
If not set to
|
||||||
.Dq Li NO
|
.Dq Li NO ,
|
||||||
this is the default output interface for scoped addresses.
|
this is the default output interface for scoped addresses.
|
||||||
Now this works only for IPv6 link local multicast addresses.
|
Now this works only for IPv6 link local multicast addresses.
|
||||||
.It Va cloned_interfaces
|
.It Va cloned_interfaces
|
||||||
|
@ -1495,7 +1495,7 @@ daemon.
|
||||||
If set to
|
If set to
|
||||||
.Dq Li YES ,
|
.Dq Li YES ,
|
||||||
run the
|
run the
|
||||||
rpc.ypupdated
|
.Nm rpc.ypupdated
|
||||||
daemon at system boot time.
|
daemon at system boot time.
|
||||||
.It Va defaultrouter
|
.It Va defaultrouter
|
||||||
.Pq Vt str
|
.Pq Vt str
|
||||||
|
@ -1534,7 +1534,7 @@ in the value, a
|
||||||
.Va ipv6_route_ Ns Aq Ar element
|
.Va ipv6_route_ Ns Aq Ar element
|
||||||
variable is assumed to exist
|
variable is assumed to exist
|
||||||
whose contents will later be passed to a
|
whose contents will later be passed to a
|
||||||
.Dq Nm route Cm add -inet6
|
.Dq Nm route Cm add Fl inet6
|
||||||
operation.
|
operation.
|
||||||
.It Va gateway_enable
|
.It Va gateway_enable
|
||||||
.Pq Vt bool
|
.Pq Vt bool
|
||||||
|
@ -1735,7 +1735,7 @@ daemon.
|
||||||
.It Va stf_interface_ipv4addr
|
.It Va stf_interface_ipv4addr
|
||||||
.Pq Vt str
|
.Pq Vt str
|
||||||
If not set to
|
If not set to
|
||||||
.Dq Li NO
|
.Dq Li NO ,
|
||||||
this is the local IPv4 address for 6to4 (IPv6 over IPv4 tunneling
|
this is the local IPv4 address for 6to4 (IPv6 over IPv4 tunneling
|
||||||
interface).
|
interface).
|
||||||
Specify this entry to enable the 6to4 interface.
|
Specify this entry to enable the 6to4 interface.
|
||||||
|
@ -1745,7 +1745,7 @@ Prefix length for 6to4 IPv4 addresses, to limit peer address range.
|
||||||
An effective value is 0-31.
|
An effective value is 0-31.
|
||||||
.It Va stf_interface_ipv6_ifid
|
.It Va stf_interface_ipv6_ifid
|
||||||
.Pq Vt str
|
.Pq Vt str
|
||||||
IPv6 interface id for
|
IPv6 interface ID for
|
||||||
.Xr stf 4 .
|
.Xr stf 4 .
|
||||||
This can be set to
|
This can be set to
|
||||||
.Dq Li AUTO .
|
.Dq Li AUTO .
|
||||||
|
@ -1756,7 +1756,7 @@ IPv6 Site Level Aggregator for
|
||||||
.It Va ipv6_faith_prefix
|
.It Va ipv6_faith_prefix
|
||||||
.Pq Vt str
|
.Pq Vt str
|
||||||
If not set to
|
If not set to
|
||||||
.Dq Li NO
|
.Dq Li NO ,
|
||||||
this is the faith prefix to enable a FAITH IPv6-to-IPv4 TCP
|
this is the faith prefix to enable a FAITH IPv6-to-IPv4 TCP
|
||||||
translator.
|
translator.
|
||||||
You also need
|
You also need
|
||||||
|
@ -1767,7 +1767,7 @@ setup.
|
||||||
If set to
|
If set to
|
||||||
.Dq Li YES
|
.Dq Li YES
|
||||||
this enables IPv4 mapped IPv6 address communication (like
|
this enables IPv4 mapped IPv6 address communication (like
|
||||||
::ffff:a.b.c.d).
|
.Li ::ffff:a.b.c.d ) .
|
||||||
.It Va atm_enable
|
.It Va atm_enable
|
||||||
.Pq Vt bool
|
.Pq Vt bool
|
||||||
Set to
|
Set to
|
||||||
|
@ -2260,12 +2260,12 @@ initial boot time.
|
||||||
.It Va svr4_enable
|
.It Va svr4_enable
|
||||||
.Pq Vt bool
|
.Pq Vt bool
|
||||||
If set to
|
If set to
|
||||||
.Dq Li YES
|
.Dq Li YES ,
|
||||||
enable SysVR4 emulation at boot time.
|
enable SysVR4 emulation at boot time.
|
||||||
.It Va sysvipc_enable
|
.It Va sysvipc_enable
|
||||||
.Pq Vt bool
|
.Pq Vt bool
|
||||||
If set to
|
If set to
|
||||||
.Dq Li YES
|
.Dq Li YES ,
|
||||||
load System V IPC primitives at boot time.
|
load System V IPC primitives at boot time.
|
||||||
.It Va clear_tmp_enable
|
.It Va clear_tmp_enable
|
||||||
.Pq Vt bool
|
.Pq Vt bool
|
||||||
|
@ -2282,10 +2282,12 @@ NOTE:
|
||||||
.Pa /usr/lib
|
.Pa /usr/lib
|
||||||
will always be added first, so it need not appear in this list.
|
will always be added first, so it need not appear in this list.
|
||||||
.It Va ldconfig_paths_aout
|
.It Va ldconfig_paths_aout
|
||||||
.Pq str
|
.Pq Vt str
|
||||||
Set to the list of shared library paths to use with
|
Set to the list of shared library paths to use with
|
||||||
.Xr ldconfig 8 .
|
.Xr ldconfig 8
|
||||||
legacy aout support.
|
legacy
|
||||||
|
.Xr a.out 5
|
||||||
|
support.
|
||||||
.It Va ldconfig_insecure
|
.It Va ldconfig_insecure
|
||||||
.Pq Vt bool
|
.Pq Vt bool
|
||||||
The
|
The
|
||||||
|
@ -2350,7 +2352,7 @@ these are the flags to pass to the
|
||||||
.Xr sshd 8
|
.Xr sshd 8
|
||||||
daemon.
|
daemon.
|
||||||
.It Va usbd_enable
|
.It Va usbd_enable
|
||||||
.Pq bool
|
.Pq Vt bool
|
||||||
If set to
|
If set to
|
||||||
.Dq Li YES ,
|
.Dq Li YES ,
|
||||||
run the
|
run the
|
||||||
|
@ -2387,22 +2389,26 @@ jail_vjail_rootdir="/var/jails/vjail/root"
|
||||||
jail_vjail_exec="/bin/sh /etc/rc"
|
jail_vjail_exec="/bin/sh /etc/rc"
|
||||||
.Ed
|
.Ed
|
||||||
.Pp
|
.Pp
|
||||||
The last one is optional. It defaults to
|
The last one is optional.
|
||||||
|
It defaults to
|
||||||
.Pa /etc/rc
|
.Pa /etc/rc
|
||||||
if it is not set.
|
if it is not set.
|
||||||
.It Va jail_set_hostname_allow
|
.It Va jail_set_hostname_allow
|
||||||
.Pq Vt bool
|
.Pq Vt bool
|
||||||
If set to NO,
|
If set to
|
||||||
|
.Dq Li NO ,
|
||||||
do not allow the root user in a jail to set its hostname.
|
do not allow the root user in a jail to set its hostname.
|
||||||
.It Va jail_socket_unixiproute_only
|
.It Va jail_socket_unixiproute_only
|
||||||
.Pq Vt bool
|
.Pq Vt bool
|
||||||
If set to NO,
|
If set to
|
||||||
|
.Dq Li NO ,
|
||||||
do not allow any protocol,
|
do not allow any protocol,
|
||||||
besides TCP/IP,
|
besides TCP/IP,
|
||||||
to be used within a jail.
|
to be used within a jail.
|
||||||
.It Va jail_sysvipc_allow
|
.It Va jail_sysvipc_allow
|
||||||
.Pq Vt bool
|
.Pq Vt bool
|
||||||
If set to YES,
|
If set to
|
||||||
|
.Dq Li YES ,
|
||||||
allow applications within a jail to use System V IPC.
|
allow applications within a jail to use System V IPC.
|
||||||
.It Va unaligned_print
|
.It Va unaligned_print
|
||||||
.Pq Vt bool
|
.Pq Vt bool
|
||||||
|
@ -2662,12 +2668,12 @@ device as early as possible in the boot process.
|
||||||
.It Va entropy_save_sz
|
.It Va entropy_save_sz
|
||||||
.Pq Vt int
|
.Pq Vt int
|
||||||
Size of the entropy cache files saved by
|
Size of the entropy cache files saved by
|
||||||
save-entropy
|
.Nm save-entropy
|
||||||
periodically.
|
periodically.
|
||||||
.It Va entropy_save_num
|
.It Va entropy_save_num
|
||||||
.Pq Vt int
|
.Pq Vt int
|
||||||
Number of entropy cache files to save by
|
Number of entropy cache files to save by
|
||||||
save-entropy
|
.Nm save-entropy
|
||||||
periodically.
|
periodically.
|
||||||
.It Va ipsec_enable
|
.It Va ipsec_enable
|
||||||
.Pq Vt bool
|
.Pq Vt bool
|
||||||
|
@ -2680,7 +2686,7 @@ on
|
||||||
at boot time.
|
at boot time.
|
||||||
.It Va ipsec_file
|
.It Va ipsec_file
|
||||||
.Pq Vt str
|
.Pq Vt str
|
||||||
Config file for
|
Configuration file for
|
||||||
.Xr setkey 8 .
|
.Xr setkey 8 .
|
||||||
.It Va dmesg_enable
|
.It Va dmesg_enable
|
||||||
.Pq Vt bool
|
.Pq Vt bool
|
||||||
|
|
|
@ -89,8 +89,7 @@ release documentation, and so on.
|
||||||
.Pp
|
.Pp
|
||||||
This target must be built as root with the
|
This target must be built as root with the
|
||||||
.Va kern.securelevel
|
.Va kern.securelevel
|
||||||
sysctl set to -1
|
sysctl set to \-1 (the default).
|
||||||
.Pq "the default".
|
|
||||||
.It Cm rerelease
|
.It Cm rerelease
|
||||||
Assumes that the output of a release build has been manually modified,
|
Assumes that the output of a release build has been manually modified,
|
||||||
and performs the minimal number of steps to rebuild the release using
|
and performs the minimal number of steps to rebuild the release using
|
||||||
|
@ -474,12 +473,13 @@ and
|
||||||
This manual page was written by
|
This manual page was written by
|
||||||
.An Murray Stokely Aq murray@FreeBSD.org .
|
.An Murray Stokely Aq murray@FreeBSD.org .
|
||||||
.Sh BUGS
|
.Sh BUGS
|
||||||
Infrastructure changes are occassionally made to the FreeBSD
|
Infrastructure changes are occassionally made to the
|
||||||
|
.Fx
|
||||||
documentation set in such a way that release builds on security
|
documentation set in such a way that release builds on security
|
||||||
branches can fail.
|
branches can fail.
|
||||||
To work around this, release builds can be made to checkout the
|
To work around this, release builds can be made to checkout the
|
||||||
documentation from the last fully supported release of FreeBSD.
|
documentation from the last fully supported release of
|
||||||
|
.Fx .
|
||||||
For example:
|
For example:
|
||||||
.Bd -literal -offset indent
|
.Pp
|
||||||
make release RELEASETAG=RELENG_4_5 DOCRELEASETAG=RELEASE_4_5_0 ...
|
.Dl "make release RELEASETAG=RELENG_4_5 DOCRELEASETAG=RELEASE_4_5_0 ..."
|
||||||
.Ed
|
|
||||||
|
|
|
@ -776,10 +776,10 @@ with
|
||||||
so you should not need to modify this parameter except under extreme
|
so you should not need to modify this parameter except under extreme
|
||||||
circumstances.
|
circumstances.
|
||||||
See the
|
See the
|
||||||
.Dq TUNING
|
.Sx TUNING
|
||||||
section in the
|
section in the
|
||||||
.Xr sendfile 2
|
.Xr sendfile 2
|
||||||
man page for details.
|
manual page for details.
|
||||||
.Sh KERNEL CONFIG TUNING
|
.Sh KERNEL CONFIG TUNING
|
||||||
There are a number of kernel options that you may have to fiddle with in
|
There are a number of kernel options that you may have to fiddle with in
|
||||||
a large-scale system.
|
a large-scale system.
|
||||||
|
|
|
@ -86,13 +86,15 @@ as its only argument.
|
||||||
.Pp
|
.Pp
|
||||||
The
|
The
|
||||||
.Fa cookiep
|
.Fa cookiep
|
||||||
argument is a pointer to a void * that
|
argument is a pointer to a
|
||||||
|
.Vt "void *"
|
||||||
|
that
|
||||||
.Nm
|
.Nm
|
||||||
will write a cookie for the parent bus' use to if it is successful in
|
will write a cookie for the parent bus' use to if it is successful in
|
||||||
establishing an interrupt.
|
establishing an interrupt.
|
||||||
Driver writers may assume that this cookie will be non-zero.
|
Driver writers may assume that this cookie will be non-zero.
|
||||||
The nexus driver will write 0 on failure to
|
The nexus driver will write 0 on failure to
|
||||||
.Fa cookiep.
|
.Fa cookiep .
|
||||||
.Pp
|
.Pp
|
||||||
The interrupt handler will be detached by
|
The interrupt handler will be detached by
|
||||||
.Fn BUS_TEARDOWN_INTR .
|
.Fn BUS_TEARDOWN_INTR .
|
||||||
|
|
|
@ -85,23 +85,17 @@ You must not depend on the value you gave it earlier.
|
||||||
and
|
and
|
||||||
.Fa end
|
.Fa end
|
||||||
are the start/end addresses of the resource.
|
are the start/end addresses of the resource.
|
||||||
If you specify values of
|
If you specify values of 0 for
|
||||||
.Dv 0
|
|
||||||
for
|
|
||||||
.Fa start
|
.Fa start
|
||||||
and
|
and ~0 for
|
||||||
.Dv ~0
|
|
||||||
for
|
|
||||||
.Fa end
|
.Fa end
|
||||||
and
|
and 1 for
|
||||||
.Dv 1
|
|
||||||
for
|
|
||||||
.Fa count ,
|
.Fa count ,
|
||||||
the default values for the bus are calculated.
|
the default values for the bus are calculated.
|
||||||
.It
|
.It
|
||||||
.Fa count
|
.Fa count
|
||||||
is the size of the resource, e.g. the size of an I/O port (often
|
is the size of the resource, e.g. the size of an I/O port (often
|
||||||
.Dv 1, but some devices override this).
|
1, but some devices override this).
|
||||||
If you specified the default values for
|
If you specified the default values for
|
||||||
.Fa start
|
.Fa start
|
||||||
and
|
and
|
||||||
|
|
|
@ -38,18 +38,17 @@
|
||||||
.Sh SYNOPSIS
|
.Sh SYNOPSIS
|
||||||
.In sys/param.h
|
.In sys/param.h
|
||||||
.In sys/bus.h
|
.In sys/bus.h
|
||||||
.Ft void *
|
.Ft "void *"
|
||||||
.Fn device_get_ivars "device_t dev"
|
.Fn device_get_ivars "device_t dev"
|
||||||
.Ft void
|
.Ft void
|
||||||
.Fn device_get_ivars "device_t dev" "void *ivar"
|
.Fn device_set_ivars "device_t dev" "void *ivar"
|
||||||
.Sh DESCRIPTION
|
.Sh DESCRIPTION
|
||||||
.Pp
|
|
||||||
The
|
The
|
||||||
.Nm device_get_ivar
|
.Fn device_get_ivars
|
||||||
function returns the bus-specific instance variables of a device.
|
function returns the bus-specific instance variables of a device.
|
||||||
.Pp
|
.Pp
|
||||||
The
|
The
|
||||||
.Nm device_set_ivar
|
.Fn device_set_ivars
|
||||||
function sets the bus-specific instance variables of a device.
|
function sets the bus-specific instance variables of a device.
|
||||||
.Pp
|
.Pp
|
||||||
Typically, only bus drivers will use these functions.
|
Typically, only bus drivers will use these functions.
|
||||||
|
|
|
@ -44,9 +44,9 @@ Return the driver-specific state of
|
||||||
.Fa dev .
|
.Fa dev .
|
||||||
The softc is automatically allocated the first time it is requested.
|
The softc is automatically allocated the first time it is requested.
|
||||||
The size of the allocation is determined by the device's
|
The size of the allocation is determined by the device's
|
||||||
.Ft driver_t
|
.Vt driver_t
|
||||||
information used to define the driver.
|
information used to define the driver.
|
||||||
The softc typically encaposlates the state of this instance of the
|
The softc typically encapsulates the state of this instance of the
|
||||||
device.
|
device.
|
||||||
.Pp
|
.Pp
|
||||||
Driver writers are discouraged from using their own softc management
|
Driver writers are discouraged from using their own softc management
|
||||||
|
@ -56,9 +56,9 @@ tree that predates this function.
|
||||||
.Sh RETURN VALUES
|
.Sh RETURN VALUES
|
||||||
The pointer to the driver-specific instance variable is returned.
|
The pointer to the driver-specific instance variable is returned.
|
||||||
.Sh SEE ALSO
|
.Sh SEE ALSO
|
||||||
.Xr driver 9 ,
|
|
||||||
.Xr device 9 ,
|
.Xr device 9 ,
|
||||||
.Xr device_set_softc 9
|
.Xr device_set_softc 9 ,
|
||||||
|
.Xr driver 9
|
||||||
.Sh AUTHORS
|
.Sh AUTHORS
|
||||||
This man page was written by
|
This man page was written by
|
||||||
.An Doug Rabson .
|
.An Doug Rabson .
|
||||||
|
|
|
@ -54,7 +54,7 @@
|
||||||
.In sys/malloc.h
|
.In sys/malloc.h
|
||||||
.Ft void *
|
.Ft void *
|
||||||
.Fn malloc "unsigned long size" "struct malloc_type *type" "int flags"
|
.Fn malloc "unsigned long size" "struct malloc_type *type" "int flags"
|
||||||
.Fn MALLOC "space" "cast" "unsigned long size" "struct malloc_type *type" "int flags"
|
.Fn MALLOC space cast "unsigned long size" "struct malloc_type *type" "int flags"
|
||||||
.Ft void
|
.Ft void
|
||||||
.Fn free "void *addr" "struct malloc_type *type"
|
.Fn free "void *addr" "struct malloc_type *type"
|
||||||
.Fn FREE "void *addr" "struct malloc_type *type"
|
.Fn FREE "void *addr" "struct malloc_type *type"
|
||||||
|
@ -62,11 +62,11 @@
|
||||||
.Fn realloc "void *addr" "unsigned long size" "struct malloc_type *type" "int flags"
|
.Fn realloc "void *addr" "unsigned long size" "struct malloc_type *type" "int flags"
|
||||||
.Ft void *
|
.Ft void *
|
||||||
.Fn reallocf "void *addr" "unsigned long size" "struct malloc_type *type" "int flags"
|
.Fn reallocf "void *addr" "unsigned long size" "struct malloc_type *type" "int flags"
|
||||||
.Fn MALLOC_DECLARE "type"
|
.Fn MALLOC_DECLARE type
|
||||||
.In sys/param.h
|
.In sys/param.h
|
||||||
.In sys/malloc.h
|
.In sys/malloc.h
|
||||||
.In sys/kernel.h
|
.In sys/kernel.h
|
||||||
.Fn MALLOC_DEFINE "type" "shortdesc" "longdesc"
|
.Fn MALLOC_DEFINE type shortdesc longdesc
|
||||||
.Sh DESCRIPTION
|
.Sh DESCRIPTION
|
||||||
The
|
The
|
||||||
.Fn malloc
|
.Fn malloc
|
||||||
|
@ -139,7 +139,8 @@ free((addr), type)
|
||||||
.Pp
|
.Pp
|
||||||
Unlike its standard C library counterpart
|
Unlike its standard C library counterpart
|
||||||
.Pq Xr malloc 3 ,
|
.Pq Xr malloc 3 ,
|
||||||
the kernel version takes two more arguments. The
|
the kernel version takes two more arguments.
|
||||||
|
The
|
||||||
.Fa flags
|
.Fa flags
|
||||||
argument further qualifies
|
argument further qualifies
|
||||||
.Fn malloc Ns 's
|
.Fn malloc Ns 's
|
||||||
|
@ -160,8 +161,8 @@ Note that
|
||||||
.Dv M_NOWAIT
|
.Dv M_NOWAIT
|
||||||
is required when running in an interrupt context.
|
is required when running in an interrupt context.
|
||||||
.It Dv M_WAITOK
|
.It Dv M_WAITOK
|
||||||
Indicates that it is ok to wait for resources.
|
Indicates that it is OK to wait for resources.
|
||||||
If the request cannot be immediately fulfilled the current process is put
|
If the request cannot be immediately fulfilled, the current process is put
|
||||||
to sleep to wait for resources to be released by other processes.
|
to sleep to wait for resources to be released by other processes.
|
||||||
The
|
The
|
||||||
.Fn malloc ,
|
.Fn malloc ,
|
||||||
|
@ -175,10 +176,12 @@ if
|
||||||
is specified.
|
is specified.
|
||||||
.It Dv M_USE_RESERVE
|
.It Dv M_USE_RESERVE
|
||||||
Indicates that the system can dig into its reserve in order to obtain the
|
Indicates that the system can dig into its reserve in order to obtain the
|
||||||
requested memory. This option used to be called M_KERNEL but has been
|
requested memory.
|
||||||
renamed to something more obvious. This option has been deprecated and is
|
This option used to be called
|
||||||
slowly being removed from the kernel, and so should not be used with any new
|
.Dv M_KERNEL
|
||||||
programming.
|
but has been renamed to something more obvious.
|
||||||
|
This option has been deprecated and is slowly being removed from the kernel,
|
||||||
|
and so should not be used with any new programming.
|
||||||
.El
|
.El
|
||||||
.Pp
|
.Pp
|
||||||
Exactly one of either
|
Exactly one of either
|
||||||
|
@ -198,7 +201,7 @@ The statistics can be examined by
|
||||||
A
|
A
|
||||||
.Fa type
|
.Fa type
|
||||||
is defined using
|
is defined using
|
||||||
.Va struct malloc_type
|
.Vt "struct malloc_type"
|
||||||
via the
|
via the
|
||||||
.Fn MALLOC_DECLARE
|
.Fn MALLOC_DECLARE
|
||||||
and
|
and
|
||||||
|
@ -221,13 +224,13 @@ MALLOC(buf, struct foo_buf *, sizeof *buf, M_FOOBUF, M_NOWAIT);
|
||||||
.Ed
|
.Ed
|
||||||
.Pp
|
.Pp
|
||||||
In order to use
|
In order to use
|
||||||
.Fn MALLOC_DEFINE
|
.Fn MALLOC_DEFINE ,
|
||||||
one must include
|
one must include
|
||||||
.Aq sys/param.h
|
.Aq Pa sys/param.h
|
||||||
(instead of
|
(instead of
|
||||||
.Aq sys/types.h )
|
.Aq Pa sys/types.h )
|
||||||
and
|
and
|
||||||
.Aq sys/kernel.h .
|
.Aq Pa sys/kernel.h .
|
||||||
.Sh RETURN VALUES
|
.Sh RETURN VALUES
|
||||||
The
|
The
|
||||||
.Fn malloc ,
|
.Fn malloc ,
|
||||||
|
@ -263,8 +266,8 @@ and
|
||||||
and
|
and
|
||||||
.Fn reallocf
|
.Fn reallocf
|
||||||
may not be called from fast interrupts handlers.
|
may not be called from fast interrupts handlers.
|
||||||
When called from threaded interrupts
|
When called from threaded interrupts,
|
||||||
.Ar flag
|
.Fa flags
|
||||||
must contain
|
must contain
|
||||||
.Dv M_NOWAIT .
|
.Dv M_NOWAIT .
|
||||||
.Pp
|
.Pp
|
||||||
|
@ -274,8 +277,11 @@ and
|
||||||
.Fn reallocf
|
.Fn reallocf
|
||||||
must not be called with
|
must not be called with
|
||||||
.Dv M_WAITOK
|
.Dv M_WAITOK
|
||||||
while a mutex other than Giant is held.
|
while a mutex other than
|
||||||
Giant may or may not be held when
|
.Va Giant
|
||||||
|
is held.
|
||||||
|
.Va Giant
|
||||||
|
may or may not be held when
|
||||||
.Fn free
|
.Fn free
|
||||||
is called.
|
is called.
|
||||||
.Pp
|
.Pp
|
||||||
|
|
|
@ -523,19 +523,29 @@ In case of failure, it returns
|
||||||
and attempts to restore the chain to its original state.
|
and attempts to restore the chain to its original state.
|
||||||
.El
|
.El
|
||||||
.Sh STRESS TESTING
|
.Sh STRESS TESTING
|
||||||
When running a kernel compiled with the option MBUF_STRESS_TEST,
|
When running a kernel compiled with the option
|
||||||
the following sysctl-controlled options may be used to create
|
.Dv MBUF_STRESS_TEST ,
|
||||||
various failure / extreme cases for testing of network drivers
|
the following
|
||||||
|
.Xr sysctl 8 Ns
|
||||||
|
-controlled options may be used to create
|
||||||
|
various failure/extreme cases for testing of network drivers
|
||||||
and other mbuf-reliant parts of the kernel.
|
and other mbuf-reliant parts of the kernel.
|
||||||
.Pp
|
.Bl -tag -width ident
|
||||||
.Va net.inet.ip.mbuf_frag_size
|
.It Va net.inet.ip.mbuf_frag_size
|
||||||
causes ip_output to fragment outgoing mbuf chains into fragments of
|
Causes
|
||||||
the specified size. Setting this option to 1 is an excellent way to
|
.Fn ip_output
|
||||||
|
to fragment outgoing mbuf chains into fragments of the specified size.
|
||||||
|
Setting this variable to 1 is an excellent way to
|
||||||
test the long mbuf chain handling ability of network drivers.
|
test the long mbuf chain handling ability of network drivers.
|
||||||
.Pp
|
.It Va kern.ipc.m_defragrandomfailures
|
||||||
.Va kern.ipc.m_defragrandomfailures
|
Causes the function
|
||||||
causes the function m_defrag to randomly fail, returning NULL. Any
|
.Fn m_defrag
|
||||||
piece of code which uses m_defrag should be tested with this feature.
|
to randomly fail, returning
|
||||||
|
.Dv NULL .
|
||||||
|
Any piece of code which uses
|
||||||
|
.Fn m_defrag
|
||||||
|
should be tested with this feature.
|
||||||
|
.El
|
||||||
.Sh RETURN VALUES
|
.Sh RETURN VALUES
|
||||||
See above.
|
See above.
|
||||||
.Sh HISTORY
|
.Sh HISTORY
|
||||||
|
|
|
@ -458,18 +458,29 @@ operations.
|
||||||
This can be used to trim superfluous logging messages for debugging purposes.
|
This can be used to trim superfluous logging messages for debugging purposes.
|
||||||
.El
|
.El
|
||||||
.Ss Giant
|
.Ss Giant
|
||||||
If Giant must be acquired, it must be acquired prior to acquiring
|
If
|
||||||
|
.Va Giant
|
||||||
|
must be acquired, it must be acquired prior to acquiring
|
||||||
other mutexes.
|
other mutexes.
|
||||||
Put another way: it is impossible to acquire Giant non-recursively while
|
Put another way: it is impossible to acquire
|
||||||
|
.Va Giant
|
||||||
|
non-recursively while
|
||||||
holding another mutex.
|
holding another mutex.
|
||||||
It is possible to acquire other mutexes while holding Giant, and it is
|
It is possible to acquire other mutexes while holding
|
||||||
possible to acquire Giant recursively while holding other mutexes.
|
.Va Giant ,
|
||||||
|
and it is possible to acquire
|
||||||
|
.Va Giant
|
||||||
|
recursively while holding other mutexes.
|
||||||
.Ss Sleeping
|
.Ss Sleeping
|
||||||
Sleeping while holding a mutex (except for Giant) is almost never safe
|
Sleeping while holding a mutex (except for
|
||||||
|
.Va Giant )
|
||||||
|
is almost never safe
|
||||||
and should be avoided.
|
and should be avoided.
|
||||||
There are numerous assertions which will fail if this is attempted.
|
There are numerous assertions which will fail if this is attempted.
|
||||||
.Ss Functions Which Access Memory in Userspace
|
.Ss Functions Which Access Memory in Userspace
|
||||||
No mutexes should be held (except for Giant) across functions which
|
No mutexes should be held (except for
|
||||||
|
.Va Giant )
|
||||||
|
across functions which
|
||||||
access memory in userspace, such as
|
access memory in userspace, such as
|
||||||
.Xr copyin 9 ,
|
.Xr copyin 9 ,
|
||||||
.Xr copyout 9 ,
|
.Xr copyout 9 ,
|
||||||
|
|
Loading…
Reference in a new issue