counter register in-CPU.
This is to be used as a fast "timer", where linearity is more important
than time, and multiple lines in the linearity caused by multiple CPUs
in an SMP machine is not a problem.
This adds no code whatsoever to the FreeBSD kernel until it is actually
used, and then as a single-instruction inline routine (except for the
80386 and 80486 where it is some more inline code around nanotime(9).
Reviewed by: bde, kris, jhb
* xref sysctl
* do not mark kern.ipc.mbuf_wait up as a function argument.
* do not mix case of function argument names
* a mbuf -> an mbuf
* if -> whether
* typos
Also introduce a bunch of (missed?) macros and functions.
This man page still needs a lot of work, most likely a re-ordering
of the macros/functions, and a more complete, more accurate, listing of
available routines.
A good and worthy start nonetheless.
<sys/proc.h> to <sys/systm.h>.
Correctly document the #includes needed in the manpage.
Add one now needed #include of <sys/systm.h>.
Remove the consequent 48 unused #includes of <sys/proc.h>.
Instead of:
foo = malloc(sizeof(foo), M_WAIT);
bzero(foo, sizeof(foo));
You can now (and please do) use:
foo = malloc(sizeof(foo), M_WAIT | M_ZERO);
In the future this will enable us to do idle-time pre-zeroing of
malloc-space.
sync with the implementation. Vnode locks *are* required for these
operations, as some underlying implementations will require them.
Obtained from: TrustedBSD Project
include:
* Mutual exclusion is used instead of spl*(). See mutex(9). (Note: The
alpha port is still in transition and currently uses both.)
* Per-CPU idle processes.
* Interrupts are run in their own separate kernel threads and can be
preempted (i386 only).
Partially contributed by: BSDi (BSD/OS)
Submissions by (at least): cp, dfr, dillon, grog, jake, jhb, sheldonh
mostly unrelated to the attributed PR, and the attributed submitter
wasn't so much suggesting the patch for inclusion as providing it
for clarity.
PR: 9869
Submitted by: bde
whitespace changes, which should not be a problem because this
is only the second revision of the file and translators are
unlikely to have gotten started yet.
Reviewed by: abial
whitespace changes, which should not be a problem because this
is only the second revision of the file and translators are
unlikely to have gotten started yet.
Reviewed by: abial
PR: 19894
Submitted by: Tony Finch <dot@dotat.at>
2. "brackets" -> "angle brackets" when referring to < and >.
3. Clean up the bit about creating the usage() message. After clarifying a
couple of points the sentence became rather long, and rather poor English, so
it was converted to a enumerated list instead.
parts 1, 2, 3:
Reviewed by: sheldonh
and remove sysctl oids at will during runtime - they don't rely on
linker sets. Also, the node oids can be referenced by more than
one kernel user, which means that it's possible to create partially
overlapping trees.
Add sysctl contexts to help programmers manage multiple dynamic
oids in convenient way.
Please see the manpages for detailed discussion, and example module
for typical use.
This work is based on ideas and code snippets coming from many
people, among them: Arun Sharma, Jonathan Lemon, Doug Rabson,
Brian Feldman, Kelly Yancey, Poul-Henning Kamp and others. I'd like
to specially thank Brian Feldman for detailed review and style
fixes.
PR: kern/16928
Reviewed by: dfr, green, phk
bus_release_resource.9 contains a paragraph obtained from a mail
by Warner Losh <imp@FreeBSD.org> to myself.
Reviewed by: asmodai, hoek; in parts by msmith, mdodd and imp
Fix typo.
Fix description.
VFS_FHTOVP.9:
Fix order in which the manpage says the calls should be made.
PR: 18590
Submitted by: Anatoly Vorobey <mellon@pobox.com>
quoting it all and adding commas).
Don't say that the expression in KASSERT() is an int. It is a collection
of tokens forming a C expression that can be compared with 0.
These got replaced by BUS_SETUP_INTR().
This once again illustrates an API change without informing -doc, so
that these sort post cleanup actions could've been avoided.
And then people wonder why the docs suck so much at times.
Reviewed by: peter
Get rid of the "char *" before level which made no sense. Change
"char *msg" to the properly const-unpoisoned one.
Just SPLASSERT.9:
Add an Xref to CONDSPLASSERT(9). Change the function name "rtredirect"
to the correct "rtalloc".
while the other half used `vap', and in one case resulted in code that
made no sense. Replaced all of them with `vap'.
(Typically, `vpp' is a pointer to a pointer to a struct vnode anyway).
Fix a few more namespace messes and whitespace curiosities in acl.h
Fix comments in acl.h
Clean up some function prototypes from acl.h that won't be committed
before the code freeze.
Some of this kindly pointed out by: the ever patient bde
spl0) and some bitrot (the not-so-new callout_init/stop/reset functions
were not mentioned; the callout_activate/deactivate/pending macros are
still not mentioned).
Submitted by: mostly by jlemon
needed to access the internals of buffers but not necessarily to use
the VOP. <sys/buf.h> recently grew a bogus dependency on <sys/systm.h>
for the declaration of spl*, and I prefer to fix the synopsis breakage
by removing a wart instead of adding one.
VOP_ABORTOP() went away. at_shutdown() was replaced by undocumented
event handling. Rename remove_dev() here too, and remove the dead
and dead wrong man pages.
parent being locked, but rather plays some hide and seek (does not lock if
dvp == vp).
Also add a BUGS section noting that this is undesired behaviour.
The same goes for CD drivers and tape drivers. In systems with mixed IDE
and SCSI, devices in the same priority class will be sorted in attach
order.
Also, the 'CCD' priority is now the 'ARRAY' priority, and a number of
drivers have been modified to use that priority.
This includes the necessary changes to all drivers, except the ATA drivers.
Soren will modify those separately.
This does not include and does not require any change in the devstat
version number, since no known userland applications use the priority
enumerations.
Reviewed by: msmith, sos, phk, jlemon, mjacob, bde
linked list to store the callbak routines. The patch converts the
lists to queue(3) TAILQs, making the code slightly clearer and ensuring
that callbacks are executed in FIFO order.
Man page also updated as necesary.
(discontinued use of M_TEMP malloc type while here anyway /phk)
Submitted by: Jake Burkholder jake@checker.org
PR: 14912
"rw" argument, rather than hijacking B_{READ|WRITE}.
Fix two bugs (physio & cam) resulting by the confusion caused by this.
Submitted by: Tor.Egge@fast.no
Reviewed by: alc, ken (partly)
reference vfs_check_export
change license to my own, (ok'd by dfr) and remove advert clause.
remove extra Id tags and emacs cruft, this should be a fresh file.
VFS_CHECKEXP.9, now used to check export credentials
VFS_FHTOVP.9, only used for filehandle to vnode, no access checks are done.
VFS.9, inform people of the vfs_std* functions available to avoid
ugly casts to eopnotsup and making of dummy functions to return 0.
- Sort xrefs
- FreeBSD.ORG -> FreeBSD.org
- Be consistent with section names as outlined in mdoc(7).
- Other misc mdoc cleanup.
PR: doc/13144
Submitted by: Alexey M. Zelkin <phantom@cris.net>
other typos, ~four grammar gnits, an ironic case of incorrect
parallelization, bad capitalization, an incorrect use of the
infamous slash ('/'), and an unclear sentence.
did not specify an exit code. This implies the use of either a hand-
rolled err() (Bruce's suggestion) or a random error code (my suggestion),
both of which are against the style guidelines. This commit specifies
the correct error code (implicitly). This also changes the error message
to be a little more helpful.
- device_print_child() either lets the BUS_PRINT_CHILD
method produce the entire device announcement message or
it prints "foo0: not found\n"
Alter sys/kern/subr_bus.c:bus_generic_print_child() to take on
the previous behavior of device_print_child() (printing the
"foo0: <FooDevice 1.1>" bit of the announce message.)
Provide bus_print_child_header() and bus_print_child_footer()
to actually print the output for bus_generic_print_child().
These functions should be used whenever possible (unless you can
just use bus_generic_print_child())
The BUS_PRINT_CHILD method now returns int instead of void.
Modify everything else that defines or uses a BUS_PRINT_CHILD
method to comply with the above changes.
- Devices are 'on' a bus, not 'at' it.
- If a custom BUS_PRINT_CHILD method does the same thing
as bus_generic_print_child(), use bus_generic_print_child()
- Use device_get_nameunit() instead of both
device_get_name() and device_get_unit()
- All BUS_PRINT_CHILD methods return the number of
characters output.
Reviewed by: dfr, peter
track.
The $Id$ line is normally at the bottom of the main comment block in the
man page, separated from the rest of the manpage by an empty comment,
like so;
.\" $Id$
.\"
If the immediately preceding comment is a @(#) format ID marker than the
the $Id$ will line up underneath it with no intervening blank lines.
Otherwise, an additional blank line is inserted.
Approved by: bde