History log of /freebsd-11-stable/share/man/man9/
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
367457 07-Nov-2020 dim

MFC r344855 (by jhb):

Drop "All rights reserved" from my copyright statements.

Reviewed by: rgrimes
Differential Revision: https://reviews.freebsd.org/D19485


/freebsd-11-stable/contrib/elftoolchain/libelf/gelf_mips64el.c
/freebsd-11-stable/lib/libdevctl/devctl.3
/freebsd-11-stable/lib/libdevctl/devctl.c
/freebsd-11-stable/lib/libdevctl/devctl.h
/freebsd-11-stable/lib/libkvm/kvm_aarch64.h
/freebsd-11-stable/lib/libkvm/kvm_amd64.h
/freebsd-11-stable/lib/libkvm/kvm_arm.h
/freebsd-11-stable/lib/libkvm/kvm_i386.h
/freebsd-11-stable/lib/libkvm/kvm_mips.h
/freebsd-11-stable/lib/libkvm/kvm_native.3
/freebsd-11-stable/lib/libkvm/kvm_sparc64.h
/freebsd-11-stable/lib/libsysdecode/errno.c
/freebsd-11-stable/lib/libsysdecode/signal.c
/freebsd-11-stable/lib/libsysdecode/syscallnames.c
/freebsd-11-stable/lib/libsysdecode/sysdecode.3
/freebsd-11-stable/lib/libsysdecode/sysdecode.h
/freebsd-11-stable/lib/libsysdecode/sysdecode_abi_to_freebsd_errno.3
/freebsd-11-stable/lib/libsysdecode/sysdecode_cap_rights.3
/freebsd-11-stable/lib/libsysdecode/sysdecode_enum.3
/freebsd-11-stable/lib/libsysdecode/sysdecode_fcntl_arg.3
/freebsd-11-stable/lib/libsysdecode/sysdecode_ioctlname.3
/freebsd-11-stable/lib/libsysdecode/sysdecode_kevent.3
/freebsd-11-stable/lib/libsysdecode/sysdecode_mask.3
/freebsd-11-stable/lib/libsysdecode/sysdecode_quotactl_cmd.3
/freebsd-11-stable/lib/libsysdecode/sysdecode_sigcode.3
/freebsd-11-stable/lib/libsysdecode/sysdecode_socket_protocol.3
/freebsd-11-stable/lib/libsysdecode/sysdecode_sockopt_name.3
/freebsd-11-stable/lib/libsysdecode/sysdecode_syscallnames.3
/freebsd-11-stable/lib/libsysdecode/sysdecode_utrace.3
/freebsd-11-stable/lib/libutil/kinfo_getvmobject.3
/freebsd-11-stable/sbin/hastd/refcnt.h
/freebsd-11-stable/share/man/man3/sigevent.3
/freebsd-11-stable/share/man/man4/ktr.4
/freebsd-11-stable/share/man/man4/witness.4
BUS_GET_CPUS.9
BUS_RESCAN.9
atomic.9
bus_map_resource.9
critical_enter.9
ithread.9
ktr.9
runqueue.9
scheduler.9
sleepqueue.9
swi.9
/freebsd-11-stable/stand/efi/libefi/devpath.c
/freebsd-11-stable/stand/i386/cdboot/cdboot.S
/freebsd-11-stable/stand/i386/libi386/pxe.c
/freebsd-11-stable/stand/i386/libi386/pxe.h
/freebsd-11-stable/stand/i386/pxeldr/pxeldr.S
/freebsd-11-stable/sys/amd64/include/intr_machdep.h
/freebsd-11-stable/sys/arm/arm/ptrace_machdep.c
/freebsd-11-stable/sys/dev/acpica/acpi_isab.c
/freebsd-11-stable/sys/dev/acpica/acpi_pcivar.h
/freebsd-11-stable/sys/dev/pci/vga_pci.c
/freebsd-11-stable/sys/dev/rc/rc.c
/freebsd-11-stable/sys/dev/rc/rcreg.h
/freebsd-11-stable/sys/i386/pci/pci_pir.c
/freebsd-11-stable/sys/kern/kern_ktr.c
/freebsd-11-stable/sys/kern/kern_rwlock.c
/freebsd-11-stable/sys/kern/subr_lock.c
/freebsd-11-stable/sys/kern/subr_sleepqueue.c
/freebsd-11-stable/sys/kern/subr_smp.c
/freebsd-11-stable/sys/sys/_rwlock.h
/freebsd-11-stable/sys/sys/refcount.h
/freebsd-11-stable/sys/sys/rwlock.h
/freebsd-11-stable/sys/sys/sleepqueue.h
/freebsd-11-stable/sys/sys/turnstile.h
/freebsd-11-stable/sys/x86/acpica/madt.c
/freebsd-11-stable/sys/x86/include/apicvar.h
/freebsd-11-stable/sys/x86/include/intr_machdep.h
/freebsd-11-stable/sys/x86/isa/atpic.c
/freebsd-11-stable/sys/x86/isa/elcr.c
/freebsd-11-stable/sys/x86/x86/intr_machdep.c
/freebsd-11-stable/sys/x86/x86/io_apic.c
/freebsd-11-stable/sys/x86/x86/local_apic.c
/freebsd-11-stable/sys/x86/x86/mptable.c
/freebsd-11-stable/sys/x86/x86/mptable_pci.c
/freebsd-11-stable/sys/x86/xen/pvcpu_enum.c
/freebsd-11-stable/tests/sys/capsicum/ioctls_test.c
/freebsd-11-stable/tests/sys/kern/ptrace_test.c
/freebsd-11-stable/tools/tools/decioctl/decioctl.c
/freebsd-11-stable/usr.sbin/devctl/devctl.8
/freebsd-11-stable/usr.sbin/devctl/devctl.c
360653 05-May-2020 jhb

MFC 357062: Correct the return types of fueword*().

360633 04-May-2020 jhb

MFC 355600: Add a callout_func_t typedef for functions used with callout_*().

This typedef is the same as timeout_t except that it is in the callout
namespace and header.

Use this typedef in various places of the callout implementation that
were either using the raw type or timeout_t.

While here, add <sys/callout.h> to the manpage.

354405 06-Nov-2019 mav

MFC r349220: Add wakeup_any(), cheaper wakeup_one() for taskqueue(9).

wakeup_one() and underlying sleepq_signal() spend additional time trying
to be fair, waking thread with highest priority, sleeping longest time.
But in case of taskqueue there are many absolutely identical threads, and
any fairness between them is quite pointless. It makes even worse, since
round-robin wakeups not only make previous CPU affinity in scheduler quite
useless, but also hide from user chance to see CPU bottlenecks, when
sequential workload with one request at a time looks evenly distributed
between multiple threads.

This change adds new SLEEPQ_UNFAIR flag to sleepq_signal(), making it wakeup
thread that went to sleep last, but no longer in context switch (to avoid
immediate spinning on the thread lock). On top of that new wakeup_any()
function is added, equivalent to wakeup_one(), but setting the flag.
On top of that taskqueue(9) is switchied to wakeup_any() to wakeup its
threads.

As result, on 72-core Xeon v4 machine sequential ZFS write to 12 ZVOLs
with 16KB block size spend 34% less time in wakeup_any() and descendants
then it was spending in wakeup_one(), and total write throughput increased
by ~10% with the same as before CPU usage.

354035 24-Oct-2019 jhb

MFC 351224: Trim a spurious blank line I added in r348969.

I did not bump .Dd since there is no content change.

351358 21-Aug-2019 jhb

MFC 348970,348974:
Make the warning intervals for deprecated crypto algorithms tunable.

348970:
Make the warning intervals for deprecated crypto algorithms tunable.

New sysctl/tunables can now set the interval (in seconds) between
rate-limited crypto warnings. The new sysctls are:
- kern.cryptodev_warn_interval for /dev/crypto
- net.inet.ipsec.crypto_warn_interval for IPsec
- kern.kgssapi_warn_interval for KGSSAPI

348974:
Move declaration of warninterval out from under COMPAT_FREEBSD32.

This fixes builds of kernels without COMPAT_FREEBSD32.

351222 19-Aug-2019 jhb

MFC 348969: Document sysctl nodes that translate their values.

This documents the behavior of sysctl_msec_to_ticks.

The MFC does not document SYSCTL_{ADD,}_SBINTIME_[UM]SEC since those
are only present in head.

350127 19-Jul-2019 asomers

MFC r349237:

VOP_REVOKE(9): update locking requirements per r143495

Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D20524

350126 19-Jul-2019 asomers

MFC r349230, r349234, r349477

r349230:
Add a VOP_BMAP(9) man page

Reviewed by: mckusick
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D20704

r349234:
VOP_BMAP(9): fix typo in the copyright header

Reported by: rgrimes
MFC-With: 349230
Sponsored by: The FreeBSD Foundation

r349477:
[skip ci] VOP_BMAP.9: fix diction in copyright header

MFC-With: r349230
Sponsored by: The FreeBSD Foundation

349993 15-Jul-2019 kib

MFC r349950:
Style: avoid long lines by using .Fo instead of .Fn.

349090 15-Jun-2019 asomers

MFC r348316:

VOP_ADVLOCK.9: fix description of flags

* F_RDLCK, F_UNLCK, and F_WRLCK aren't flags. They're stored in the
fl.l_type field.
* Add F_REMOTE, added in r177633
* Add F_NOINTR, added in r180025

Sponsored by: The FreeBSD Foundation

349089 15-Jun-2019 asomers

MFC r348113:

Update VFS_FHTOVP(9) with the flags argument

Revison 222167 added a new argument to VFS_FHTOVP. This revision updates the
man page to match.

Reviewed by: rmacklem
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D20323

347479 11-May-2019 asomers

MFC r345677:

Add man page for VOP_FDATASYNC(9)

Reviewed by: kib
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D19678

347478 11-May-2019 asomers

MFC r345202:

VOP_INACTIVE(9): clarify wording

Reviewed by: kib, 0mp
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D19596

347213 06-May-2019 erj

MFC r345312: iflib: mark isc_driver_version as constant

(Additional comment by erj: This also adds a new sysctl_add_oid macro,
SYSCTL_ADD_CONST_STRING, for displaying const strings. This commit also
includes an edit to the sysctl.9 man page for it.)

Sponsored by: Intel Corporation

346512 22-Apr-2019 ian

MFC r330358, r330360

r330358: Minor changes to wording.
r330360: Minor (mostly) wording changes.

345636 28-Mar-2019 avos

MFC r344990:
Fix ieee80211_radiotap(9) usage in wireless drivers:

- Alignment issues:
* Add missing __packed attributes + padding across all drivers; in
most places there was an assumption that padding will be always
minimally suitable; in few places - e.g., in urtw(4) / rtwn(4) -
padding was just missing.
* Add __aligned(8) attribute for all Rx radiotap headers since they can
contain 64-bit TSF timestamp; it cannot appear in Tx radiotap headers, so
just drop the attribute here. Refresh ieee80211_radiotap(9) man page
accordingly.

- Since net80211 automatically updates channel frequency / flags in
ieee80211_radiotap_chan_change() drop duplicate setup for these fields
in drivers.


ieee80211_radiotap.9
/freebsd-11-stable/sys/dev/ath/if_athioctl.h
/freebsd-11-stable/sys/dev/bwi/if_bwi.c
/freebsd-11-stable/sys/dev/bwi/if_bwivar.h
/freebsd-11-stable/sys/dev/bwn/if_bwn.c
/freebsd-11-stable/sys/dev/bwn/if_bwnvar.h
/freebsd-11-stable/sys/dev/ipw/if_ipwvar.h
/freebsd-11-stable/sys/dev/iwi/if_iwivar.h
/freebsd-11-stable/sys/dev/iwm/if_iwmvar.h
/freebsd-11-stable/sys/dev/iwn/if_iwn.c
/freebsd-11-stable/sys/dev/iwn/if_iwnvar.h
/freebsd-11-stable/sys/dev/malo/if_maloioctl.h
/freebsd-11-stable/sys/dev/mwl/if_mwlioctl.h
/freebsd-11-stable/sys/dev/otus/if_otus.c
/freebsd-11-stable/sys/dev/otus/if_otusreg.h
/freebsd-11-stable/sys/dev/ral/rt2560var.h
/freebsd-11-stable/sys/dev/ral/rt2661var.h
/freebsd-11-stable/sys/dev/ral/rt2860var.h
/freebsd-11-stable/sys/dev/rtwn/if_rtwn.c
/freebsd-11-stable/sys/dev/rtwn/if_rtwnreg.h
/freebsd-11-stable/sys/dev/urtwn/if_urtwn.c
/freebsd-11-stable/sys/dev/urtwn/if_urtwnvar.h
/freebsd-11-stable/sys/dev/usb/wlan/if_rsu.c
/freebsd-11-stable/sys/dev/usb/wlan/if_rsureg.h
/freebsd-11-stable/sys/dev/usb/wlan/if_rumvar.h
/freebsd-11-stable/sys/dev/usb/wlan/if_run.c
/freebsd-11-stable/sys/dev/usb/wlan/if_runvar.h
/freebsd-11-stable/sys/dev/usb/wlan/if_uathvar.h
/freebsd-11-stable/sys/dev/usb/wlan/if_upgtvar.h
/freebsd-11-stable/sys/dev/usb/wlan/if_uralvar.h
/freebsd-11-stable/sys/dev/usb/wlan/if_urtw.c
/freebsd-11-stable/sys/dev/usb/wlan/if_urtwvar.h
/freebsd-11-stable/sys/dev/usb/wlan/if_zydreg.h
/freebsd-11-stable/sys/dev/wi/if_wireg.h
/freebsd-11-stable/sys/dev/wpi/if_wpivar.h
/freebsd-11-stable/sys/dev/wtap/if_wtapioctl.h
345635 28-Mar-2019 avos

MFC r306049:
net80211: remove IEEE80211_RADIOTAP_TSFT field from transmit definitions.

This field may be used for received frames only.

345039 11-Mar-2019 jhb

MFC 318388: Add sglist_append_sglist().

This function permits a range of one scatter/gather list to be appended to
another sglist. This can be used to construct a scatter/gather list that
reorders or duplicates ranges from one or more existing scatter/gather
lists.

Sponsored by: Chelsio Communications

344220 17-Feb-2019 kevans

MFC lualoader: r326353, r328440, r328443, r329166-r329167, r329274, r329329,
r329349-r329352, r329355-r329359, r329366-r329369, r329386-r329387, r329393,
r329413-r329415, r329417, r329424-r329436, r329457, r329473-r329474,
r329496-r329501, r329503-r329504, r329543, r329547-r329551, r329576-r329578,
r329580, r329583, r329585-r329590, r329592-r329596, r329609-r329611,
r329614, r329619, r329621-r329622, r329624, r329626-r329627,
r329629-r329632, r329640-r329641, r329643-r329646, r329649-r329650, r329654,
r329656, r329662, r329669-r329671, r329673-r329674, r329680,
r329684-r329689, r329692-r329693, r329696-r329700, r329709, r329716,
r329731, r329733-r329734, r329747-r329748, r329756, r329779, r329782,
r329784, r329786, r329804, r329806, r329809, r329811, r329836,
r329850-r329852, r329854, r329856-r329858, r329861, r329895,
r329897-r329899, r329901-r329903, r329922-r329924, r329927-r329928,
r329944-r329949, r329986-r329987, r330008-r330010, r330012, r330020,
r330082-r330084, r330087-r330088, r330098-r330101, r330138-r330139,
r330261-r330263, r330267-r330269, r330281-r330284, r330287, r330339-r330342,
r330345-r330346, r330369-r330370, r330434-r330435, r330564, r330616-r330618,
r330620, r330625, r330690, r330701, r330703, r330825, r331211, r331257,
r331259, r331281-r331282, r331304, r331314, r331476-r331477,
r331563-r331564, r331854-r331857, r331859-r331860, r332106, r334723,
r334879, r334891, r334907, r334912, r334939, r334986, r335009, r335371,
r336759, r337711, r337807-r337810, r338054, r338063, r338065-r338067,
r338083, r338085-r338086, r338108, r338167-r338168, r338173, r338203,
r338255, r338259, r338309, r338394, r338438, r338886, r338893, r339173,
r339200, r339218, r339222, r339301, r339307, r339677-r339678, r339702,
r339805, r339831, r339849, r340040, r340152

Some notes for this MFC:
- This is still pre-forth/lua coexistance; that will come shortly-ish so
that forth/lua may be installed together (with forth remaining the default)

- module_blacklist support for lualoader has been MFC'd, but the drm modules
are not blacklisted in this stable branch.

r326353: Import lua 5.3.4 to contrib
r328440: Preserve the original luaconf.h in a convenient place. Clients will
r328443: Gross hack to omit printing hex floating point when the lua number
r329166: Add Lua as a scripting langauge to /boot/loader
r329167: Add the lua scripts from the lua-bootloader SoC
r329274: stand/lua: Exit sub-menus on backspace
r329329: stand/lua: Always boot on 'enter' keypress in menus
r329349: stand/lua: Reduce magic numbers
r329350: stand/lua: Don't descend into an empty kernels submenu
r329351: stand/lua: Set reasonable ACPI default based on presence
r329352: stand/lua: Consistently use semicolons for line endings
r329355: stand/lua: Move kernel selection into main menu
r329356: stand/lua: Allow menu items to not have explicit aliases
r329357: stand/lua: Remove explicit alias from "Back to main menu"
r329358: stand/lua: Say "loader prompt" instead of "lua interpreter"
r329359: stand/lua: Remove a magic number/string (not a trivial literal)
r329366: stand/lua: Set ACPI's default the proper way (setACPI)
r329367: stand/lua: Create a "carousel" menu entry type
r329368: stand/lua: Create/use some MENU_ constants where applicable
r329369: stand/lua: Remove sneaky kernel assignment
r329386: stand/lua: Correct usage and acceptance of BACKSPACE/DELETE keys
r329387: stand/lua: Chop off the decimal for numbers passed to setcursor
r329393: stand/lua: Use escaped dot instead of single character class
r329413: stand/lua: Allow MENU_RETURN items to have func, fix esc. to prompt
r329414: stand/lua: Don't try to divide by 0; do nothing
r329415: stand/lua: Don't reload kernel config if we only have one kernel
r329417: stand/lua: Make CAROUSEL_ENTRY func parameters consistent with name
r329424: stand/lua: Don't set autoboot_delay=NO in menu autoboot sequence
r329425: stand/lua: Enable menu autoboot; it seems to work
r329426: stand/lua: Correct interpretation of autoboot_delay
r329427: stand/lua: Color non-default kernels blue
r329428: stand/lua: Correct some trivial errors in config
r329429: stand/lua: Add debug method to dump modules
r329430: stand/lua: Address some nits
r329431: stand/lua: Correct test sense, this should have been 'not nil'
r329432: stand/lua: Try to load alternate kernels as directories first
r329433: stand/lua: Add optional GELI passphrase prompt
r329434: stand/lua: Check for nil (GELI prompt)
r329435: stand/lua: Style pass
r329436: stand/lua: Debugging string snuck in...
r329457: stand/lua: dumpModules => lsModules
r329473: liblua: Clean up io/loader C module registration
r329474: liblua: Emulate DIR, opendir, fdopendir, closedir
r329496: stand/lua: Fix verbiage and some typos
r329497: stand/lua: Fix module_path handling with multiple kernels
r329498: stand/lua: Remove some debugging bits that snuck in... gr...
r329499: interp_lua: Register io/loader with regular Lua module system
r329500: Lua loader: Add barebones "lfs" module
r329501: lua loader: Auto detect eligible list of kernels to boot
r329503: liblua: Fix missing '}' in lutil.c after r329499
r329504: stand/lua: More style nits, config.lua
r329543: Create style.lua(9)
r329547: stand/lua: Allow menu items to be conditionally (in)visible
r329548: stand/lua: Addres style.lua(9) concern
r329549: stand/lua: Clear the screen before prompting for passwords
r329550: stand/lua: Store the loaded kernel as config.kernel_loaded
r329551: stand/lua: reload previously loaded kernel at config-load/reload
r329576: stand/lua: Defer kernel/module loading until boot or menu escape
r329577: stand/lua: Rename bootserial for clarity
r329578: stand/lua: Menu style.lua(9) nits
r329580: stand/lua: Remove some unused local declarations
r329583: stand/lua: Store menu entries in an "entries" table
r329585: stand/lua: Add core.isSingleUserBoot
r329586: stand/lua: Call menu_entries if it's a function
r329587: stand/lua: Swap single-/multi- user boot entries as needed
r329588: stand/lua: Re-wrap menu.lua now that I've added indentation...
r329589: stand/lua: Track env changes that come in via loader.conf(5)
r329590: stand/lua: Restore environment upon config reload
r329592: stand/lua: Remove inaccurate comment after r329590
r329593: stand/lua: Change boot menu items' names when swapped
r329594: stand/lua: Round up some more style.lua(9) concerns
r329595: stand/lua: Re-order locals after copyright notice; require first
r329596: stand/lua: Add copyright notice in places
r329609: stand/lua: Cache swapped menu, and don't create locals for swapping
r329610: style.lua(9): Note that wrapping at 80-columns is not rigid
r329611: stand/lua: Wrap tuple assignment earlier for readability
r329614: stand/lua: Don't set ACPI off just because we can't detect it.
r329619: stand/lua: Extract menu handlers out into menu.handlers table
r329621: stand/lua: Add and use drawer.menu_name_handlers
r329622: stand/lua: Move drawer.menu_name_handlers further up
r329624: stand/lua: Reduce exposure of the drawer module
r329626: stand/lua: Refactor logos into drawer.logodefs table
r329627: stand/lua: Refactor brands into drawer.branddefs
r329629: stand/lua: Use 'graphic' instead of 'logo' for depicting graphics
r329630: stand/lua: Stick a copyright notice on drawer.lua
r329631: stand/lua: Insert helpful comment for drawer.branddefs
r329632: style.lua(9): Clarify local variable guideline
r329640: stand/lua: Consistently declare local functions at module scope
r329641: stand/lua: Consistently organize modules
r329643: Implement loader.command
r329644: lualoader: Add ability to intercept cli commands
r329645: lualoader: Move carousel storage out into config
r329646: lualoader: Eliminate global namespace pollution in loader.lua
r329649: Lua lfs.attributes: Provide a more consistent error return
r329650: liblua: Add loader.machine and loader.machine_arch properties
r329654: lualoader: Ignore ACPI bits on !i386
r329656: loader.lua: Expose errno table to lua
r329662: lualoader: Replace invalid construct with valid construct
r329669: lualoader: Prefer selected kernel to currently loaded
r329670: lualoader: Don't try so hard to load a kernel
r329671: lualoader: Prepare for interception of "boot" CLI cmd
r329673: lualoader: Intercept boot cli command
r329674: lualoader: Intercept the 'autoboot' cli command
r329680: lualoader: When restoring environment, only restore unchanged vars
r329684: lualoader: Drop terminating semicolons
r329685: lualoader: Drop excessive parenthesizing
r329686: style.lua(9): Drop notes about semicolons
r329687: lualoader: Drop explicit boolean tests; b or not b
r329688: lualoader: Don't return false for failure to open config on silent
r329689: lualoader: Output "Failed to parse" messages
r329692: lualoader: Bring in local.lua module if it exists
r329693: lualoader: Return only argstr if with_kernel not requested
r329696: lualoader: Add "menu.default", initialized to menu.welcome
r329697: lualoader: Drop name requirement for menu separators
r329698: lualoader: Directly reference submenu definition with submenu key
r329699: lualoader: Simplify menu definitions a little further
r329700: lualoader: Allow carousel 'items' to be a table as well
r329709: lualoader: Don't autodetect kernels if 'kernels' is explicitly set
r329716: lualoader: Use the key that interrupts autoboot as a menu choice
r329731: lualoader: Add boot environment support
r329733: lualoader: Make kernel autodetect. contingent on loader.conf(5) var
r329734: lualoader: Don't execute menu.autoboot() for every opened menu
r329747: lualoader: Replace 8-space indentation with a single tab
r329748: lualoader: Drop password length restrictions
r329756: lualoader: Remove nasty hack for not printing out ".0"
r329779: lualoader: Split cli bits out into a cli module
r329782: lualoader: Unbreak 'boot [kernel]' by including config
r329784: lualoader: Pull argument extraction for cli funcs to cli.arguments
r329786: lualoader: Attach cli command functions to cli module
r329804: lualoader: Eliminate some unused locals
r329806: lualoader: Consistently use double quotes
r329809: lualoader: Address some 'luacheck' concerns
r329811: lualoader: Clear up an empty conditional branch
r329836: lualoader: Attend to some 80-col issues, pointed out by luacheck
r329850: lualoader: Drop unused return values; we'll only use the first
r329851: Add SPDX tags to lua files
r329852: Add copyright notice to core.lua
r329854: lualoader: shallowCopyTable => deepCopyTable
r329856: lualoader: Use "local function x()" instead "local x = function()"
r329857: Centralize lua defines
r329858: When the LUA_FLOAT_TYPE != LUA_FLOAT_INT64, we can't ref. float
r329861: lualoader: Track effective line number, use it for drawing
r329895: liblua: Implement write support
r329897: lualoader: Add nextboot support
r329898: lualoader: Plug file handle not properly closed
r329899: lualoader: Correct test and name
r329901: lualoader: Add comment on trailing space, don't operate on nil
r329902: lualoader: Remove unused variable; we now use effective line number
r329903: lualoader: Explain nextboot stuff a little bit more
r329922: lualoader: Split config file I/O out into a separate function
r329923: lualoader: Strip config.parse of its I/O privileges
r329924: lualoader: throw out nextboot's usage of standard config processing
r329927: lualoader: Clean up naming conventions a little bit
r329928: lualoader: Remove inaccurate part of comment
r329944: lualoader: Don't explicitly index tables without reason
r329945: lualoader: menu: Terminate final values in tables with a comma
r329946: lualoader: Clean up menu handling a little bit
r329947: lualoader: Pull menu redrawing specifics out of menu.process
r329948: lualoader: Pull autoboot handling out into menu.run()
r329949: lualoader: Explain deviation from naming guidelines
r329986: lualoader: Invalidate the screen from menu perspective mnu exit
r329987: lualoader: Track the menu currently drawn, instead of validity
r330008: lualoader: A little more general menu cleanup
r330009: lualoader: More argument name expansion, part 2
r330010: lualoader: screen argument fixes
r330012: style.lua(9): Add some additional notes about naming and commas
r330020: lualoader: Re-work menu skipping bits
r330082: lualoader: Add a twiddle at password prompt
r330083: lualoader: Remove remnants of testing...
r330084: lualoader: Replace instances of \027 with KEYSTR_ESCAPE
r330087: lualoader: Convert instances of KEYSTR_ESCAPE .. "[" -> KEYSTR_CSI
r330088: lualoader: Correct test sense, comments, and add some more comments
r330098: lualoader: Re-do twiddle
r330099: lualoader: Further screen cleanup
r330100: lualoader: Remove debug function
r330101: lualoader: Add note that \027 is a decimal representation
r330138: lualoader: Dedup these "Return to main menu" entries
r330139: lualoader: config: Pull some messages out into constants
r330261: lualoader: Fix some lint-mentioned errors
r330262: lualoader: Use #str instead of tracking length with 'n'
r330263: lualoader: Use string literal \xNN instead of string.char()
r330267: Add core.lua(8), but do not add to distribution
r330268: Add menu.lua(8), but do not add to distribution
r330269: core.lua(8): Add missing note about core.KEYSTR_CSI
r330281: lualoader: Steamroll the box-drawing
r330282: lualoader: Register loader.printc as global printc
r330283: lualoader: Use global printc instead of loader.printc
r330284: liblua: Use putc instead of printf for printc
r330287: lualoader: Reset the cursor position after the menu is drawn
r330339: liblua: Add loader.interpret
r330340: lualoader: Execute menu_timeout_command at the end of menu autoboot
r330341: lualoader: Respect loader_menu_title, prepare for align
r330342: lualoader: Respect loader_menu_title_align
r330345: lualoader: Tweak positioning and fix an off-by-one
r330346: lualoader: Shift menu+brand even for logo=none with customized pos
r330369: lualoader: Return meaningful value in cli_execute
r330370: lualoader: logdef -> logodef typo
r330434: lualoader: Add note about importance of including cli module early
r330435: lualoader: Use FILESDIR instead of BINDIR
r330564: lualoader: Only loadelf before boot/autoboot if no kernel loaded
r330616: lualoader: Expose loader.parse and add cli_execute_unparsed
r330617: lualoader: Fix name, cli.execute_unparsed -> cli_execute_unparsed
r330618: lualoader: Use cli_execute_unparsed instead of loader.interpret
r330620: lualoader: Use cli_execute_unparsed for commands via loader.conf
r330625: lualoader: Return status in cli_execute_unparsed properly
r330690: stand: Fix copy-paste-o, unbreaks libi386 lualoader build
r330701: lualoader: Don't redraw the autoboot message every .05s
r330703: lualoader: Cache kernel list
r330825: lualoader: Sprinkle some verbose_loading salt
r331211: lualoader: Setup default color scheme if we're using colors
r331257: lualoader: Reset attributes and color scheme with color.highlight()
r331259: lualoader: Use less atomic options for resetting colors/attributes
r331281: lualoader: Add primitive hook module to untangle bogus reference
r331282: core.lua(8): Update to reflect recently added function
r331304: lualoader: Clear up some possible naming confusion
r331314: lualoader: Use printc when we expect ANSI escape sequences
r331476: lualoader: Make config env-related bits private API
r331477: lualoader: Privatize some more config.lua bits
r331563: lualoader: Implement try_include and use it for including local
r331564: lualoader: Actually re-raise error in try_include
r331854: lualoader: Do case-insensitive comparison of "yes"
r331855: lualoader: Don't assume that {module}_load is set
r331856: lualoader: revert whitespace change that snuck in
r331857: lualoader: Simplify some expressions
r331859: lualoader: Split logodefs out into logo-* files
r331860: lualoader: Don't try to lookup a nil logo
r332106: lualoader: Fix menu skipping with loader.conf(5) vars
r334723: lualoader: Add a loaded hook for others to execute upon config load
r334879: lualoader: Add hook.lua(8) to tree
r334891: lualoader: Add cli.lua(8) to the tree
r334907: lualoader: Process loader_conf_files properly
r334912: lualoader: Support variable substitution in env var settings
r334939: lualoader: Allow brand-*.lua for adding new brands
r334986: lualoader: More black-on-white fixes
r335009: lualoader: Match Forth module-loading behavior w.r.t flags
r335371: lualoader: Correct kernel_options handling
r336759: lualoader: "nextboot_file" should be spelled "nextboot_conf"
r337711: lualoader: Fix parsing of negative number loader.conf(5) variables
r337807: Prevent a wanring about checkdp being unused.
r337808: When the LUA floating point model is INT64, we don't need to do the
r337809: For our INT64 implementation, we can compare integers and numbers
r337810: MFV r337586: lua: Update to 5.3.5
r338054: Add config.lua(8) to the tree
r338063: lualoader: Stop exporting drawer.draw
r338065: lualoader: Hide most of the internal drawing functions
r338066: lualoader: Hide the rest of the private interfaces
r338067: lualoader: Add drawer-exported variables for default logodefs
r338083: Add drawer.lua(8)
r338085: Add color.lua(8), password.lua(8), and screen.lua(8)
r338086: lualoader: Install all manpages
r338108: Serial console menus for lua.
r338167: lualoader: Just compare expression directly
r338168: lualoader: Refactor config line expressions
r338173: lualoader: Fix loader.conf(5) EOL validation for 'exec' lines
r338203: Turn off LOADER_GELI and LOADER_LUA for sparc64, until functional
r338255: lualoader: Fix (add) Xen support
r338259: lualoader: Accept that people use unquoted values in loader.conf
r338309: lualoader: Fix override of module_path on loader prompt
r338394: lualoader: fix color usage
r338438: lualoader: Handle comma-separated kernels as well
r338886: Improve loader passwords:
r338893: Set the default loader for powerpc(32- and 64-bit) back to to forth
r339173: Set the default loader for powerpc64 back to to forth too.
r339200: lualoader: Don't draw loader menu with autoboot_delay=-1
r339218: lualoader: Create a module blacklist, add DRM modules to it
r339222: lualoader: Honor boot_* variables at lua init
r339301: Loader GELI support, like lua loader, seems to be broken on PowerPC
r339307: lualoader: Provide a 'menu' command to redraw the menu at prompt
r339677: lualoader: unload upon kernel change if a kernel was loaded
r339678: menu.lua: Abort autoboot sequence on failed command
r339702: lualoader: Improve module loading diagnostics
r339805: lualoader: Always return a proper dictionary for blacklist
r339831: Move LUA_ROOT to /boot/lua
r339849: lualoader: Fix try_include error handling
r340040: lualoader: Implement boot-conf
r340152: lualoader: Add chainload menu entry

Relnotes: yes ("lualoader has been merged to stable/11, off by
default, to facilitate testing")


/freebsd-11-stable/UPDATING
/freebsd-11-stable/contrib/lua
/freebsd-11-stable/contrib/lua/README
/freebsd-11-stable/contrib/lua/doc/contents.html
/freebsd-11-stable/contrib/lua/doc/lua.css
/freebsd-11-stable/contrib/lua/doc/manual.html
/freebsd-11-stable/contrib/lua/doc/readme.html
/freebsd-11-stable/contrib/lua/src/Makefile
/freebsd-11-stable/contrib/lua/src/lapi.c
/freebsd-11-stable/contrib/lua/src/lapi.h
/freebsd-11-stable/contrib/lua/src/lauxlib.c
/freebsd-11-stable/contrib/lua/src/lauxlib.h
/freebsd-11-stable/contrib/lua/src/lbaselib.c
/freebsd-11-stable/contrib/lua/src/lbitlib.c
/freebsd-11-stable/contrib/lua/src/lcode.c
/freebsd-11-stable/contrib/lua/src/lcode.h
/freebsd-11-stable/contrib/lua/src/lcorolib.c
/freebsd-11-stable/contrib/lua/src/lctype.c
/freebsd-11-stable/contrib/lua/src/lctype.h
/freebsd-11-stable/contrib/lua/src/ldblib.c
/freebsd-11-stable/contrib/lua/src/ldebug.c
/freebsd-11-stable/contrib/lua/src/ldebug.h
/freebsd-11-stable/contrib/lua/src/ldo.c
/freebsd-11-stable/contrib/lua/src/ldo.h
/freebsd-11-stable/contrib/lua/src/ldump.c
/freebsd-11-stable/contrib/lua/src/lfunc.c
/freebsd-11-stable/contrib/lua/src/lfunc.h
/freebsd-11-stable/contrib/lua/src/lgc.c
/freebsd-11-stable/contrib/lua/src/lgc.h
/freebsd-11-stable/contrib/lua/src/linit.c
/freebsd-11-stable/contrib/lua/src/liolib.c
/freebsd-11-stable/contrib/lua/src/llex.c
/freebsd-11-stable/contrib/lua/src/llex.h
/freebsd-11-stable/contrib/lua/src/llimits.h
/freebsd-11-stable/contrib/lua/src/lmathlib.c
/freebsd-11-stable/contrib/lua/src/lmem.c
/freebsd-11-stable/contrib/lua/src/lmem.h
/freebsd-11-stable/contrib/lua/src/loadlib.c
/freebsd-11-stable/contrib/lua/src/lobject.c
/freebsd-11-stable/contrib/lua/src/lobject.h
/freebsd-11-stable/contrib/lua/src/lopcodes.c
/freebsd-11-stable/contrib/lua/src/lopcodes.h
/freebsd-11-stable/contrib/lua/src/loslib.c
/freebsd-11-stable/contrib/lua/src/lparser.c
/freebsd-11-stable/contrib/lua/src/lparser.h
/freebsd-11-stable/contrib/lua/src/lprefix.h
/freebsd-11-stable/contrib/lua/src/lstate.c
/freebsd-11-stable/contrib/lua/src/lstate.h
/freebsd-11-stable/contrib/lua/src/lstring.c
/freebsd-11-stable/contrib/lua/src/lstring.h
/freebsd-11-stable/contrib/lua/src/lstrlib.c
/freebsd-11-stable/contrib/lua/src/ltable.c
/freebsd-11-stable/contrib/lua/src/ltable.h
/freebsd-11-stable/contrib/lua/src/ltablib.c
/freebsd-11-stable/contrib/lua/src/ltm.c
/freebsd-11-stable/contrib/lua/src/ltm.h
/freebsd-11-stable/contrib/lua/src/lua.c
/freebsd-11-stable/contrib/lua/src/lua.h
/freebsd-11-stable/contrib/lua/src/luac.c
/freebsd-11-stable/contrib/lua/src/luaconf.h
/freebsd-11-stable/contrib/lua/src/luaconf.h.dist
/freebsd-11-stable/contrib/lua/src/lualib.h
/freebsd-11-stable/contrib/lua/src/lundump.c
/freebsd-11-stable/contrib/lua/src/lundump.h
/freebsd-11-stable/contrib/lua/src/lutf8lib.c
/freebsd-11-stable/contrib/lua/src/lvm.c
/freebsd-11-stable/contrib/lua/src/lvm.h
/freebsd-11-stable/contrib/lua/src/lzio.c
/freebsd-11-stable/contrib/lua/src/lzio.h
Makefile
style.lua.9
/freebsd-11-stable/share/mk/src.opts.mk
/freebsd-11-stable/stand/Makefile
/freebsd-11-stable/stand/common/interp_lua.c
/freebsd-11-stable/stand/defaults/loader.conf
/freebsd-11-stable/stand/defaults/loader.conf.5
/freebsd-11-stable/stand/defs.mk
/freebsd-11-stable/stand/liblua
/freebsd-11-stable/stand/liblua/Makefile
/freebsd-11-stable/stand/liblua/lerrno.c
/freebsd-11-stable/stand/liblua/lerrno.h
/freebsd-11-stable/stand/liblua/lfs.c
/freebsd-11-stable/stand/liblua/lfs.h
/freebsd-11-stable/stand/liblua/lstd.c
/freebsd-11-stable/stand/liblua/lstd.h
/freebsd-11-stable/stand/liblua/luaconf.h
/freebsd-11-stable/stand/liblua/lutils.c
/freebsd-11-stable/stand/liblua/lutils.h
/freebsd-11-stable/stand/liblua32
/freebsd-11-stable/stand/libsa/stand.h
/freebsd-11-stable/stand/loader.mk
/freebsd-11-stable/stand/lua
/freebsd-11-stable/stand/lua.mk
/freebsd-11-stable/stand/lua/Makefile
/freebsd-11-stable/stand/lua/cli.lua
/freebsd-11-stable/stand/lua/cli.lua.8
/freebsd-11-stable/stand/lua/color.lua
/freebsd-11-stable/stand/lua/color.lua.8
/freebsd-11-stable/stand/lua/config.lua
/freebsd-11-stable/stand/lua/config.lua.8
/freebsd-11-stable/stand/lua/core.lua
/freebsd-11-stable/stand/lua/core.lua.8
/freebsd-11-stable/stand/lua/drawer.lua
/freebsd-11-stable/stand/lua/drawer.lua.8
/freebsd-11-stable/stand/lua/hook.lua
/freebsd-11-stable/stand/lua/hook.lua.8
/freebsd-11-stable/stand/lua/loader.lua
/freebsd-11-stable/stand/lua/logo-beastie.lua
/freebsd-11-stable/stand/lua/logo-beastiebw.lua
/freebsd-11-stable/stand/lua/logo-fbsdbw.lua
/freebsd-11-stable/stand/lua/logo-orb.lua
/freebsd-11-stable/stand/lua/logo-orbbw.lua
/freebsd-11-stable/stand/lua/menu.lua
/freebsd-11-stable/stand/lua/menu.lua.8
/freebsd-11-stable/stand/lua/password.lua
/freebsd-11-stable/stand/lua/password.lua.8
/freebsd-11-stable/stand/lua/screen.lua
/freebsd-11-stable/stand/lua/screen.lua.8
/freebsd-11-stable/sys/sys/param.h
/freebsd-11-stable/tools/build/options/WITH_LOADER_LUA
343558 29-Jan-2019 brooks

MFC r343366:

Remove documentation for the nonexistant cred_update_thread(9).

This was a tangential change submitted as part of D18930.

Submitted by: jack@gandi.net

342213 19-Dec-2018 kib

MFC r342144:
Document new required MI behaviour of pmap_enter(9) for CoW.

341479 04-Dec-2018 vmaffione

MFC r340475

ifnet(9): Add description of IFCAP_NETMAP

Describe IFCAP_NETMAP adding a cross reference to netmap(4).

Reviewed by: bcr, 0mp
Approved by: gnn (mentor)
Differential Revision: https://reviews.freebsd.org/D17988

341154 28-Nov-2018 markj

MFC r340730, r340731:
Add taskqueue_quiesce(9) and use it to implement taskq_wait().

PR: 227784

339053 01-Oct-2018 asomers

MFC r337482:

Bring VOP_LOOKUP(9) up to date

* Remove the cn_hash field (removed by r51906)
* Add the cn_lkflags field (added by r144285)
* Remove duplicate definition of cnp.

Reviewed by: kib
Differential Revision: https://reviews.freebsd.org/D16629

339003 28-Sep-2018 jhb

MFC 337673: Add an overview section to bus_dma.9.

Describe the role of tags and mapping objects as abstractions.
Describe static vs dynamic transaction types and give a brief overview
of the set of functions and object life cycles used for static vs
dynamic.

While here, fix a few other typos and expand a bit on parent tags.

337565 10-Aug-2018 kib

MFC r337236:
Some updates to vm_map(9).

336346 16-Jul-2018 kevans

MFC r304910, r304912, r304915, r304952, r325019, r328164, r331094, r332664,
r335341-r335345, r335347, r335379-r335380, r335382

r304910:
Introduce cnv man page.

r304912:
Add missed header file for cnv.h .

r304915:
Bump date in the man page.

r304952:
Remove duplicated declaration.

r325019:
Introduce cnvlist_name() and cnvlist_type() functions.

Those function can be used when we are iterating over nvlist to reduce
amount of extra variables we need to declare.

r328164:
libnv: Use mallocarray(9) for the nv_calloc.

r331094:
Fix formatting errors that resulted in apropos(1) output looking weird.

r332664:
Add missing argument in the cnv man page.

r335341:
libnv: change name of cookie from cookiep to cookie.

The name was inconsistent with rest of the library.
No functional change intended.

r335342:
libnv: add const to cookies arguments

r335343:
libnv: Remove nvlist argument from cnvlist_{take,free}_* functions.

All information which are need for those operations is already stored in
the cookie.

We decided not to bump libnv version because this API is not used yet in the
base system.

r335344:
libnv: clean parent in nvlist_array when removing it.

When we are removing element form the nvlist we should also clean parent,
because the array is not a part of the nvlist anymore.

r335345:
libnv: add regression test for r335344.

r335347:
libnv: Add nvlist_append_*_array() family of functions.

The nvlist_append_{bool,number,string,nvlist,descriptor}_array() functions
allows to dynamically extend array stored in the nvlist.

r335379:
Set prev to NULL so its garaunteed to have a value of some kind and
gcc doesn't explode. Feel free to fix this correctly or whatever for
gcc builds.

This *should* quiesce tinderbox after r335347 for the gcc builds.

r335380:
style(9) fix, I was also going to silence gcc.

r335382:
Really fix the style.

336091 08-Jul-2018 markj

MFC r335660:
Add missing MLINK.

334612 04-Jun-2018 markj

MFC r334100:
Document the return value of sbuf_bcat(9).

333616 14-May-2018 gonzo

MFC r332317, r332439, r332442

Approved by: re

r332317:
[man] Fix return type of BUS_ADD_CHILD(9)

Fix return type of BUS_ADD_CHILD(9) in SYNOPSYS section,
it should be device_t, not int

PR: 207389

r332439:
Fix quotes in the example code in syslog(3) BUGS section

mdoc treats verbatim quotes in .Dl as a string delimiter and does
not pass them to the rendered output. Use special char \*q to specify
double quote

PR: 216755

r332442:
Bump .Dd value (forgot to do this in r332439)

332776 19-Apr-2018 markj

MFC r332043:
Typo.

332607 16-Apr-2018 asomers

MFC r330627:

g_bio(9): fix a documentation oversight from r163870

332592 16-Apr-2018 trasz

MFC r325403:

Add missing MLINKS for disk_add_alias(9).

332513 15-Apr-2018 kp

MFC r331436:

netpfil: Introduce PFIL_FWD flag

Forwarded packets passed through PFIL_OUT, which made it difficult for
firewalls to figure out if they were forwarding or producing packets. This in
turn is an issue for pf for IPv6 fragment handling: it needs to call
ip6_output() or ip6_forward() to handle the fragments. Figuring out which was
difficult (and until now, incorrect).
Having pfil distinguish the two removes an ugly piece of code from pf.

Introduce a new variant of the netpfil callbacks with a flags variable, which
has PFIL_FWD set for forwarded packets. This allows pf to reliably work out if
a packet is forwarded.

331833 31-Mar-2018 gonzo

MFC r330309:

[fdt_pinctrl] Add man pages for fdt_pinctrl driver

- Add fdt_pinctrl(4) with general information for the driver
- Add fdt_pinctrl(9) with fdt_pinctrl KPI description

Reviewed by: ian, manu, wblock
Differential Revision: https://reviews.freebsd.org/D14235

331727 29-Mar-2018 mjoras

MFC r325621, r325622, r331227

Add EVENTHANDLER_LIST and some users.

Also fix a longstanding bug in mtx initialization.

331511 25-Mar-2018 sevan

MFC r331274

Extend the description of ALTQ to call it a system which is a framework in
altq(4) to match altq(9). This makes preserving the history section as the
author of ALTQ easier in the history section, rather than calling it a framework
in the description & a system in the history.
Add a history section to altq(4) and extend the history section in altq(9)

331111 17-Mar-2018 bryanv

MFC r329598:

Add PCI methods to iterate over the PCI capabilities

VirtIO V1 provides configuration in multiple VENDOR capabilities so this
allows all of the configuration to be discovered.

Reviewed by: jhb
Differential Revision: https://reviews.freebsd.org/D14325

330850 13-Mar-2018 hselasky

MFC r330349 and r330362:
Allow pause_sbt() to catch signals during sleep by passing C_CATCH flag.
Define pause_sig() function macro helper similarly to other kernel functions
which catch signals. Update outdated function description.

Document pause_sig(9) and update prototypes for existing pause(9) and
pause_sbt(9) functions.

Discussed with: kib@
Suggested by: cem@
Sponsored by: Mellanox Technologies

329560 19-Feb-2018 kib

MFC r329347:
Note that on amd64 pmap_enter(psind = 1) works.

329383 16-Feb-2018 markj

MFC r315718, r316031:
Add support for 8- and 16-bit atomic_(f)cmpset to x86.

329217 13-Feb-2018 bryanv

MFC 328917:

Correct structure name used in bus_map_resource(9) example

328210 21-Jan-2018 kp

MFC r327674, r327796

Introduce mallocarray() in the kernel

Similar to calloc() the mallocarray() function checks for integer
overflows before allocating memory.
It does not zero memory, unless the M_ZERO flag is set.

Additionally, move the overflow check logic out to WOULD_OVERFLOW() for
consumers to have a common means of testing for overflowing allocations.
WOULD_OVERFLOW() should be a secondary check -- on 64-bit platforms, just
because an allocation won't overflow size_t does not mean it is a sane size
to request. Callers should be imposing reasonable allocation limits far,
far, below overflow.

Obtained from: OpenBSD

327626 06-Jan-2018 ian

MFC r324413, r324415

r324413:
Restore the ability to deregister an eventhandler from within the callback.

When the EVENTHANDLER(9) subsystem was created, it was a documented feature
that an eventhandler callback function could safely deregister itself. In
r200652 that feature was inadvertantly broken by adding drain-wait logic to
eventhandler_deregister(), so that it would be safe to unload a module upon
return from deregistering its event handlers.

There are now 145 callers of EVENTHANDLER_DEREGISTER(), and it's likely many
of them are depending on the drain-wait logic that has been in place for 8
years. So instead of creating a separate eventhandler_drain() and adding it
to some or all of those 145 call sites, this creates a separate
eventhandler_drain_nowait() function for the specific purpose of
deregistering a callback from within the running callback.

Differential Revision: https://reviews.freebsd.org/D12561

r324415:
Add eventhandler notifications for newbus device attach/detach.

The detach case is slightly complicated by the fact that some in-kernel
consumers may want to know before a device detaches (so they can release
related resources, stop using the device, etc), but the detach can fail. So
there are pre- and post-detach notifications for those consumers who need to
handle all cases.

A couple salient comments from the review, they amount to some helpful
documentation about these events, but there's currently no good place for
such documentation...

Note that in the current newbus locking model, DETACH_BEGIN and
DETACH_COMPLETE/FAILED sequence of event handler invocation might interweave
with other attach/detach events arbitrarily. The handlers should be prepared
for such situations.

Also should note that detach may be called after the parent bus knows the
hardware has left the building. In-kernel consumers have to be prepared to
cope with this race.

Differential Revision: https://reviews.freebsd.org/D12557

327225 26-Dec-2017 kib

MFC r327088:
Update HISTORY section for the atomic(9) page.

327224 26-Dec-2017 alc

MFC r326982
Document the semantics of atomic_thread_fence operations.

Add atomic_load_<type> and atomic_store_<type>, and explain why they
exist.

Define the synchronizes-with relationship and its effects.

Reorder and revise some of the existing text. For example, more
precisely describe when ordinary accesses are atomic.

326679 08-Dec-2017 asomers

MFC r325946:

VOP_LOOKUP.9: update locking info

The old description has been inaccurate since at least 243271, if not
before.

Submitted by: will
Reviewed by: kib
Sponsored by: Spectra Logic Corp
Differential Revision: https://reviews.freebsd.org/D13108

326305 28-Nov-2017 markj

MFC r326060:
Clean up the SYSINIT_FLAGS definitions for rwlock(9) and rmlock(9).

325130 30-Oct-2017 kib

MFC r324926:
Expand explanation of atomicity.

324679 17-Oct-2017 emaste

MFC r324509: sysctl.9: document CTLFLAG_CAPRD and CTLFLAG_CAPWR

Reported by: Shawn Webb
Sponsored by: The FreeBSD Foundation

323950 23-Sep-2017 oshogbo

MFC r323655:

Add missing links to the nv man page.

323949 23-Sep-2017 oshogbo

MFC r323654:

Fix names of the array functions in the nv man page.

Submitted by: def@

323464 11-Sep-2017 ian

MFC r322465:

Add config_intrhook_oneshot(): schedule an intrhook function and unregister
it automatically after it runs.

The config_intrhook mechanism allows a driver to stall the boot process
until device(s) required for booting are available, by not allowing system
inits to proceed until all intrhook functions have been unregistered.
Virtually all existing code simply unregisters from within the hook function
when it gets called.

This new function makes that common usage more convenient. Instead of
allocating and filling in a struct, passing it to a function that might (in
theory) fail, and checking the return code, now a driver can simply call
this cannot-fail routine, passing just the intrhook function and its arg.

Differential Revision: https://reviews.freebsd.org/D11963

323447 11-Sep-2017 ian

MFC r320901-r320902, r320996-r320997, r321002, r321048, r321400, r321743,
r321745

r320901:
Protect access to the AT realtime clock with its own mutex.

The mutex protecting access to the registered realtime clock should not be
overloaded to protect access to the atrtc hardware, which might not even be
the registered rtc. More importantly, the resettodr mutex needs to be
eliminated to remove locking/sleeping restrictions on clock drivers, and
that can't happen if MD code for amd64 depends on it. This change moves the
protection into what's really being protected: access to the atrtc date and
time registers.

This change also adds protection when the clock is accessed from
xentimer_settime(), which bypasses the resettodr locking.

Differential Revision: https://reviews.freebsd.org/D11483

r320902:
Support multiple realtime clocks, and remove locking/sleeping restrictions
on clock drivers.

This tracks multiple concurrent realtime clock drivers in a list sorted by
clock resolution. When system time changes (and periodically) the
clock_settime() methods of all registered clocks are invoked.

To initialize system time, each driver is tried in turn from best to worst
resolution, until one succesfully returns a valid time.

The code no longer holds a mutex while calling the clock_settime() and
clock_gettime() methods of the registered clocks. This allows clock drivers
to do whatever kind of locking or sleeping is necessary (this is especially
important for i2c clock chips since i2c drivers often need to sleep).

A new clock_register_flags() function allows the clock driver to pass
flags. The flags currently defined help support drivers that use their own
techniques to avoid roundoff errors (prevents the 4/5 rounding done by the
subr_rtc code). A driver which may need to wait for resources (such as bus
ownership) may pass a flag to indicate that it will obtain system time for
itself after waiting for resources; this is merely an optimization to avoid
the common code retrieving a timespec that will never get used.

Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D11484

r320996:
Allow setting debug.clocktime as a tunable. Print 64-bit time_t correctly
on 32-bit systems.

r320997:
Minor optimization: instead of converting between days and years using
loops that start in 1970, assume most conversions are going to be for recent
dates and use a precomputed number of days through the end of 2016.

r321002:
Revert r320997. There are reports of it getting the wrong results, so
clearly my testing was insuffficent, and it's best to just revert it
until I get it straightened out.

r321048:
Minor optimization: instead of converting between days and years using loops
that start in 1970, assume most conversions are going to be for recent dates
and use a precomputed number of days through the end of 2016.

This is a do-over of r320997, hopefully this time with 100% more workiness.

The first attempt had an off-by-one error, but instead of just adding
another mysterious +1 adjustment, this rearranges the relationship between
recent_base_year and recent_base_days so that the latter is the number of
days that occurred before the start of the associated year (instead of the
count thru the end of that year). This makes the recent_base stuff work
more like the original loop logic that didn't need any +1 adjustments.

r321400:
Add common code to support realtime clocks that store year without century.

Most realtime clocks store the year as 2 BCD digits. Some add a century bit
to extend the range another hundred years. Every clock driver has its own
code to determine the century and pass a full year value to clock_ct_to_ts().
Now clock drivers can just convert BCD to bin and store the result in the
clocktime struct and let the common code figure out the century. Clocks
with a century bit can just add 100 to year if the century bit is on.

r321743:
Add taskqueue_enqueue_timeout_sbt(), because sometimes you want more control
over the scheduling precision than 'ticks' can offer, and because sometimes
you're already working with sbintime_t units and it's dumb to convert them
to ticks just so they can get converted back to sbintime_t under the hood.

r321745:
Add clock_schedule(), a feature that allows realtime clock drivers to
request that their clock_settime() methods be called at a given offset
from top-of-second. This adds a timeout_task to the rtc_instance so that
each clock can be separately added to taskqueue_thread with the scheduling
it prefers, instead of looping through all the clocks at once with a
single task on taskqueue_thread. If a driver doesn't call clock_schedule()
the default is the old behavior: clock_settime() is queued immediately.

323395 10-Sep-2017 ian

MFC r315089: Document uiomove_frombuf(9).

321231 19-Jul-2017 ngie

MFC note: content changes based on r309745 not included.

MFC r315799:

counter(9): fix igor/manlint warnings

- Reword description of `counter_enter` slightly to fix
wordiness [1].
- Expand "isn't" as "is not" [1].
- Add missing section number with .Xr sysctl calls [2].

321229 19-Jul-2017 ngie

MFC note: cnv(9) diff ignored since API/manpage not present on
^/stable/11.

MFC r309066:

r309066 (by brueffer):

Fix various mdoc issues reported by mandoc -Tlint.

321116 18-Jul-2017 ngie

MFC r316549,r316550,r316551,r316554:

r316549:

Add sys/types.h #include to EXAMPLE to provide a complete functional
standalone example program

r316550:

sbuf(9): convert SYNOPSIS section from .Fn entries to .Fo/.Fa/.Fc entries

This shortens the column count on many lines considerably.

While here, add "(void)" to sbuf_new_auto(3) for consistency with style(9)
recommendations.

r316551:

sbuf(9): clarify kernel-only APIs

- move sbuf_bcopyin(9) and sbuf_copyin(9) near sbuf_new_for_sysctl(9), as
all three functions are kernel-only APIs.
- add #ifdef _KERNEL around sbuf_*copyin and sbuf_new_for_sysctl(9) to
make it visually clear that they are kernel-only APIs.

r316554:

sbuf(9): add MLINKS for sbuf_{clear,get,set}_flags(9)

These functions were added in r279992.

321107 18-Jul-2017 ngie

MFC r307873,r314397,r314399,r314419,r314420,r314533,r316553:

r307873 (by marcel):

Include <stdarg.h> instead of <machine/stdarg.h> when compiled as
part of libsbuf. The former is the standard header, and allows us
to compile libsbuf on macOS/linux.

r314397 (by scottl):

Implement sbuf_prf(), which takes an sbuf and outputs it
to stdout in the non-kernel case and to the console+log
in the kernel case. For the kernel case it hooks the
putbuf() machinery underneath printf(9) so that the buffer
is written completely atomically and without a copy into
another temporary buffer. This is useful for fixing
compound console/log messages that become broken and
interleaved when multiple threads are competing for the
console.

r314399 (by scottl):

Add prototype for sbuf_putbuf()

r314419 (by jkim):

Include stdio.h to fix libsbuf build.

r314420 (by scottl):

Provide a comment on why stdio.h needs to be included.

r314533 (by scottl):

Expose the sbuf_putbuf() symbol to libsbuf. There are a few other symbols
that are present but not exposed, like get/set/clear flags, not sure if they
need to be exposed at this point.

r316553:

sbuf(3): expose sbuf_{clear,get,set}_flags(3) via libsbuf

These functions were added to sbuf(9) in r279992, but never
exposed to userspace. Expose them now so they can be used/tested.

320939 13-Jul-2017 kib

MFC r320755,r320762,r320893:
BIT_FLS(9).

319650 07-Jun-2017 kib

MFC r318781:
Add BIT_OR2(), BIT_AND2(), BIT_NAND2(), BIT_XOR() and BIT_XOR2().

Approved by: re (marius)

318971 27-May-2017 gjb

MFC r318794, r318795:
Update the "first appeared in" version in several manual pages.

Sponsored by: The FreeBSD Foundation

318072 09-May-2017 bdrewery

MFC r306773:

Add link for vrefl(9).

317580 29-Apr-2017 glebius

Merge r317444, r317445:

UMA_ZONE_REFCNT was removed.

PR: 209715
PR: 218887

317327 23-Apr-2017 trasz

MFC r316057:

Document EVENTHANDLER_DEFINE(9).

Sponsored by: DARPA, AFRL

317326 23-Apr-2017 trasz

MFC r316056:

The cn_consume was removed in r296716.

Sponsored by: DARPA, AFRL

316254 30-Mar-2017 ngie

MFC r315798:

DB_COMMAND(9): fix mandoc markup

Start new sentences on new lines.

316246 30-Mar-2017 ngie

MFC r315795:

alq(9): fix mandoc markup

Start new sentence on a new line.

316244 30-Mar-2017 ngie

MFC r315803:

memguard(9): fix igor/manlint warnings

- Expand a contraction [1].
- Add a missing section number when referring to uma(9) with .Xr .

316240 30-Mar-2017 ngie

MFC r315802:

ifnet(9): fix some igor/manlint warnings

- Fix typos (queueing -> queuing) [1].
- Add missing section number for polling .Xr reference [2].

316238 30-Mar-2017 ngie

MFC r315804:

PCI_IOV_*INIT(9): fix make manlint warnings

Add missing section number when referring to PCI_IOV_*INIT(9) with .Xr
from the other corresponding manpage.

316227 30-Mar-2017 ngie

MFC r315797:

buf_ring(9): fix mandoc markup

Remove spurious trailing comma after `buf_ring_peek` in the NAME
section.

316220 30-Mar-2017 ngie

MFC r315796:

bus_alloc_resource(9): fix mandoc markup

Add missing comma after `.Nm bus_alloc_resource_any` in NAME section.

316120 29-Mar-2017 vangyzen

MFC r315280 r315287

When the RTC is adjusted, reevaluate absolute sleep times based on the RTC

POSIX 2008 says this about clock_settime(2):

If the value of the CLOCK_REALTIME clock is set via clock_settime(),
the new value of the clock shall be used to determine the time
of expiration for absolute time services based upon the
CLOCK_REALTIME clock. This applies to the time at which armed
absolute timers expire. If the absolute time requested at the
invocation of such a time service is before the new value of
the clock, the time service shall expire immediately as if the
clock had reached the requested time normally.

Setting the value of the CLOCK_REALTIME clock via clock_settime()
shall have no effect on threads that are blocked waiting for
a relative time service based upon this clock, including the
nanosleep() function; nor on the expiration of relative timers
based upon this clock. Consequently, these time services shall
expire when the requested relative interval elapses, independently
of the new or old value of the clock.

When the real-time clock is adjusted, such as by clock_settime(3),
wake any threads sleeping until an absolute real-clock time.
Such a sleep is indicated by a non-zero td_rtcgen. The sleep functions
will set that field to zero and return zero to tell the caller
to reevaluate its sleep duration based on the new value of the clock.

At present, this affects the following functions:

pthread_cond_timedwait(3)
pthread_mutex_timedlock(3)
pthread_rwlock_timedrdlock(3)
pthread_rwlock_timedwrlock(3)
sem_timedwait(3)
sem_clockwait_np(3)

I'm working on adding clock_nanosleep(2), which will also be affected.

Reported by: Sebastian Huber <sebastian.huber@embedded-brains.de>
Relnotes: yes
Sponsored by: Dell EMC

316075 28-Mar-2017 ngie

MFC r313436,r313437,r313438,r314587,r315687:

r313436:

Clarify #includes for hexdump(3) vs sbuf_hexdump(9)

hexdump(3) only requires libutil.h, whereas sbuf_hexdump(9) requires
sys/types.h (for ssize_t) and sys/sbuf.h

r313437:

Create link from hexdump(3) to sbuf_hexdump(9) as the manpage describes
sbuf_hexdump(9)'s behavior

r313438:

Clean up trailing and leading whitespace for variables to make it
consistent with the rest of the file and style.Makefile(9) a bit
more

r314587:

Correct MLINKS for sbuf_hexdump(9)

sbuf_hexdump(9) should be linked to sbuf(9), not hexdump(3). Another
review will be posted to deduplicate the sbuf_hexdump reference in
in hexdump(3) or at the very least make the information less duplicative.

r315687:

Document sbuf_hexdump(9) in just sbuf(9)

- Remove duplicate references to sbuf_hexdump(9) from hexdump(3).
sbuf_hexdump(9) already pointed back to hexdump(3) for implementation
details.
- Refer to sbuf_hexdump(9) instead of sbuf(9) for completeness

315392 16-Mar-2017 mjg

MFC r311168,r311171:

Add the upcoming atomic_fcmpset family to the atomic(9) man page.

These primitives give the caller the read value if the exchange attempt
failed which saves an explicit reload for cmpset loops.

The man page was partially submitted by kib.

==

Fix typo

312364 18-Jan-2017 yongari

MFC r302548:
Belatedly remove CSUM_IP_FRAGS and CSUM_FRAGMENT offloading
capabilities. It was removed in r243624 and r254804/r271006
respectively.
This file and mbuf(9) needs updates for other offloading
capabilities(i.e. CSUM_SCTP and CSUM_TSO).

310260 19-Dec-2016 trasz

MFC r308637:

Fix function prototypes in usbdi(9) man page, and tweak it a little.

307340 15-Oct-2016 avos

MFC r307000, r307001:

mbuf(9), mbuf_tags(9): fix function prototypes.

- Add m_getclr(9) symlink to ObsoleteFiles.inc (removed in r295481).
- Add const qualifiers in m_dup(), m_dup_pkthdr() and m_tag_copy_chain()
(r286450).
- Fix m_dup_pkthdr() definition (it's not the same as m_move_pkthdr()).

306946 10-Oct-2016 hselasky

MFC r306441 and r306634:
While draining a timeout task prevent the taskqueue_enqueue_timeout()
function from restarting the timer.

Commonly taskqueue_enqueue_timeout() is called from within the task
function itself without any checks for teardown. Then it can happen
the timer stays active after the return of taskqueue_drain_timeout(),
because the timeout and task is drained separately.

This patch factors out the teardown flag into the timeout task itself,
allowing existing code to stay as-is instead of applying a teardown
flag to each and every of the timeout task consumers.

Add assert to taskqueue_drain_timeout() which prevents parallel
execution on the same timeout task.

Update manual page documenting the return value of
taskqueue_enqueue_timeout().

Differential Revision: https://reviews.freebsd.org/D8012
Reviewed by: kib, trasz

306535 30-Sep-2016 jhb

MFC 305751: Make device_quiet() an attachment property.

In particular, reset the DF_QUIET flag when detaching from a device so
that a driver that marks a device quiet doesn't dictate policy for a
different driver that may claim the device in the future.

Sponsored by: Chelsio Communications

306520 30-Sep-2016 jhb

MFC 305502: Reset PCI pass through devices via PCI-e FLR during VM start/end.

Add routines to trigger a function level reset (FLR) of a PCI-express
device via the PCI-express device control register. This also includes
support routines to wait for pending transactions to complete as well
as calculating the maximum completion timeout permitted by a device.

Change the ppt(4) driver to reset pass through devices before attaching
to a VM during startup and before detaching from a VM during shutdown.

Sponsored by: Chelsio Communications

306471 30-Sep-2016 jhb

MFC 304858,305485,305497: Fix various issues with PCI pass through and VT-d.

304858:
Enable I/O MMU when PCI pass through is first used.

Rather than enabling the I/O MMU when the vmm module is loaded,
defer initialization until the first attempt to pass a PCI device
through to a guest. If the I/O MMU fails to initialize or is not
present, than fail the attempt to pass a PCI device through to a
guest.

The hw.vmm.force_iommu tunable has been removed since the I/O MMU is
no longer enabled during boot. However, the I/O MMU support can be
disabled by setting the hw.vmm.iommu.enable tunable to 0 to prevent
use of the I/O MMU on any systems where it is buggy.

305485:
Leave ppt devices in the host domain when they are not attached to a VM.

This allows a pass through device to be reset to a normal device driver
on the host and reused on the host. ppt devices are now always active in
some I/O MMU domain when the I/O MMU is active, either the host domain
or the domain of a VM they are attached to.

305497:
Update the I/O MMU in bhyve when PCI devices are added and removed.

When the I/O MMU is active in bhyve, all PCI devices need valid entries
in the DMAR context tables. The I/O MMU code does a single enumeration
of the available PCI devices during initialization to add all existing
devices to a domain representing the host. The ppt(4) driver then moves
pass through devices in and out of domains for virtual machines as needed.
However, when new PCI devices were added at runtime either via SR-IOV or
HotPlug, the I/O MMU tables were not updated.

This change adds a new set of EVENTHANDLERS that are invoked when PCI
devices are added and deleted. The I/O MMU driver in bhyve installs
handlers for these events which it uses to add and remove devices to
the "host" domain.

Sponsored by: Chelsio Communications

306470 30-Sep-2016 jhb

MFC 305248: Remove warning about pci_addr_t being different sizes.

pci_addr_t has always been 64-bits since r163805.

306461 29-Sep-2016 jhb

MFC 303721: Permit the name of the /dev/iov entry to be set by the driver.

The PCI_IOV option creates character devices in /dev/iov for each PF
device driver that registers support for creating VFs. By default the
character device is named after the PF device (e.g. /dev/iov/foo0).
This change adds a variant of pci_iov_attach() called pci_iov_attach_name()
that allows the name of the /dev/iov entry to be specified by the
driver.

To preserve the ABI, this version does not modify the existing
PCI_IOV_ATTACH kobj method as was done in HEAD. Instead, a new
PCI_IOV_ATTACH_NAME method has been added that accepts the name as an
additional parameter. The PCI bus driver now provides an implementation
of PCI_IOV_ATTACH_NAME. A default implementation of PCI_IOV_ATTACH is
provided that calls PCI_IOV_ATTACH_NAME passing 'device_get_nameunit(dev)'
as the name.

Sponsored by: Chelsio Communications

306314 25-Sep-2016 kib

MFC r305692:
Add FPU_KERN_NOCTX flag to the fpu_kern_enter() function on amd64.

304882 27-Aug-2016 kib

MFC r303425:
Add callout_when(9).

MFC r303919:
Fix indentation.

303620 01-Aug-2016 vangyzen

MFC r303519

Fix two return types in the cpuset(9) and bitset(9) man pages

The *_FFS() and *_COUNT() functions return int, not size_t.

Approved by: re (gjb)
Sponsored by: Dell Inc.

303549 30-Jul-2016 kib

MFC r303211:
Implement mtx_trylock_spin(9).

Approved by: re (gjb)

302408 08-Jul-2016 gjb

Copy head@r302406 to stable/11 as part of the 11.0-RELEASE cycle.
Prune svn:mergeinfo from the new branch, as nothing has been merged
here.

Additional commits post-branch will follow.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


/freebsd-11-stable/MAINTAINERS
/freebsd-11-stable/cddl
/freebsd-11-stable/cddl/contrib/opensolaris
/freebsd-11-stable/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/print
/freebsd-11-stable/cddl/contrib/opensolaris/cmd/zfs
/freebsd-11-stable/cddl/contrib/opensolaris/lib/libzfs
/freebsd-11-stable/contrib/amd
/freebsd-11-stable/contrib/apr
/freebsd-11-stable/contrib/apr-util
/freebsd-11-stable/contrib/atf
/freebsd-11-stable/contrib/binutils
/freebsd-11-stable/contrib/bmake
/freebsd-11-stable/contrib/byacc
/freebsd-11-stable/contrib/bzip2
/freebsd-11-stable/contrib/com_err
/freebsd-11-stable/contrib/compiler-rt
/freebsd-11-stable/contrib/dialog
/freebsd-11-stable/contrib/dma
/freebsd-11-stable/contrib/dtc
/freebsd-11-stable/contrib/ee
/freebsd-11-stable/contrib/elftoolchain
/freebsd-11-stable/contrib/elftoolchain/ar
/freebsd-11-stable/contrib/elftoolchain/brandelf
/freebsd-11-stable/contrib/elftoolchain/elfdump
/freebsd-11-stable/contrib/expat
/freebsd-11-stable/contrib/file
/freebsd-11-stable/contrib/gcc
/freebsd-11-stable/contrib/gcclibs/libgomp
/freebsd-11-stable/contrib/gdb
/freebsd-11-stable/contrib/gdtoa
/freebsd-11-stable/contrib/groff
/freebsd-11-stable/contrib/ipfilter
/freebsd-11-stable/contrib/ldns
/freebsd-11-stable/contrib/ldns-host
/freebsd-11-stable/contrib/less
/freebsd-11-stable/contrib/libarchive
/freebsd-11-stable/contrib/libarchive/cpio
/freebsd-11-stable/contrib/libarchive/libarchive
/freebsd-11-stable/contrib/libarchive/libarchive_fe
/freebsd-11-stable/contrib/libarchive/tar
/freebsd-11-stable/contrib/libc++
/freebsd-11-stable/contrib/libc-vis
/freebsd-11-stable/contrib/libcxxrt
/freebsd-11-stable/contrib/libexecinfo
/freebsd-11-stable/contrib/libpcap
/freebsd-11-stable/contrib/libstdc++
/freebsd-11-stable/contrib/libucl
/freebsd-11-stable/contrib/libxo
/freebsd-11-stable/contrib/llvm
/freebsd-11-stable/contrib/llvm/projects/libunwind
/freebsd-11-stable/contrib/llvm/tools/clang
/freebsd-11-stable/contrib/llvm/tools/lldb
/freebsd-11-stable/contrib/llvm/tools/llvm-dwarfdump
/freebsd-11-stable/contrib/llvm/tools/llvm-lto
/freebsd-11-stable/contrib/mdocml
/freebsd-11-stable/contrib/mtree
/freebsd-11-stable/contrib/ncurses
/freebsd-11-stable/contrib/netcat
/freebsd-11-stable/contrib/ntp
/freebsd-11-stable/contrib/nvi
/freebsd-11-stable/contrib/one-true-awk
/freebsd-11-stable/contrib/openbsm
/freebsd-11-stable/contrib/openpam
/freebsd-11-stable/contrib/openresolv
/freebsd-11-stable/contrib/pf
/freebsd-11-stable/contrib/sendmail
/freebsd-11-stable/contrib/serf
/freebsd-11-stable/contrib/sqlite3
/freebsd-11-stable/contrib/subversion
/freebsd-11-stable/contrib/tcpdump
/freebsd-11-stable/contrib/tcsh
/freebsd-11-stable/contrib/tnftp
/freebsd-11-stable/contrib/top
/freebsd-11-stable/contrib/top/install-sh
/freebsd-11-stable/contrib/tzcode/stdtime
/freebsd-11-stable/contrib/tzcode/zic
/freebsd-11-stable/contrib/tzdata
/freebsd-11-stable/contrib/unbound
/freebsd-11-stable/contrib/vis
/freebsd-11-stable/contrib/wpa
/freebsd-11-stable/contrib/xz
/freebsd-11-stable/crypto/heimdal
/freebsd-11-stable/crypto/openssh
/freebsd-11-stable/crypto/openssl
/freebsd-11-stable/gnu/lib
/freebsd-11-stable/gnu/usr.bin/binutils
/freebsd-11-stable/gnu/usr.bin/cc/cc_tools
/freebsd-11-stable/gnu/usr.bin/gdb
/freebsd-11-stable/lib/libc/locale/ascii.c
/freebsd-11-stable/sys/cddl/contrib/opensolaris
/freebsd-11-stable/sys/contrib/dev/acpica
/freebsd-11-stable/sys/contrib/ipfilter
/freebsd-11-stable/sys/contrib/libfdt
/freebsd-11-stable/sys/contrib/octeon-sdk
/freebsd-11-stable/sys/contrib/x86emu
/freebsd-11-stable/sys/contrib/xz-embedded
/freebsd-11-stable/usr.sbin/bhyve/atkbdc.h
/freebsd-11-stable/usr.sbin/bhyve/bhyvegc.c
/freebsd-11-stable/usr.sbin/bhyve/bhyvegc.h
/freebsd-11-stable/usr.sbin/bhyve/console.c
/freebsd-11-stable/usr.sbin/bhyve/console.h
/freebsd-11-stable/usr.sbin/bhyve/pci_fbuf.c
/freebsd-11-stable/usr.sbin/bhyve/pci_xhci.c
/freebsd-11-stable/usr.sbin/bhyve/pci_xhci.h
/freebsd-11-stable/usr.sbin/bhyve/ps2kbd.c
/freebsd-11-stable/usr.sbin/bhyve/ps2kbd.h
/freebsd-11-stable/usr.sbin/bhyve/ps2mouse.c
/freebsd-11-stable/usr.sbin/bhyve/ps2mouse.h
/freebsd-11-stable/usr.sbin/bhyve/rfb.c
/freebsd-11-stable/usr.sbin/bhyve/rfb.h
/freebsd-11-stable/usr.sbin/bhyve/sockstream.c
/freebsd-11-stable/usr.sbin/bhyve/sockstream.h
/freebsd-11-stable/usr.sbin/bhyve/usb_emul.c
/freebsd-11-stable/usr.sbin/bhyve/usb_emul.h
/freebsd-11-stable/usr.sbin/bhyve/usb_mouse.c
/freebsd-11-stable/usr.sbin/bhyve/vga.c
/freebsd-11-stable/usr.sbin/bhyve/vga.h
302350 05-Jul-2016 glebius

The paradigm of a callout is that it has three consequent states:
not scheduled -> scheduled -> running -> not scheduled. The API and the
manual page assume that, some comments in the code assume that, and looks
like some contributors to the code also did. The problem is that this
paradigm isn't true. A callout can be scheduled and running at the same
time, which makes API description ambigouous. In such case callout_stop()
family of functions/macros should return 1 and 0 at the same time, since it
successfully unscheduled future callout but the current one is running.
Before this change we returned 1 in such a case, with an exception that
if running callout was migrating we returned 0, unless CS_MIGRBLOCK was
specified.

With this change, we now return 0 in case if future callout was unscheduled,
but another one is still in action, indicating to API users that resources
are not yet safe to be freed.

However, the sleepqueue code relies on getting 1 return code in that case,
and there already was CS_MIGRBLOCK flag, that covered one of the edge cases.
In the new return path we will also use this flag, to keep sleepqueue safe.

Since the flag CS_MIGRBLOCK doesn't block migration and now isn't limited to
migration edge case, rename it to CS_EXECUTING.

This change fixes panics on a high loaded TCP server.

Reviewed by: jch, hselasky, rrs, kib
Approved by: re (gjb)
Differential Revision: https://reviews.freebsd.org/D7042


302247 28-Jun-2016 jtl

Document support for alternate TCP stacks.

Differential Revision: https://reviews.freebsd.org/D6940
Reviewed by: hiren
Approved by: re (gjb)
Sponsored by: Juniper Networks


302175 24-Jun-2016 jhb

Add pci_get_max_payload() to fetch the PCI-express maximum payload size.

Approved by: re (gjb)
MFC after: 2 weeks
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D6951


301719 09-Jun-2016 trasz

Fix a bunch of "xref refers to *this* page" igor(1) warnings.

MFC after: 1 month


301598 08-Jun-2016 trasz

Fix typos.

MFC after: 1 month


301597 08-Jun-2016 trasz

Fix some trailing whitespaces.

MFC after: 1 month


301590 08-Jun-2016 trasz

Fix a bunch of "sentence not on new line" warnings in section 9.

MFC after: 1 month


301270 03-Jun-2016 bz

Introduce a per-VNET flag to enable/disable netisr prcessing on that VNET.
Add accessor functions to toggle the state per VNET.
The base system (vnet0) will always enable itself with the normal
registration. We will share the registered protocol handlers in all
VNETs minimising duplication and management.
Upon disabling netisr processing for a VNET drain the netisr queue from
packets for that VNET.

Update netisr consumers to (de)register on a per-VNET start/teardown using
VNET_SYS(UN)INIT functionality.

The change should be transparent for non-VIMAGE kernels.

Reviewed by: gnn (, hiren)
Obtained from: projects/vnet
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D6691


301177 01-Jun-2016 markj

Remove the BUGS entry in memguard's man page.

UMA refcounting is gone as of r296243, so this bug no longer exists. In
particular, it's now possible to guard mbuf clusters with memguard.


301114 01-Jun-2016 bz

The pr_destroy field does not allow us to run the teardown code in a
specific order. VNET_SYSUNINITs however are doing exactly that.
Thus remove the VIMAGE conditional field from the domain(9) protosw
structure and replace it with VNET_SYSUNINITs.
This also allows us to change some order and to make the teardown functions
file local static.
Also convert divert(4) as it uses the same mechanism ip(4) and ip6(4) use
internally.

Slightly reshuffle the SI_SUB_* fields in kernel.h and add a new ones, e.g.,
for pfil consumers (firewalls), partially for this commit and for others
to come.

Reviewed by: gnn, tuexen (sctp), jhb (kernel.h)
Obtained from: projects/vnet
MFC after: 2 weeks
X-MFC: do not remove pr_destroy
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D6652


300540 23-May-2016 bdrewery

Be more clear about LOCKLEAF being exclusive and add LOCKSHARED.


300337 20-May-2016 jhb

Add sglist functions for working with arrays of VM pages.

sglist_count_vmpages() determines the number of segments required for
a buffer described by an array of VM pages. sglist_append_vmpages()
adds the segments described by such a buffer to an sglist. The latter
function is largely pulled from sglist_append_bio(), and
sglist_append_bio() now uses sglist_append_vmpages().

Reviewed by: kib
Sponsored by: Chelsio Communications


300317 20-May-2016 jhb

Add new bus methods for mapping resources.

Add a pair of bus methods that can be used to "map" resources for direct
CPU access using bus_space(9). bus_map_resource() creates a mapping and
bus_unmap_resource() releases a previously created mapping. Mappings are
described by 'struct resource_map' object. Pointers to these objects can
be passed as the first argument to the bus_space wrapper API used for bus
resources.

Drivers that wish to map all of a resource using default settings
(for example, using uncacheable memory attributes) do not need to change.
However, drivers that wish to use non-default settings can now do so
without jumping through hoops.

First, an RF_UNMAPPED flag is added to request that a resource is not
implicitly mapped with the default settings when it is activated. This
permits other activation steps (such as enabling I/O or memory decoding
in a device's PCI command register) to be taken without creating a
mapping. Right now the AGP drivers don't set RF_ACTIVE to avoid using
up a large amount of KVA to map the AGP aperture on 32-bit platforms.
Once RF_UNMAPPED is supported on all platforms that support AGP this
can be changed to using RF_UNMAPPED with RF_ACTIVE instead.

Second, bus_map_resource accepts an optional structure that defines
additional settings for a given mapping.

For example, a driver can now request to map only a subset of a resource
instead of the entire range. The AGP driver could also use this to only
map the first page of the aperture (IIRC, it calls pmap_mapdev() directly
to map the first page currently). I will also eventually change the
PCI-PCI bridge driver to request mappings of the subset of the I/O window
resource on its parent side to create mappings for child devices rather
than passing child resources directly up to nexus to be mapped. This
also permits bridges that do address translation to request suitable
mappings from a resource on the "upper" side of the bus when mapping
resources on the "lower" side of the bus.

Another attribute that can be specified is an alternate memory attribute
for memory-mapped resources. This can be used to request a
Write-Combining mapping of a PCI BAR in an MI fashion. (Currently the
drivers that do this call pmap_change_attr() directly for x86 only.)

Note that this commit only adds the MI framework. Each platform needs
to add support for handling RF_UNMAPPED and thew new
bus_map/unmap_resource methods. Generally speaking, any drivers that
are calling rman_set_bustag() and rman_set_bushandle() need to be
updated.

Discussed on: arch
Reviewed by: cem
Differential Revision: https://reviews.freebsd.org/D5237


300253 20-May-2016 jhb

Remove dangling references to rman_await_resource().

This function was removed when RF_TIMESHARE was removed a couple of years
ago.

MFC after: 3 days


300066 17-May-2016 imp

Per Ravi Pokala's suggestion, rewrite the g_reset_bio description to
be clearer. It also describes it with more nuance. Add missing MLINKS
noticed by trasz@. Bump the date.


300050 17-May-2016 eadler

Don't repeat the the word 'the'

(one manual change to fix grammar)

Confirmed With: db
Approved by: secteam (not really, but this is a comment typo fix)


299932 16-May-2016 andrew

Add a pcib interface for use by interrupt controllers that need to
translate the pci rid to a controller ID. The translation could be based
on the 'msi-map' OFW property, a similar ACPI option, or hard-coded for
hardware lacking the above options.

Reviewed by: wma
Obtained from: ABT Systems Ltd
Sponsored by: The FreeBSD Foundation


299929 16-May-2016 andrew

Re-commit r299467 having fixed the build:

Add a new get_id interface to pci and pcib. This will allow us to both
detect failures, and get different PCI IDs.

For the former the interface returns an int to signal an error. The ID is
returned at a uintptr_t * argument.

For the latter there is a type argument that allows selecting the ID type.
This only specifies a single type, however a MSI type will be added
to handle the need to find the ID the hardware passes to the ARM GICv3
interrupt controller.

A follow up commit will be made to remove pci_get_rid.

Reviewed by: jhb, rstone (previous version)
Obtained from: ABT Systems Ltd
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D6239


299912 16-May-2016 sephe

atomic: Add testandclear on i386/amd64

Reviewed by: kib
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6381


299493 11-May-2016 cem

Revert r299467 to fix the kernel build.

$ svn merge -c -299467 .

Approved by: build being broken for six hours


299467 11-May-2016 andrew

Add a new get_id interface to pci and pcib. This will allow us to both
detect failures, and get different PCI IDs.

For the former the interface returns an int to signal an error. The ID is
returned at a uintptr_t * argument.

For the latter there is a type argument that allows selecting the ID type.
This only specifies a single type, however a MSI type will be added
to handle the need to find the ID the hardware passes to the ARM GICv3
interrupt controller.

A follow up commit will be made to remove pci_get_rid.

Reviewed by: jhb, rstone
Obtained from: ABT Systems Ltd
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D6239


299372 10-May-2016 jhb

Add a missing section to a cross-reference.

While here, add bus_space(9) to the SEE ALSO section.


299313 10-May-2016 imp

Bump date. Forgotten in r299312.


299312 10-May-2016 imp

Document g_reset_bio(). This is long overdue. g_reset_bio will reset
the bio to a pristine state should you wish to re-use it for another
I/O without freeing it. In the bast, a simple bzero was done to do
this, but that may not be sufficient in the future when the bio may
contain state that's not part of the documented API. Besides, it makes
the code clearer as to the intent...

Noticed by: smh@


299286 09-May-2016 jhb

Add a new bus method to fetch device-specific CPU sets.

bus_get_cpus() returns a specified set of CPUs for a device. It accepts
an enum for the second parameter that indicates the type of cpuset to
request. Currently two valus are supported:

- LOCAL_CPUS (on x86 this returns all the CPUs in the package closest to
the device when DEVICE_NUMA is enabled)
- INTR_CPUS (like LOCAL_CPUS but only returns 1 SMT thread for each core)

For systems that do not support NUMA (or if it is not enabled in the kernel
config), LOCAL_CPUS fails with EINVAL. INTR_CPUS is mapped to 'all_cpus'
by default. The idea is that INTR_CPUS should always return a valid set.

Device drivers which want to use per-CPU interrupts should start using
INTR_CPUS instead of simply assigning interrupts to all available CPUs.
In the future we may wish to add tunables to control the policy of
INTR_CPUS (e.g. should it be local-only or global, should it ignore
SMT threads or not).

The x86 nexus driver exposes the internal set of interrupt CPUs from the
the x86 interrupt code via INTR_CPUS.

The ACPI bus driver and PCI bridge drivers use _PXM to return a suitable
LOCAL_CPUS set when _PXM exists and DEVICE_NUMA is enabled. They also and
the global INTR_CPUS set from the nexus driver with the per-domain set from
_PXM to generate a local INTR_CPUS set for child devices.

Compared to the r298933, this version uses 'struct _cpuset' in
<sys/bus.h> instead of 'cpuset_t' to avoid requiring <sys/param.h>
(<sys/_cpuset.h> still requires <sys/param.h> for MAXCPU even though
<sys/_bitset.h> does not after recent changes).


298956 03-May-2016 sephe

kern: Add phashinit_flags(), which allows malloc(M_NOWAIT)

It will be used for the upcoming LRO hash table initialization.
And probably will be useful in other cases, when M_WAITOK can't
be used.

Reviewed by: jhb, kib
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6138


298951 03-May-2016 jhb

Revert bus_get_cpus() for now.

I really thought I had run this through the tinderbox before committing,
but many places need <sys/types.h> -> <sys/param.h> for <sys/bus.h> now.


298933 02-May-2016 jhb

Add a new bus method to fetch device-specific CPU sets.

bus_get_cpus() returns a specified set of CPUs for a device. It accepts
an enum for the second parameter that indicates the type of cpuset to
request. Currently two valus are supported:

- LOCAL_CPUS (on x86 this returns all the CPUs in the package closest to
the device when DEVICE_NUMA is enabled)
- INTR_CPUS (like LOCAL_CPUS but only returns 1 SMT thread for each core)

For systems that do not support NUMA (or if it is not enabled in the kernel
config), LOCAL_CPUS fails with EINVAL. INTR_CPUS is mapped to 'all_cpus'
by default. The idea is that INTR_CPUS should always return a valid set.

Device drivers which want to use per-CPU interrupts should start using
INTR_CPUS instead of simply assigning interrupts to all available CPUs.
In the future we may wish to add tunables to control the policy of
INTR_CPUS (e.g. should it be local-only or global, should it ignore
SMT threads or not).

The x86 nexus driver exposes the internal set of interrupt CPUs from the
the x86 interrupt code via INTR_CPUS.

The ACPI bus driver and PCI bridge drivers use _PXM to return a suitable
LOCAL_CPUS set when _PXM exists and DEVICE_NUMA is enabled. They also and
the global INTR_CPUS set from the nexus driver with the per-domain set from
_PXM to generate a local INTR_CPUS set for child devices.

Reviewed by: wblock (manpage)
Differential Revision: https://reviews.freebsd.org/D5519


298904 01-May-2016 wblock

Spelling fixes supplied by pfg@, detected with codespell, plus
additional misspellings detected by igor.

MFC after: 1 week


298752 28-Apr-2016 jhb

Add some notes about the implicit resource mapping for activated resources.

Specifically, mention that rman_get_bustag/handle/virtual are valid after
a resource is activated. Also, mention the wrapper API that accepts a
struct resource instead of a bus tag and handle.


298751 28-Apr-2016 jhb

Document RF_PREFETCHABLE.


298749 28-Apr-2016 jhb

Document PCI_RES_BUS as a possible resource type.


298748 28-Apr-2016 jhb

Remove a stale reference to the removed RF_TIMESHARE flag.


298707 27-Apr-2016 jhb

Add a new rescan method to the bus interface.

The BUS_RESCAN() method rescans a single bus device checking for devices
that have been added or removed from the bus. A new 'rescan' command is
added to devctl(8) to trigger a rescan.

Differential Revision: https://reviews.freebsd.org/D6016


298661 26-Apr-2016 cem

osd(9): Change array pointer to array pointer type from void*

This is a minor follow-up to r297422, prompted by a Coverity warning. (It's
not a real defect, just a code smell.) OSD slot array reservations are an
array of pointers (void **) but were cast to void* and back unnecessarily.
Keep the correct type from reservation to use.

osd.9 is updated to match, along with a few trivial igor fixes.

Reported by: Coverity
CID: 1353811
Sponsored by: EMC / Isilon Storage Division


298532 24-Apr-2016 brueffer

Correct types for g_example_start() and g_example_access().

PR: 203498
Submitted by: chadf@triularity.org, ae
MFC after: 1 week
Sponsored by: Essen Hackathon 2016


298511 23-Apr-2016 brueffer

Improve upon r296618 to keep lines < 80 characters.

Pointed out by: jhb
Sponsored by: Essen Hackathon 2016


298107 16-Apr-2016 gjb

Merge the projects/release-pkg branch to head.

This allows packaging the base system with pkg(8), including
but not limited to providing the ability to provide upstream
binary update possibilities for non-tier-1 architectures.

This merge is a requirement of the 11.0-RELEASE, and as such,
thank you to everyone that has tested the project branch.

Documentation in build(7) etc. is still somewhat sparse, but
updates to those parts will follow.

Sponsored by: The FreeBSD Foundation


297422 30-Mar-2016 jamie

Add osd_reserve() and osd_set_reserved(), which allow M_WAITOK allocation
of an OSD array,


297394 29-Mar-2016 bdrewery

Reword descriptions of asserting locks held without WITNESS.

This corrects an error in r296947 in that it is not possible to assert
which thread holds a shared (or read) lock, but it is possible to assert
that one is held. Just not very useful.

MFC after: 1 week
Submitted by: wblock, jhb
Reviewed by: kib (earlier version), jhb, wblock
Sponsored by: EMC / Isilon Storage Division
Differential Revision: https://reviews.freebsd.org/D5659


297364 28-Mar-2016 wblock

Fix two more unhappy instances of "user land".

Submitted by: bdrewery
MFC after: 1 week


297355 28-Mar-2016 trasz

Fix bunch of .Xrs.

MFC after: 1 month
Sponsored by: The FreeBSD Foundation


297015 18-Mar-2016 julian

Change a little to match what appears to be the right way of specifying an argument
(from looking at other man pages)

MFC after: 1 week
Sponsored by: Panzura inc


297012 18-Mar-2016 julian

Add a few details that make it easier to use this macro.

MFC after: 1 week
Sponsored by: Panzura inc


296947 16-Mar-2016 bdrewery

Remove incorrect BUGS entry about asserting lock not held.

For non-WITNESS< assertion support for SA_UNLOCKED was added in r125421 and
made to panic in r126316.

MFC after: 1 week


296933 16-Mar-2016 hselasky

Improve the implementation and documentation of the
SYSCTL_COUNTER_U64_ARRAY() macro.

- Add proper asserts to the SYSCTL_COUNTER_U64_ARRAY() macro that checks
the size of the first element of the array.
- Add an example to the counter(9) manual page how to use the
SYSCTL_COUNTER_U64_ARRAY() macro.
- Add some missing symbolic links for counter(9) while at it.


296929 16-Mar-2016 cem

fail.9: Bump Dd


296927 16-Mar-2016 cem

fail(9): Upstreaming some fail point enhancements

This is several year's worth of fail point upgrades done at EMC Isilon. They
are interdependent enough that it makes sense to put a single diff up for them.
Primarily, we added:

- Changing all mainline execution paths to be lockless, which lets us use fail
points in more sleep-sensitive areas, and allows more parallel execution
- A number of additional commands, including 'pause' that lets us do some
interesting deterministic repros of race conditions
- The ability to dump the stacks of all threads sleeping on a fail point
- A number of other API changes to allow marking up the fail point's context in
the code, and firing callbacks before and after execution
- A man page update

Submitted by: Matthew Bryan <matthew.bryan@isilon.com>
Reviewed by: cem (earlier version), jhb, kib, pho
With feedback from: bdrewery
Sponsored by: EMC / Isilon Storage Division
Differential Revision: https://reviews.freebsd.org/D5427


296880 15-Mar-2016 glebius

Provide sysctl(9) macro to deal with array of counter(9).


296819 14-Mar-2016 bdrewery

Reword SX_NOADAPTIVE description to be clear that adaptive is default.

The default changed in r193011.

MFC after: 1 week


296618 10-Mar-2016 brueffer

Fix mdoc markup.


296322 02-Mar-2016 bdrewery

Remove self-reference to destroy_dev_drain(9).

MFC after: 1 week


296301 02-Mar-2016 markj

Document m_catpkt(), and remove misinformation about m_cat(9).

Since m_cat() may copy data from the second mbuf chain into the last mbuf
of the first chain, it may free the first mbuf of the second chain. Thus,
the second chain is not guaranteed to be valid after m_cat() returns.

Reviewed by: glebius
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D5497


296272 01-Mar-2016 jhb

Remove taskqueue_enqueue_fast().

taskqueue_enqueue() was changed to support both fast and non-fast
taskqueues 10 years ago in r154167. It has been a compat shim ever
since. It's time for the compat shim to go.

Submitted by: Howard Su <howard0su@gmail.com>
Reviewed by: sephe
Differential Revision: https://reviews.freebsd.org/D5131


296207 29-Feb-2016 trasz

ddb(9) -> ddb(4)

MFC after: 1 month
Sponsored by: The FreeBSD Foundation


296136 27-Feb-2016 jhibbits

Add the bus_alloc_resource_anywhere() convenience function.

Summary:
Many instances of bus_alloc_resource() simply use 0 and ~0 for start and end to
denote 'anywhere' with a given count. To clean this up, introduce a
bus_alloc_resource_anywhere() convenience function.

Bump __FreeBSD_version for the new API.

Reviewed By: jhb
Differential Revision: https://reviews.freebsd.org/D5370


296001 24-Feb-2016 kib

Fix year.

Noted by: bdrewery
MFC after: 2 weeks


295998 24-Feb-2016 kib

Remove references to Giant in the description of vrele(9). Add notes
about vnode lock and sleeping.

Reported by: julian
Sponsored by: The FreeBSD Foundation
MFC after: 2 weeks


295881 22-Feb-2016 skra

As <machine/param.h> is included from <sys/param.h>, there is no need
to include it explicitly when <sys/param.h> is already included.

Reviewed by: alc, kib
Differential Revision: https://reviews.freebsd.org/D5378


295880 22-Feb-2016 skra

As <machine/pmap.h> is included from <vm/pmap.h>, there is no need to
include it explicitly when <vm/pmap.h> is already included.

Reviewed by: alc, kib
Differential Revision: https://reviews.freebsd.org/D5373


294931 27-Jan-2016 glebius

Rename netinet/tcp_cc.h to netinet/cc/cc.h.

Discussed with: lstewart


294883 27-Jan-2016 jhibbits

Convert rman to use rman_res_t instead of u_long

Summary:
Migrate to using the semi-opaque type rman_res_t to specify rman resources. For
now, this is still compatible with u_long.

This is step one in migrating rman to use uintmax_t for resources instead of
u_long.

Going forward, this could feasibly be used to specify architecture-specific
definitions of resource ranges, rather than baking a specific integer type into
the API.

This change has been broken out to facilitate MFC'ing drivers back to 10 without
breaking ABI.

Reviewed By: jhb
Sponsored by: Alex Perez/Inertial Computing
Differential Revision: https://reviews.freebsd.org/D5075


294638 23-Jan-2016 bjk

Document that hashinit(9) can wait for memory to be available

Also tweak nearby grammar while here.

Submitted by: Daniel O'Connor (original version)


294540 22-Jan-2016 glebius

Provide new socket option TCP_CCALGOOPT, which stands for TCP congestion
control algorithm options. The argument is variable length and is opaque
to TCP, forwarded directly to the algorithm's ctl_output method.

Provide new includes directory netinet/cc, where algorithm specific
headers can be installed.

The new API doesn't yet have any in tree consumers.

The original code written by lstewart.
Reviewed by: rrs, emax
Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D711


294299 18-Jan-2016 markj

Add vrefl(), a locked variant of vref(9).

This API has no in-tree consumers at the moment but is useful to at least
one out-of-tree consumer, and naturally complements existing vnode refcount
functions (vholdl(9), vdropl(9)).

Obtained from: kib (sys/ portion)
Sponsored by: EMC / Isilon Storage Division
Differential Revision: https://reviews.freebsd.org/D4947
Differential Revision: https://reviews.freebsd.org/D4953


294114 16-Jan-2016 imp

Read-only is hyphenated when it modifies a noun.


293421 08-Jan-2016 brueffer

Fix issues found by mandoc -Tlint.

MFC after: 1 week


293346 07-Jan-2016 kib

Provide yet another KPI for cdev creation, make_dev_s(9).

Immediate problem fixed by the new KPI is the long-standing race
between device creation and assignments to cdev->si_drv1 and
cdev->si_drv2, which allows the window where cdevsw methods might be
called with si_drv1,2 fields not yet set. Devices typically checked
for NULL and returned spurious errors to usermode, and often left some
methods unchecked.

The new function interface is designed to be extensible, which should
allow to add more features to make_dev_s(9) without inventing yet
another name for function to create devices, while maintaining KPI and
even KBI backward-compatibility.

Reviewed by: hps, jhb
Sponsored by: The FreeBSD Foundation
MFC after: 3 weeks
Differential revision: https://reviews.freebsd.org/D4746


292669 23-Dec-2015 jhb

Add accessor methods to fetch the BAR holding the MSI-X table and PBA.

While here, explicitly note the requirement that the BAR(s) must be
allocated prior to calling pci_alloc_msix().

Reviewed by: andrew, emaste
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D4688


292484 20-Dec-2015 jtl

Add a safety net to reclaim mbufs when one of the mbuf zones become
exhausted.

It is possible for a bug in the code (or, theoretically, even unusual
network conditions) to exhaust all possible mbufs or mbuf clusters.
When this occurs, things can grind to a halt fairly quickly. However,
we currently do not call mb_reclaim() unless the entire system is
experiencing a low-memory condition.

While it is best to try to prevent exhaustion of one of the mbuf zones,
it would also be useful to have a mechanism to attempt to recover from
these situations by freeing "expendable" mbufs.

This patch makes two changes:

a) The patch adds a generic API to the UMA zone allocator to set a
function that should be called when an allocation fails because the
zone limit has been reached. Because of the way this function can be
called, it really should do minimal work.

b) The patch uses this API to try to free mbufs when an allocation
fails from one of the mbuf zones because the zone limit has been
reached. The function schedules a callout to run mb_reclaim().

Differential Revision: https://reviews.freebsd.org/D3864
Reviewed by: gnn
Comments by: rrs, glebius
MFC after: 2 weeks
Sponsored by: Juniper Networks


292373 16-Dec-2015 glebius

A change to KPI of vm_pager_get_pages() and underlying VOP_GETPAGES().

o With new KPI consumers can request contiguous ranges of pages, and
unlike before, all pages will be kept busied on return, like it was
done before with the 'reqpage' only. Now the reqpage goes away. With
new interface it is easier to implement code protected from race
conditions.

Such arrayed requests for now should be preceeded by a call to
vm_pager_haspage() to make sure that request is possible. This
could be improved later, making vm_pager_haspage() obsolete.

Strenghtening the promises on the business of the array of pages
allows us to remove such hacks as swp_pager_free_nrpage() and
vm_pager_free_nonreq().

o New KPI accepts two integer pointers that may optionally point at
values for read ahead and read behind, that a pager may do, if it
can. These pages are completely owned by pager, and not controlled
by the caller.

This shifts the UFS-specific readahead logic from vm_fault.c, which
should be file system agnostic, into vnode_pager.c. It also removes
one VOP_BMAP() request per hard fault.

Discussed with: kib, alc, jeff, scottl
Sponsored by: Nginx, Inc.
Sponsored by: Netflix


292038 10-Dec-2015 jhb

Fix a copy and paste bug when this page was first written by copying from
BUS_BIND_INTR.9.

MFC after: 1 week


291968 07-Dec-2015 markj

Actually add the proc_rwmem(9) man page, missed in r291961.


291961 07-Dec-2015 markj

Add helper functions proc_readmem() and proc_writemem().

These helper functions can be used to read in or write a buffer from or to
an arbitrary process' address space. Without them, this can only be done
using proc_rwmem(), which requires the caller to fill out a uio. This is
onerous and results in code duplication; the new functions provide a simpler
interface which is sufficient for most existing callers of proc_rwmem().

This change also adds a manual page for proc_rwmem() and the new functions.

Reviewed by: jhb, kib
Differential Revision: https://reviews.freebsd.org/D4245


291957 07-Dec-2015 brueffer

Fix a comment typo in the code example.

PR: 203497
Submitted by: chadf@triularity.org
MFC after: 1 week


291954 07-Dec-2015 brueffer

Add an MLINK for m_collapse.

PR: 204205
Submitted by: avos
MFC after: 1 week


291861 05-Dec-2015 cem

style.9: Add a small blurb about allowing bool

It was allowed before, but make it very explicit it is allowed now. And
prefer 'bool' to older types that were used for the same purpose -- int and
boolean_t.

Like with the C99 fixed-width types, use common sense when changing old
code.

No igor regressions.

Suggested by: bde <20151205031713.T3286@besplex.bde.org>
Reviewed by: glebius, davide, bapt (earlier versions)
Reviewed by: imp
Feedback from: julian
Sponsored by: EMC / Isilon Storage Division
Differential Revision: https://reviews.freebsd.org/D4384


291653 02-Dec-2015 jhb

The cdevpriv_dtr_t typedef was not able to be used in a function prototype
like the various d_*_t typedefs since it declared a function pointer rather
than a function. Add a new d_priv_dtor_t typedef that declares the function
and can be used as a function prototype. The previous typedef wasn't
useful outside of the cdevpriv implementation, so retire it.

The name d_priv_dtor_t was chosen to be more consistent with cdev methods
since it is commonly used in place of d_close_t even though it is not a
direct pointer in struct cdevsw.

Reviewed by: kib, imp
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D4340


291167 22-Nov-2015 ngie

Bump .Dd


291166 22-Nov-2015 ngie

Recommend cc -Wall instead of gcc -Wall

MFC after: 1 week


291074 19-Nov-2015 jtl

Consistently enforce the restriction against calling malloc/free when in a
critical section.

uma_zalloc_arg()/uma_zalloc_free() may acquire a sleepable lock on the
zone. The malloc() family of functions may call uma_zalloc_arg() or
uma_zalloc_free().

The malloc(9) man page currently claims that free() will never sleep.
It also implies that the malloc() family of functions will not sleep
when called with M_NOWAIT. However, it is more correct to say that
these functions will not sleep indefinitely. Indeed, they may acquire
a sleepable lock. However, a developer may overlook this restriction
because the WITNESS check that catches attempts to call the malloc()
family of functions within a critical section is inconsistenly
applied.

This change clarifies the language of the malloc(9) man page to clarify
the restriction against calling the malloc() family of functions
while in a critical section or holding a spin lock. It also adds
KASSERTs at appropriate points to make the enforcement of this
restriction more consistent.

PR: 204633
Differential Revision: https://reviews.freebsd.org/D4197
Reviewed by: markj
Approved by: gnn (mentor)
Sponsored by: Juniper Networks


291058 19-Nov-2015 markj

Add vlog(9).

Reviewed by: cem, jhb
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D4183


290805 13-Nov-2015 rrs

This fixes several places where callout_stops return is examined. The
new return codes of -1 were mistakenly being considered "true". Callout_stop
now returns -1 to indicate the callout had either already completed or
was not running and 0 to indicate it could not be stopped. Also update
the manual page to make it more consistent no non-zero in the callout_stop
or callout_reset descriptions.

MFC after: 1 Month with associated callout change.


290724 12-Nov-2015 cem

kern_testfrwk.9: Clean up manual page style

Igor has many less complaints now. I think the two remaining are bogus, but I
am also not sure why Igor is producing them.

The page still needs more work.

Sponsored by: EMC / Isilon Storage Division


290716 12-Nov-2015 rrs

Some basic documentation (a man page) on kern_testfrwk


290690 11-Nov-2015 rrs

Add the MLINK for async_drain Thanks Edward for the pointer.

MFC after: 1 month


290664 10-Nov-2015 rrs

Add new async_drain to the callout system. This is so-far not used but
should be used by TCP for sure in its cleanup of the IN-PCB (will be coming shortly).

Sponsored by: Netflix Inc.
Differential Revision: https://reviews.freebsd.org/D4076


290531 08-Nov-2015 markj

Add a manual page for PHOLD() and friends.

MFC after: 1 week


290477 07-Nov-2015 cem

Another follow-up to r290475: Bump .Dd in sysctl_add_oid.9

Sponsored by: EMC / Isilon Storage Division


290475 07-Nov-2015 cem

Round out SYSCTL macros to the full set of fixed-width types

Add S8, S16, S32, and U32 types; add SYSCTL*() macros for them, as well
as for the existing 64-bit types. (While SYSCTL*QUAD and UQUAD macros
already exist, they do not take the same sort of 'val' parameter that
the other macros do.)

Clean up the documented "types" in the sysctl.9 document. (These are
macros and thus not real types, but the manual page documents intent.)

The sysctl_add_oid(9) arg2 has been bumped from intptr_t to intmax_t to
accommodate 64-bit types on 32-bit pointer architectures.

This is just the kernel support piece; the userspace sysctl(1) support
will follow in a later patch.

Submitted by: Ravi Pokala <rpokala@panasas.com>
Reviewed by: cem
Relnotes: no
Sponsored by: Panasas
Differential Revision: https://reviews.freebsd.org/D4091


290428 05-Nov-2015 adrian

remove \, it confuses things.


290415 05-Nov-2015 jhb

Add a new helper function for PCI devices to locate the upstream
PCI-express root port of a given PCI device.

Reviewed by: kib, imp
MFC after: 1 week
Sponsored by: Chelsio
Differential Revision: https://reviews.freebsd.org/D4089


290414 05-Nov-2015 jhb

Add helper routines for PCI device drivers to read, write, and modify
PCI-Express capability registers (that is, PCI config registers in the
standard PCI config space belonging to the PCI-Express capability
register set).

Note that all of the current PCI-e registers are either 16 or 32-bits,
so only widths of 2 or 4 bytes are supported.

Reviewed by: imp
MFC after: 1 week
Sponsored by: Chelsio
Differential Revision: https://reviews.freebsd.org/D4088


290119 28-Oct-2015 imp

BUS_ADD_CHILD calls device_add_child. device_add_child does not call
BUS_ADD_CHILD. Make it explicit since it follows the command paradigm
rather than the callback paradigm. Add other clarifying notes as well.


289831 23-Oct-2015 cem

sysctl(9): Document U8/U16 types from r289773

Suggested by: ngie
Sponsored by: EMC / Isilon Storage Division


289761 22-Oct-2015 cem

getenv.9: Document behavior of freeenv(NULL)

Fix a couple igor(1)-indicated spelling issues while here.

Suggested by: jhb
Sponsored by: EMC / Isilon Storage Division


289668 20-Oct-2015 cem

cpuset.9: Link to/from the new page

A follow-up to r289667.

Sponsored by: EMC / Isilon Storage Division


289667 20-Oct-2015 cem

Document cpuset(9)

A follow-up to r289467.

Coerced by: jhb
Sponsored by: EMC / Isilon Storage Division


289467 17-Oct-2015 cem

Document bitset(9)


288298 27-Sep-2015 ngie

Remove MLINKS to more non-existent mbuf(9) macros

X-MFC with: r288295
MFC after: 3 days
Sponsored by: EMC / Isilon Storage Division


288295 27-Sep-2015 ngie

Posthumously remove all references to MFREE(9)

The macro was removed in r90227

MFC after: 3 days
Sponsored by: EMC / Isilon Storage Division


288278 26-Sep-2015 markj

Document the interface for applying advice up to the end of a file.

MFC after: 3 days


288271 26-Sep-2015 cem

Document bus_get_resource(9).

Suggested by: Francois Tigeot
Obtained from: DragonFlyBSD 09301a2b29f3ae5edd39a858f909f8770372f71e
Sponsored by: EMC / Isilon Storage Division


288096 22-Sep-2015 hselasky

Revert r287780 until more developers have their say.

Differential Revision: https://reviews.freebsd.org/D3521
Requested by: gnn


287822 15-Sep-2015 pluknet

Bump .Dd.


287780 14-Sep-2015 hselasky

Implement callout_drain_async(), inspired by the projects/hps_head
branch.

This function is used to drain a callout via a callback instead of
blocking the caller until the drain is complete. Refer to the
callout_drain_async() manual page for a detailed description.

Limitation: If a lock is used with the callout, the callout can only
be drained asynchronously one time unless the callout_init_mtx()
function is called again. This limitation is not present in
projects/hps_head and will require more invasive changes to the
timeout code, which was not in the scope of this patch.

Differential Revision: https://reviews.freebsd.org/D3521
Reviewed by: wblock
MFC after: 1 month


287646 11-Sep-2015 markj

Document stack_save_td(9) and stack_save_td_running(9).

Reviewed by: wblock
Sponsored by: EMC / Isilon Storage Division
Differential Revision: https://reviews.freebsd.org/D3243


287445 04-Sep-2015 delphij

Expose an interface to determine if an ACE is inherited.

Submitted by: sef
Reviewed by: trasz
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D3540


287232 28-Aug-2015 markj

nv.h lives in sys/ as of r279439.


287225 27-Aug-2015 imp

New 1-Wire bus implementation. 1-Wire controller is abstracted, though
only gpiobus configured via FDT is supported. Bus enumeration is
supported. Devices are created for each device found. 1-Wire
temperature controllers are supported, but other drivers could be
written. Temperatures are polled and reported via a sysctl. Errors
are reported via sysctl counters. Mis-wired bus detection is included
for more trouble shooting. See ow(4), owc(4) and ow_temp(4) for
details of what's supported and known issues.

This has been tested on Raspberry Pi-B, Pi2 and Beagle Bone Black
with up to 7 devices.

Differential Revision: https://reviews.freebsd.org/D2956
Relnotes: yes
MFC after: 2 weeks
Reviewed by: loos@ (with many insightful comments)


286974 20-Aug-2015 bdrewery

Remove reference to non-existent kern_openat(9).

MFC after: 3 days
Sponsored by: EMC / Isilon Storage Division


286966 20-Aug-2015 bdrewery

Add link for rw_unlock(9) to rwlock(9).

MFC after: 3 days
Sponsored by: EMC / Isilon Storage Division


286796 15-Aug-2015 oshogbo

Add support for the arrays in nvlist library.

- Add
nvlist_{add,get,take,move,exists,free}_{number,bool,string,nvlist,
descriptor} functions.
- Add support for (un)packing arrays.
- Add the nvl_array_next field to the nvlist structure.
If an array is added by the nvlist_{move,add}_nvlist_array function
this field will contains next element in the array.
- Add the nitems field to the nvpair and nvpair_header structure.
This field contains number of elements in the array.
- Add special flag (NV_FLAG_IN_ARRAY) which is set if nvlist is a part of
an array.
- Add special type (NV_TYPE_NVLIST_ARRAY_NEXT).This type is used only
on packing/unpacking.
- Add new API for traversing arrays (nvlist_get_array_next).
- Add the nvlist_get_pararr function which combines the
nvlist_get_array_next and nvlist_get_parent functions. If nvlist is in
the array it will return next element from array. If nvlist is last
element in array or it isn't in array it will return his
container (parent). This function should simplify traveling over nvlist.
- Add tests for new features.
- Add documentation for new functions.
- Add my copyright.
- Regenerate the sys/cddl/compat/opensolaris/sys/nvpair.h file.

PR: 191083
Reviewed by: allanjude (doc)
Approved by: pjd (mentor)


286784 14-Aug-2015 alc

Stop describing an acquire operation as a read barrier and a release
operation as a write barrier. That description has never been correct,
and it has caused confusion. An acquire operation orders writes as well
as reads, and a release operation orders reads as well as writes.

Also, explicitly say that a thread doesn't see its own accesses being
reordered. The reordering of a thread's accesses is only (potentially)
visible to another thread. Thus, memory barriers need only be used to
control the ordering of accesses between threads, not within a thread.

Reviewed by: bde, kib
Discussed with: jhb
MFC after: 1 week


286663 12-Aug-2015 brueffer

Fix mandoc warnings/errors.

MFC after: 1 week


286642 11-Aug-2015 oshogbo

Make the nvlist_next(9) function handle NULL pointer variable.
This simplifies removing the first element from nvlist.

Reviewed by: AllanJude
Approved by: pjd (mentor)


286513 09-Aug-2015 alc

Revise the text about the atomicity of the defined operations across
multiple processors. In particular, clearly state that the operations
are always atomic when they are applied to the default memory type
that is used by the kernel (and applications).

Reviewed by: kib, jhb (an earlier version)
MFC after: 1 week


286411 07-Aug-2015 jah

Create man page for pmap_quick_enter_page(9) and pmap_quick_remove_page(9)

Reviewed by: kib, brueffer, wblock
Approved by: kib (mentor)
Differential Revision: https://reviews.freebsd.org/D3312


286280 04-Aug-2015 trasz

Revert r286236; vgonel() is a static function.

Sponsored by: The FreeBSD Foundation


286236 03-Aug-2015 trasz

Document vgonel(9).

MFC after: 1 month
Sponsored by: The FreeBSD Foundation


286170 02-Aug-2015 jmg

mark this function as deprecated, and put the warning first, since I
doubt most people will read to the end... Note the use of sys/cdefs.h
for pre-C11 compilers...

I didn't included a note about being compatibile w/ userland since a
C11 feature should be obviously usable in userland...

Suggested by: imp


286103 31-Jul-2015 jmg

The implementation note isn't true anymore..

Not that anyone reads it, but those that do, remind them that this
isn't usable in userland... I can't wait till this doc is wrong..


285994 29-Jul-2015 imp

Teach sysctl about the new optional suffix after IK to specify
precision. Update input as well. Add IK to the manual (it was missing
completely).

Differential Revision: https://reviews.freebsd.org/D3181


285873 25-Jul-2015 trasz

Update Capsicum and Mandatory Access Control manual pages
to no longer claim they are experimental.

Reviewed by: rwatson@, wblock@
MFC after: 1 week
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D2985


285637 16-Jul-2015 ed

Fix a small typo: "the the".

Spotted by: wblock


285549 14-Jul-2015 ed

Implement the CloudABI random_get() system call.

The random_get() system call works similar to getentropy()/getrandom()
on OpenBSD/Linux. It fills a buffer with random data.

This change introduces a new function, read_random_uio(), that is used
to implement read() on the random devices. We can call into this
function from within the CloudABI compatibility layer.

Approved by: secteam
Reviewed by: jmg, markm, wblock
Obtained from: https://github.com/NuxiNL/freebsd
Differential Revision: https://reviews.freebsd.org/D3053


285460 13-Jul-2015 brueffer

Markup fixes.


285458 13-Jul-2015 brueffer

Fix a typo and duplicate word.


285381 11-Jul-2015 jmg

some additional improvements to the documentation...

Sponsored by: Netflix, Inc.


285296 08-Jul-2015 jmg

yet more documentation improvements... Many changes were made to the
OCF w/o documentation...

Document the new (8+ year old) device_t way of handling things, that
_unregister_all will leave no threads in newsession, the _SYNC flag,
the requirement that a flag be specified...

Other minor changes like breaking up a wall of text into paragraphs...


285273 08-Jul-2015 pkelsey

Replace use of .Po Pc with the preferred .Pq for single line
enclosures in iovctl.conf(5), iovctl(8), pci(9), and
pci_iov_schema(9).

Differential Revision: https://reviews.freebsd.org/D3000
Reviewed by: wblock
Approved by: jmallett (mentor)


285219 06-Jul-2015 imp

The results of the vote are in. This reflects that vote. Single
line statements inside of braces is recognized as an acceptable
style.
http://reviews.freebsd.org/V3
As always, this isn't license for wholesale change, etc.


285186 05-Jul-2015 markj

Rename the dtrace-* man pages to dtrace_* for consistency with other
subsection man pages (e.g. geom_*, mac_*, snd_*).


285173 05-Jul-2015 kib

Document the locking context for the directly dispatched callouts.
Cross-reference timeout(9).

Sponsored by: The FreeBSD Foundation
MFC after: 1 week


285129 04-Jul-2015 oshogbo

Move nvlist documentation to the FreeBSD Kernel Developer's sections.

Approved by: pjd (mentor)


285070 03-Jul-2015 jmg

more word smithing wrt the crd_inject field...

We've already defined IV earlier, so no need to expand it a second
time here...


285065 03-Jul-2015 jmg

update the documentation of the _IV_ flags... _IV_PRESENT doesn't
mean what you think it should... This will be fixed in the future
with a flag rename, but document what the flag really does and make
the _IV_ flags clear what their presents (or lack there of) means...

Reviewed by: gnn, eri (both earlier version)


284967 30-Jun-2015 jmg

add units to the length and count so that it's clear what they
are measured in... Gems like: "len is the length of the buffer."
aren't useful in man pages.


284960 30-Jun-2015 markm

Updated random(4) boot/shutdown scripting.
Fix the man pages as well.

Differential Revision: https://reviews.freebsd.org/D2924
Approved by: so (delphij)


284959 30-Jun-2015 markm

Huge cleanup of random(4) code.

* GENERAL
- Update copyright.
- Make kernel options for RANDOM_YARROW and RANDOM_DUMMY. Set
neither to ON, which means we want Fortuna
- If there is no 'device random' in the kernel, there will be NO
random(4) device in the kernel, and the KERN_ARND sysctl will
return nothing. With RANDOM_DUMMY there will be a random(4) that
always blocks.
- Repair kern.arandom (KERN_ARND sysctl). The old version went
through arc4random(9) and was a bit weird.
- Adjust arc4random stirring a bit - the existing code looks a little
suspect.
- Fix the nasty pre- and post-read overloading by providing explictit
functions to do these tasks.
- Redo read_random(9) so as to duplicate random(4)'s read internals.
This makes it a first-class citizen rather than a hack.
- Move stuff out of locked regions when it does not need to be
there.
- Trim RANDOM_DEBUG printfs. Some are excess to requirement, some
behind boot verbose.
- Use SYSINIT to sequence the startup.
- Fix init/deinit sysctl stuff.
- Make relevant sysctls also tunables.
- Add different harvesting "styles" to allow for different requirements
(direct, queue, fast).
- Add harvesting of FFS atime events. This needs to be checked for
weighing down the FS code.
- Add harvesting of slab allocator events. This needs to be checked for
weighing down the allocator code.
- Fix the random(9) manpage.
- Loadable modules are not present for now. These will be re-engineered
when the dust settles.
- Use macros for locks.
- Fix comments.

* src/share/man/...
- Update the man pages.

* src/etc/...
- The startup/shutdown work is done in D2924.

* src/UPDATING
- Add UPDATING announcement.

* src/sys/dev/random/build.sh
- Add copyright.
- Add libz for unit tests.

* src/sys/dev/random/dummy.c
- Remove; no longer needed. Functionality incorporated into randomdev.*.

* live_entropy_sources.c live_entropy_sources.h
- Remove; content moved.
- move content to randomdev.[ch] and optimise.

* src/sys/dev/random/random_adaptors.c src/sys/dev/random/random_adaptors.h
- Remove; plugability is no longer used. Compile-time algorithm
selection is the way to go.

* src/sys/dev/random/random_harvestq.c src/sys/dev/random/random_harvestq.h
- Add early (re)boot-time randomness caching.

* src/sys/dev/random/randomdev_soft.c src/sys/dev/random/randomdev_soft.h
- Remove; no longer needed.

* src/sys/dev/random/uint128.h
- Provide a fake uint128_t; if a real one ever arrived, we can use
that instead. All that is needed here is N=0, N++, N==0, and some
localised trickery is used to manufacture a 128-bit 0ULLL.

* src/sys/dev/random/unit_test.c src/sys/dev/random/unit_test.h
- Improve unit tests; previously the testing human needed clairvoyance;
now the test will do a basic check of compressibility. Clairvoyant
talent is still a good idea.
- This is still a long way off a proper unit test.

* src/sys/dev/random/fortuna.c src/sys/dev/random/fortuna.h
- Improve messy union to just uint128_t.
- Remove unneeded 'static struct fortuna_start_cache'.
- Tighten up up arithmetic.
- Provide a method to allow eternal junk to be introduced; harden
it against blatant by compress/hashing.
- Assert that locks are held correctly.
- Fix the nasty pre- and post-read overloading by providing explictit
functions to do these tasks.
- Turn into self-sufficient module (no longer requires randomdev_soft.[ch])

* src/sys/dev/random/yarrow.c src/sys/dev/random/yarrow.h
- Improve messy union to just uint128_t.
- Remove unneeded 'staic struct start_cache'.
- Tighten up up arithmetic.
- Provide a method to allow eternal junk to be introduced; harden
it against blatant by compress/hashing.
- Assert that locks are held correctly.
- Fix the nasty pre- and post-read overloading by providing explictit
functions to do these tasks.
- Turn into self-sufficient module (no longer requires randomdev_soft.[ch])
- Fix some magic numbers elsewhere used as FAST and SLOW.

Differential Revision: https://reviews.freebsd.org/D2025
Reviewed by: vsevolod,delphij,rwatson,trasz,jmg
Approved by: so (delphij)


284646 20-Jun-2015 kib

The barriers, provided by _acq and _rel atomics, are acquire and
release barriers, not read and write barriers. They fence all memory
accesses from the respective side, not limited by the kind of
operation.

Reviewed by: jhb
Sponsored by: The FreeBSD Foundation
MFC after: 1 week


284608 19-Jun-2015 imp

Back out contested change until dispute is resolved. This proved to be
more contentious than I expected.


284558 18-Jun-2015 brueffer

Document title should be in CAPS.


284557 18-Jun-2015 brueffer

Remove EOL whitespace.


284528 17-Jun-2015 imp

Bump date.

Submitted by: Xin Li


284527 17-Jun-2015 imp

Update style.9 to reflect consensus on developer's mailing list
allowing redundant braces.

Differential Revision: https://reviews.freebsd.org/D2842


284434 15-Jun-2015 pluknet

Deshallify.


284345 13-Jun-2015 sjg

Add META_MODE support.

Off by default, build behaves normally.
WITH_META_MODE we get auto objdir creation, the ability to
start build from anywhere in the tree.

Still need to add real targets under targets/ to build packages.

Differential Revision: D2796
Reviewed by: brooks imp


284192 09-Jun-2015 ken

Add support for reading MAM attributes to camcontrol(8) and libcam(3).

MAM is Medium Auxiliary Memory and is most commonly found as flash
chips on tapes.

This includes support for reading attributes and decoding most
known attributes, but does not yet include support for writing
attributes or reporting attributes in XML format.

libsbuf/Makefile:
Add subr_prf.c for the new sbuf_hexdump() function. This
function is essentially the same function.

libsbuf/Symbol.map:
Add a new shared library minor version, and include the
sbuf_hexdump() function.

libsbuf/Version.def:
Add version 1.4 of the libsbuf library.

libutil/hexdump.3:
Document sbuf_hexdump() alongside hexdump(3), since it is
essentially the same function.

camcontrol/Makefile:
Add attrib.c.

camcontrol/attrib.c:
Implementation of READ ATTRIBUTE support for camcontrol(8).

camcontrol/camcontrol.8:
Document the new 'camcontrol attrib' subcommand.

camcontrol/camcontrol.c:
Add the new 'camcontrol attrib' subcommand.

camcontrol/camcontrol.h:
Add a function prototype for scsiattrib().

share/man/man9/sbuf.9:
Document the existence of sbuf_hexdump() and point users to
the hexdump(3) man page for more details.

sys/cam/scsi/scsi_all.c:
Add a table of known attributes, text descriptions and
handler functions.

Add a new scsi_attrib_sbuf() function along with a number
of other related functions that help decode attributes.

scsi_attrib_ascii_sbuf() decodes ASCII format attributes.

scsi_attrib_int_sbuf() decodes binary format attributes, and
will pass them off to scsi_attrib_hexdump_sbuf() if they're
bigger than 8 bytes.

scsi_attrib_vendser_sbuf() decodes the vendor and drive
serial number attribute.

scsi_attrib_volcoh_sbuf() decodes the Volume Coherency
Information attribute that LTFS writes out.

sys/cam/scsi/scsi_all.h:
Add a number of attribute-related structure definitions and
other defines.

Add function prototypes for all of the functions added in
scsi_all.c.

sys/kern/subr_prf.c:
Add a new function, sbuf_hexdump(). This is the same as
the existing hexdump(9) function, except that it puts the
result in an sbuf.

This also changes subr_prf.c so that it can be compiled in
userland for includsion in libsbuf.

We should work to change this so that the kernel hexdump
implementation is a wrapper around sbuf_hexdump() with a
statically allocated sbuf with a drain. That will require
a drain function that goes to the kernel printf() buffer
that can take a non-NUL terminated string as input.
That is because an sbuf isn't NUL-terminated until it is
finished, and we don't want to finish it while we're still
using it.

We should also work to consolidate the userland hexdump and
kernel hexdump implemenatations, which are currently
separate. This would also mean making applications that
currently link in libutil link in libsbuf.

sys/sys/sbuf.h:
Add the prototype for sbuf_hexdump(), and add another copy
of the hexdump flag values if they aren't already defined.

Ideally the flags should be defined in one place but the
implemenation makes it difficult to do properly. (See
above.)

Sponsored by: Spectra Logic Corporation
MFC after: 1 week


283670 28-May-2015 jhb

Create a separate kobj interface for leaf-driver PCI IOV methods.

Leaf drivers should not import the PCI bus interface to add IOV handling.
Instead, move the IOV client methods to a separate kobj interface.

Differential Revision: https://reviews.freebsd.org/D2584
Reviewed by: rstone


283507 25-May-2015 markj

Remove a reference to the PBDRY flag, which itself was removed in r248470.

MFC after: 3 days


283114 19-May-2015 bjk

Fixup to the kern_psignal manpage

r283105 misspelled kern_psignal as kernel_psignal in one occurrence, and
added trailing whitespace.

While here, change 'call' to the more standard 'function', and say why
the name was changed (taken from the commit message for r225617).


283105 19-May-2015 julian

Only several years late, catch the psignal man page up to the
fact that psignal has been renamed to kern_psignal since 9.0.

MFC after: 1 week


282574 07-May-2015 bdrewery

Remove references to Giant in namei(9). This was removed in r241896.

MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division


281915 24-Apr-2015 markj

Make vpanic() externally visible so that it can be called as part of the
DTrace panic() action.

Differential Revision: https://reviews.freebsd.org/D2349
Reviewed by: avg
MFC after: 2 weeks
Sponsored by: EMC / Isilon Storage Division


281887 23-Apr-2015 jhb

Reassign copyright statements on several files from Advanced
Computing Technologies LLC to Hudson River Trading LLC.

Approved by: Hudson River Trading LLC (who owns ACT LLC)
MFC after: 1 week


281785 20-Apr-2015 vangyzen

Always send log(9) messages to the message buffer.

It is truer to the semantics of logging for messages to *always*
go to the message buffer, where they can eventually be collected
and, in fact, be put into a log file.

This restores the behavior prior to r70239, which seems to have
changed it inadvertently.

Submitted by: Eric Badger <eric@badgerio.us>
Reviewed by: jhb
Approved by: kib (mentor)
Obtained from: Dell Inc.
MFC after: 1 week


281705 18-Apr-2015 markj

Add manual pages for the io, ip, proc, sched, tcp and udp DTrace providers.
The format of these pages is somewhat experimental, so they may be subject
to further tweaking.

Differential Revision: https://reviews.freebsd.org/D2170
Reviewed by: bcr, rpaulo
MFC after: 2 weeks


281701 18-Apr-2015 markj

SDT(9): add a section on SDT providers, mentioning the "sdt" provider.
Add examples demonstrating how one can list available providers and the
DTrace probes provided by a provider.

Differential Revision: https://reviews.freebsd.org/D2166
Reviewed by: rpaulo
MFC after: 2 weeks


279992 14-Mar-2015 ian

Add a new flag, SBUF_INCLUDENUL, and new get/set/clear functions for flags.

The SBUF_INCLUDENUL flag causes the nulterm byte at the end of the string
to be counted in the length of the data. If copying the data using the
sbuf_data() and sbuf_len() functions, or if writing it automatically with
a drain function, the net effect is that the nulterm byte is copied along
with the rest of the data.


279896 12-Mar-2015 markj

Document m_collapse().

Reported by: kmacy
Reviewed by: kmacy
MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division


279802 09-Mar-2015 markj

Don't specify a function name in the example SDT(9) probe. As with the
module component, it is a bug that the SDT(9) KPI allows one to specify the
function component of an SDT probe. Currently, the module component is
filled in automatically if left unset; this is not yet true for the function
component, but will be addressed by some ongoing work.

MFC after: 3 days


279776 08-Mar-2015 dchagin

Finish r194601. Add a cred parameter to the VOP_VPTOCNP(9) manpage.
While here fix igor warning about new line.

Reviewed by: kib

MFC after: 1 Week


279464 01-Mar-2015 rstone

Document the interface for defining a configuration schema

Differential Revision: https://reviews.freebsd.org/D89
Reviewed by: wblock, emaste, allanjude
MFC after: 1 month
Sponsored by: Sandvine Inc.


279446 01-Mar-2015 rstone

Add manpages for SR-IOV enable/disable driver interface

Differential Revision: https://reviews.freebsd.org/D75
Reviewed by: wblock
MFC after: 1 month
Sponsored by: Sandvine Inc.


279445 01-Mar-2015 rstone

Document pci_iov_attach/detach in pci.9

Differential Revision: https://reviews.freebsd.org/D74
Reviewed by: bcr, wblock, emaste
MFC after: 1 month
Sponsored by: Sandvine Inc.


279115 21-Feb-2015 jmg

back Xref get_cyclecount to have it get more exposure...


278202 04-Feb-2015 ngie

Clean up more usb related files when MK_USB == no when dealing with
manpages, libraries, and binaries

MFC after: 1 week
X-MFC with: r278135
Sponsored by: EMC / Isilon Storage Division


277908 30-Jan-2015 emaste

Add note that contigfree(9) does not accept NULL

Differential Revision: https://reviews.freebsd.org/D1721


277793 27-Jan-2015 kib

Rewrite pmap_enter(9) man page.

In collaboration with: alc
Differential Revision: https://reviews.freebsd.org/D1531
Sponsored by: The FreeBSD Foundation and EMC / Isilon Storage Division
MFC after: 1 week


277680 25-Jan-2015 imp

spl man page hasn't been relevant for a while, retire it.


277668 25-Jan-2015 markj

Document the fact that modules declared with SYSCALL_MODULE(9) have their
names prefixed with "sys/".

MFC after: 3 days


277560 23-Jan-2015 danfe

Fix usage example in kvprintf(9) and its copy in libstand(3): trailing '\n'
in bitfield argument is wrong, as it will be treated as bit 10, causing any
code printing >=10 bits with bit 10 on as having a trailing comma.

Newline (intended one) should be part of the format string (already present
in the examples).

Also fix grammar and kill EOL whitespace in comment while here.

PR: 195005
Approved by: bdrewery


277528 22-Jan-2015 hselasky

Revert for r277213:

FreeBSD developers need more time to review patches in the surrounding
areas like the TCP stack which are using MPSAFE callouts to restore
distribution of callouts on multiple CPUs.

Bump the __FreeBSD_version instead of reverting it.

Suggested by: kmacy, adrian, glebius and kib
Differential Revision: https://reviews.freebsd.org/D1438


277486 21-Jan-2015 gavin

"softc" is short for "software context", use that phrase in the
device_get_softc(9) man page.

MFC after: 1 week


277213 15-Jan-2015 hselasky

Major callout subsystem cleanup and rewrite:
- Close a migration race where callout_reset() failed to set the
CALLOUT_ACTIVE flag.
- Callout callback functions are now allowed to be protected by
spinlocks.
- Switching the callout CPU number cannot always be done on a
per-callout basis. See the updated timeout(9) manual page for more
information.
- The timeout(9) manual page has been updated to reflect how all the
functions inside the callout API are working. The manual page has
been made function oriented to make it easier to deduce how each of
the functions making up the callout API are working without having
to first read the whole manual page. Group all functions into a
handful of sections which should give a quick top-level overview
when the different functions should be used.
- The CALLOUT_SHAREDLOCK flag and its functionality has been removed
to reduce the complexity in the callout code and to avoid problems
about atomically stopping callouts via callout_stop(). If someone
needs it, it can be re-added. From my quick grep there are no
CALLOUT_SHAREDLOCK clients in the kernel.
- A new callout API function named "callout_drain_async()" has been
added. See the updated timeout(9) manual page for a complete
description.
- Update the callout clients in the "kern/" folder to use the callout
API properly, like cv_timedwait(). Previously there was some custom
sleepqueue code in the callout subsystem, which has been removed,
because we now allow callouts to be protected by spinlocks. This
allows us to tear down the callout like done with regular mutexes,
and a "td_slpmutex" has been added to "struct thread" to atomically
teardown the "td_slpcallout". Further the "TDF_TIMOFAIL" and
"SWT_SLEEPQTIMO" states can now be completely removed. Currently
they are marked as available and will be cleaned up in a follow up
commit.
- Bump the __FreeBSD_version to indicate kernel modules need
recompilation.
- There has been several reports that this patch "seems to squash a
serious bug leading to a callout timeout and panic".

Kernel build testing: all architectures were built
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D1438
Sponsored by: Mellanox Technologies
Reviewed by: jhb, adrian, sbruno and emaste


276982 11-Jan-2015 hselasky

Remove no longer used "M_FLOWID" flag and update the netisr manpage.
This patch completes process started by r275358.

Sponsored by: Mellanox Technologies


276778 07-Jan-2015 brd

Fix the counter_u64_alloc arguement

Approved by: glebius
MFC after: 2 weeks


276750 06-Jan-2015 rwatson

In order to reduce use of M_EXT outside of the mbuf allocator and
socket-buffer implementations, introduce a return value for MCLGET()
(and m_cljget() that underlies it) to allow the caller to avoid testing
M_EXT itself. Update all callers to use the return value.

With this change, very few network device drivers remain aware of
M_EXT; the primary exceptions lie in mbuf-chain pretty printers for
debugging, and in a few cases, custom mbuf and cluster allocation
implementations.

NB: This is a difficult-to-test change as it touches many drivers for
which I don't have physical devices. Instead we've gone for intensive
review, but further post-commit review would definitely be appreciated
to spot errors where changes could not easily be made mechanically,
but were largely mechanical in nature.

Differential Revision: https://reviews.freebsd.org/D1440
Reviewed by: adrian, bz, gnn
Sponsored by: EMC / Isilon Storage Division


276665 04-Jan-2015 gibbs

Prevent live-lock and access of destroyed data in taskqueue_drain_all().

Phabric: https://reviews.freebsd.org/D1247
Reviewed by: jhb, avg
Sponsored by: Spectra Logic Corporation

sys/kern_subr_taskqueue.c:
Modify taskqueue_drain_all() processing to use a temporary
"barrier task", rather than rely on a user task that may
be destroyed during taskqueue_drain_all()'s execution. The
barrier task is queued behind all previously queued tasks
and then has its priority elevated so that future tasks
cannot pass it in the queue.

Use a similar barrier scheme to drain threads processing
current tasks. This requires taskqueue_run_locked() to
insert and remove the taskqueue_busy object for the running
thread for every task processed.

share/man/man9/taskqueue.9:
Remove warning about live-lock issues with taskqueue_drain_all()
and indicate that it does not wait for tasks queued after
it begins processing.


276227 26-Dec-2014 kevlo

Mention cc_cdg.


276201 25-Dec-2014 kevlo

Replace CC_VAR with CCV, since the CC_VAR macro doesn't exist.
While here, add MLINK for CCV.9 and DECLARE_CC_MODULE.9.


275993 21-Dec-2014 brueffer

Fix various mdoc issues and some EOL whitespace.

Found with: mandoc -Tlint


275813 15-Dec-2014 dchagin

Properly sort Xr to silence mandoc warnings.

Differential Revision: https://reviews.freebsd.org/D1314
Reviewed by: wblock
MFC after: 1 Month


275751 13-Dec-2014 dchagin

Add _NEW flag to mtx(9), sx(9), rmlock(9) and rwlock(9).
A _NEW flag passed to _init_flags() to avoid check for double-init.

Differential Revision: https://reviews.freebsd.org/D1208
Reviewed by: jhb, wblock
MFC after: 1 Month


275732 12-Dec-2014 jmg

Add some new modes to OpenCrypto. These modes are AES-ICM (can be used
for counter mode), and AES-GCM. Both of these modes have been added to
the aesni module.

Included is a set of tests to validate that the software and aesni
module calculate the correct values. These use the NIST KAT test
vectors. To run the test, you will need to install a soon to be
committed port, nist-kat that will install the vectors. Using a port
is necessary as the test vectors are around 25MB.

All the man pages were updated. I have added a new man page, crypto.7,
which includes a description of how to use each mode. All the new modes
and some other AES modes are present. It would be good for someone
else to go through and document the other modes.

A new ioctl was added to support AEAD modes which AES-GCM is one of them.
Without this ioctl, it is not possible to test AEAD modes from userland.

Add a timing safe bcmp for use to compare MACs. Previously we were using
bcmp which could leak timing info and result in the ability to forge
messages.

Add a minor optimization to the aesni module so that single segment
mbufs don't get copied and instead are updated in place. The aesni
module needs to be updated to support blocked IO so segmented mbufs
don't have to be copied.

We require that the IV be specified for all calls for both GCM and ICM.
This is to ensure proper use of these functions.

Obtained from: p4: //depot/projects/opencrypto
Relnotes: yes
Sponsored by: FreeBSD Foundation
Sponsored by: NetGate


275045 25-Nov-2014 avg

callout(9): add sbt flavors of callout_schedule

Differential Revision: https://reviews.freebsd.org/D1161 (partial)
Reviewed by: jhb, markj
MFC after: 1 week


274925 23-Nov-2014 joel

Misc mdoc fixes:

- Remove superfluous paragraph macros.
- Remove/fix empty or incorrect macros.
- Sort sections into conventional order.
- Terminate quoted strings properly.
- Remove EOL whitespace.


274803 21-Nov-2014 rodrigc

Create a vimage.9 link to vnet.9

Requested by: glebius


274745 20-Nov-2014 rodrigc

MFp4: @179066

Add page which describes VNET network stack virtualization infrastructure.

Submitted by: bz
Sponsored by: The FreeBSD Foundation
Sponsored by: CK Software GmbH


274177 06-Nov-2014 melifaro

Finish r274118: remove useless fields from struct domain.

Sponsored by: Yandex LLC


273966 02-Nov-2014 kib

Fix two issues with lockmgr(9) LK_CAN_SHARE() test, which determines
whether the shared request for already shared-locked lock could be
granted. Both problems result in the exclusive locker starvation.

The concurrent exclusive request is indicated by either
LK_EXCLUSIVE_WAITERS or LK_EXCLUSIVE_SPINNERS flags. The reverse
condition, i.e. no exclusive waiters, must check that both flags are
cleared.

Add a flag LK_NODDLKTREAT for shared lock request to indicate that
current thread guarantees that it does not own the lock in shared
mode. This turns back the exclusive lock starvation avoidance code;
see man page update for detailed description.

Use LK_NODDLKTREAT when doing lookup(9).

Reported and tested by: pho
No objections from: attilio
Sponsored by: The FreeBSD Foundation
MFC after: 2 weeks


273911 31-Oct-2014 kib

Add type qualifier volatile to the base (userspace) address argument
of fuword(9) and suword(9). This makes the functions type-compatible
with volatile objects and does not require devolatile force, e.g. in
kern_umtx.c.

Requested by: bde
Reviewed by: jhb
Sponsored by: The FreeBSD Foundation
MFC after: 3 weeks


273788 28-Oct-2014 jkim

Actually install casuword(9) to fix build.


273783 28-Oct-2014 kib

Add fueword(9) and casueword(9) functions. They are like fuword(9)
and casuword(9), but do not mix value read and indication of fault.

I know (or remember) enough assembly to handle x86 and powerpc. For
arm, mips and sparc64, implement fueword() and casueword() as wrappers
around fuword() and casuword(), which means that the functions cannot
distinguish between -1 and fault.

On architectures where fueword() and casueword() are native, implement
fuword() and casuword() using fueword() and casuword(), to reduce
assembly code duplication.

Sponsored by: The FreeBSD Foundation
Tested by: pho
MFC after: 2 weeks (ia64 needs treating)


273550 23-Oct-2014 jmg

minor updates to make it more explicit that when using fpu_kern_thread,
you don't need to use fpu_kern_enter/_leave...

Reviewed by: kib


273392 21-Oct-2014 jmg

it is not cast to a pointer of the specified type, it is cast to the
specified type...

mtod(m, uint8_t) does not work, mtod(m, uint8_t *) does work..


273388 21-Oct-2014 jmg

spell out the arguments..

the + *offsetp does not belong w/ the type, move it outside the .Fn
macro...


273377 21-Oct-2014 hselasky

Fix multiple incorrect SYSCTL arguments in the kernel:

- Wrong integer type was specified.

- Wrong or missing "access" specifier. The "access" specifier
sometimes included the SYSCTL type, which it should not, except for
procedural SYSCTL nodes.

- Logical OR where binary OR was expected.

- Properly assert the "access" argument passed to all SYSCTL macros,
using the CTASSERT macro. This applies to both static- and dynamically
created SYSCTLs.

- Properly assert the the data type for both static and dynamic
SYSCTLs. In the case of static SYSCTLs we only assert that the data
pointed to by the SYSCTL data pointer has the correct size, hence
there is no easy way to assert types in the C language outside a
C-function.

- Rewrote some code which doesn't pass a constant "access" specifier
when creating dynamic SYSCTL nodes, which is now a requirement.

- Updated "EXAMPLES" section in SYSCTL manual page.

MFC after: 3 days
Sponsored by: Mellanox Technologies


273268 18-Oct-2014 des

Add a complete implementation of MurmurHash3. Tweak both implementations
so they match the established idiom. Document them in hash(9).

MFC after: 1 month
MFC with: r272906


272772 08-Oct-2014 jhb

Forgot to bump Dd.

Pointy hat to: jhb


272771 08-Oct-2014 jhb

Rewrite timeout(9) to be callout(9)-centric instead. Move the description
of timeout(9) to the end and mark it prominently as deprecated. Document
somewhat how times are specified for the 'sbt' variants. Better explain
how using callout_init_*() to associate a lock with a callout resolves
common races.

Differential Revision: https://reviews.freebsd.org/D847
Reviewed by: wblock, bjk
MFC after: 1 week


272475 03-Oct-2014 lwhsu

Bump .Dd

Approved by: kevlo


271992 22-Sep-2014 lwhsu

Reflect the chanages in sleepqueue.h and subr_sleepqueue.c

- Priority argument is introduced to sleepq_*wait* in r177085
- sleepq_calc_signal_retval is removed from implementation
- sleepq_catch_signals is internal now

Differential Revision: https://reviews.freebsd.org/D794
Reviewed by: jhb
Approved by: jhb


271960 22-Sep-2014 trasz

Add missing mlinks for section 9.

MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation


271856 19-Sep-2014 glebius

Remove ifq_drops from struct ifqueue. Now queue drops are accounted in
struct ifnet if_oqdrops.

Some netgraph modules used ifqueue w/o ifnet. Accounting of queue drops
is simply removed from them. There were no API to read this statistic.

Sponsored by: Netflix
Sponsored by: Nginx, Inc.


271819 18-Sep-2014 smh

Remove sys/types.h include as per style (9)

SDT requries sys/param.h due to use of NULL

Reported by: Garrett
Sponsored by: Multiplay


271802 18-Sep-2014 smh

Add dtrace probe support for zfs SET_ERROR(..)

MFC after: 1 week
Sponsored by: Multiplay


271761 18-Sep-2014 trasz

Add missing link to TIMEOUT_TASK_INIT(9).

MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation


271759 18-Sep-2014 trasz

Add missing links to taskqueue(9).

MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation


271615 15-Sep-2014 glebius

Add a brief description of CTLFLAG_VNET flag. Since the VIMAGE is
absolutely not documented, I see no reason in long descriptions
here.


271455 12-Sep-2014 glebius

- Fix argument list after 271387.
- While here fix typo.

Submitted by: markj


271438 11-Sep-2014 asomers

Revisions 264905 and 266860 added a "int fib" argument to ifa_ifwithnet and
ifa_ifwithdstaddr. For the sake of backwards compatibility, the new
arguments were added to new functions named ifa_ifwithnet_fib and
ifa_ifwithdstaddr_fib, while the old functions became wrappers around the
new ones that passed RT_ALL_FIBS for the fib argument. However, the
backwards compatibility is not desired for FreeBSD 11, because there are
numerous other incompatible changes to the ifnet(9) API. We therefore
decided to remove it from head but leave it in place for stable/9 and
stable/10. In addition, this commit adds the fib argument to
ifa_ifwithbroadaddr for consistency's sake.

sys/sys/param.h
Increment __FreeBSD_version

sys/net/if.c
sys/net/if_var.h
sys/net/route.c
Add fibnum argument to ifa_ifwithbroadaddr, and remove the _fib
versions of ifa_ifwithdstaddr, ifa_ifwithnet, and ifa_ifwithroute.

sys/net/route.c
sys/net/rtsock.c
sys/netinet/in_pcb.c
sys/netinet/ip_options.c
sys/netinet/ip_output.c
sys/netinet6/nd6.c
Fixup calls of modified functions.

share/man/man9/ifnet.9
Document changed API.

CR: https://reviews.freebsd.org/D458
MFC after: Never
Sponsored by: Spectra Logic


271314 09-Sep-2014 joel

- Add missing "
- Sort sections


270740 28-Aug-2014 hselasky

Add description of "sysctl_remove_name()" function.


270251 20-Aug-2014 gavin

Fix return type of callout_init_rm() and add return type to
callout_deactivate().

PR: 192520
Submitted by: yaneurabeya gmail com
MFC after: 3 days


269824 11-Aug-2014 jhb

Fix a typo.

PR: 192294
Submitted by: Conrad Meyer <conrad.meyer@isilon.com>


269485 03-Aug-2014 alc

Retire pmap_change_wiring(). We have never used it to wire virtual pages.
We continue to use pmap_enter() for that. For unwiring virtual pages, we
now use pmap_unwire(), which unwires a range of virtual addresses instead
of a single virtual page.

Sponsored by: EMC / Isilon Storage Division


269439 02-Aug-2014 hselasky

- Spelling corrections

Suggested by: Garrett Cooper <yaneurabeya@gmail.com>
PR: 192101


269344 31-Jul-2014 hselasky

- Updated SYSCTL manual pages after recent changes to the kernel
SYSCTL code. Added description of new macros and functions.
- Merged dynamic and static SYSCTL related content into a single
manual page, hence parameters and functionality is very much the same.
- Uppercased all occurrences of "OID".
- Updated all SYSCTL examples.

PR: 192101


269293 30-Jul-2014 gjb

Remove trailing comma from ending Xref

MFC after: 3 days
Sponsored by: The FreeBSD Foundation


269249 29-Jul-2014 joel

mdoc: remove superfluous paragraph macro.


269243 29-Jul-2014 glebius

Garbage collect couple of unused fields from struct ifaddr:
- ifa_claim_addr() unused since removal of NetAtalk
- ifa_metric seems to be never utilized, always a copy of if_metric


269240 29-Jul-2014 pluknet

Add VOP_GETVOBJECT.9 to obsolete files, un-xref.

X-MFC with: r269160


269161 27-Jul-2014 kib

Explicitely mention that inactivated or reclaimed vnode is locked
exclusively.

Sponsored by: The FreeBSD Foundation
MFC after: 3 days


269160 27-Jul-2014 kib

Remove man page for non-existent VOPs.

Sponsored by: The FreeBSD Foundation
MFC after: 3 days


269159 27-Jul-2014 kib

Correct the locking statement.

Sponsored by: The FreeBSD Foundation
MFC after: 3 days


269022 23-Jul-2014 pluknet

- Use Rs/Re mdoc macros.
- Remove duplicate and/or redundant content.


268996 22-Jul-2014 pluknet

Re-sort synopsis, add includes.


268995 22-Jul-2014 pluknet

s/PCBGROUPS/PCBGROUP/ manpage to match "options PCBGROUP".


268939 21-Jul-2014 pluknet

Fixed fallout from previous change.


268938 21-Jul-2014 pluknet

[mdoc] cleanup


268936 21-Jul-2014 adrian

Add the PCBGROUPS manpage.

Thanks to wblock for helping me with this manpage.


268845 18-Jul-2014 alc

Remove obsolete man pages. The corresponding code was removed in r255608.


268830 18-Jul-2014 alc

Remove an obsolete man page.


268818 17-Jul-2014 delphij

Fix markups.


268817 17-Jul-2014 delphij

Fix markup regression introduced in r268369.


268806 17-Jul-2014 alc

Add a man page for the new function pmap_unwire().


268803 17-Jul-2014 alc

Remove the man page for a pmap function that no longer exists.


268781 16-Jul-2014 alc

Correct the name of the man page for pmap_ts_referenced().

Sponsored by: EMC / Isilon Storage Division


268780 16-Jul-2014 truckman

Nuke the never-used RF_TIMESHARE feature, reducing the complexity of the
code. The consensus on arch@ is that this feature might have been useful
in the distant past, but is now just unnecessary bloat.

The int_rman_activate_resource() and int_rman_deactivate_resource()
functions become trivial, so manually inline them.

The special deferred handling of RF_ACTIVE is no longer needed in
reserve_resource_bound(), so eliminate the associated code at the
end of the function.

These changes reduce the object file size by more than 500 bytes on i386.

Update the rman.9 man page to reflect the removal of the RF_TIMESHARE
feature.

MFC after: 2 weeks


268725 15-Jul-2014 gavin

Since r202933, kthread_suspend_check() takes no arguments. Update the
example to match.

MFC after: 3 days


268369 07-Jul-2014 imp

Document C_HARDCLOCK flag.


268351 07-Jul-2014 marcel

Remove ia64.

This includes:
o All directories named *ia64*
o All files named *ia64*
o All ia64-specific code guarded by __ia64__
o All ia64-specific makefile logic
o Mention of ia64 in comments and documentation

This excludes:
o Everything under contrib/
o Everything under crypto/
o sys/xen/interface
o sys/sys/elf_common.h

Discussed at: BSDcan


267936 26-Jun-2014 bapt

use .Mt to mark up email addresses consistently (part6)

PR: 191174
Submitted by: Franco Fichtner <franco at lastsummer.de>


267854 25-Jun-2014 kib

Add fpu_kern.9 man page to the install.

Sponsored by: The FreeBSD Foundation
MFC after: 1 week


267853 25-Jun-2014 kevlo

Add m_pulldown and m_unshare to MLINKS.


267803 23-Jun-2014 joel

mdoc: remove superfluous paragraph macros.


267785 23-Jun-2014 brueffer

Several small fixes (typos, grammar, mdoc).


267768 23-Jun-2014 kib

Add documentation for the fpu_kern(9) interfaces.

Many thanks to jmg for reviewing the (previous version) of the text
and providing grammar and content fixes.

Sponsored by: The FreeBSD Foundation
MFC after: 1 week


267763 23-Jun-2014 kevlo

Catch up with r186809, correct comments.


267091 05-Jun-2014 kevlo

Catch up with recent changes...


266962 02-Jun-2014 bjk

Document some more socket features

Add some mention of the functions used by protocol implementations,
upcalls, and other general routines.

Not all functionality is documented; in particular:
o the *at() variants, which are useful only for implementing the
corresponding syscalls.
o soconnect2(), also only used to implement a syscall (socketpair()).
o sockargs(), which is essentually unused and only tangentially
socket-related.
o selsocket(), which is commented as being present solely for use by
netncp and netsmb.
o getsockaddr(), which is just a convenience shortcut for copyin().

Reviewed by: jhb (previous version)
Approved by: hrs (mentor)


266643 25-May-2014 bjk

Document taskqueue_start_threads_pinned

Requested by: adrian
Reviewed by: adrian
Approved by: hrs (mentor)
X-MFC-with: r266629


265320 04-May-2014 pluknet

Expand PGET_WANTREAD. Language fixes.

Submitted by: jmg


265285 03-May-2014 pluknet

Documented the pget(9) system kernel interface.

Reviewed by: trociny, kib
MFC after: 1 week


265140 30-Apr-2014 kevlo

Document m_get2().

Reviewed by: glebius


265139 30-Apr-2014 kevlo

Change type from int to short to match function prototypes.

Reviewed by: glebius


264680 19-Apr-2014 jmg

add a TON of missing event handlers with quite possibly bogus
descrptions... If you're one of the many people who forgot to document
their work and don't like my description, well, do your job and update
it...


264673 19-Apr-2014 jmg

add link to crypto(4)...

MFC after: 1 week


264363 11-Apr-2014 markj

Update the SDT(9) examples to reflect the removal of the sname parameter
in r258622.

MFC after: 3 days


264041 02-Apr-2014 ian

Add support for event timers whose clock frequency can change while running.


263760 26-Mar-2014 jmg

fix up an old email address and drop clause 3 of my copyright...

bump date..

MFC after: 1 week


263620 22-Mar-2014 bdrewery

Rename global cnt to vm_cnt to avoid shadowing.

To reduce the diff struct pcu.cnt field was not renamed, so
PCPU_OP(cnt.field) is still used. pc_cnt and pcpu are also used in
kvm(3) and vmstat(8). The goal was to not affect externally used KPI.

Bump __FreeBSD_version_ in case some out-of-tree module/code relies on the
the global cnt variable.

Exp-run revealed no ports using it directly.

No objection from: arch@
Sponsored by: EMC / Isilon Storage Division


263289 18-Mar-2014 emaste

Update NetBSD Foundation copyrights to 2-clause BSD

The NetBSD Foundation states "Third parties are encouraged to change the
license on any files which have a 4-clause license contributed to the
NetBSD Foundation to a 2-clause license."

This change removes clauses 3 and 4 from copyright / license blocks that
list The NetBSD Foundation as the only copyright holder.

Sponsored by: The FreeBSD Foundation


263271 17-Mar-2014 asomers

share/man/man9/counter.9
Fix logic error in the description of counter_u64_alloc: the command
may fail only if M_NOWAIT is specified, not M_WAITOK.

Reviewed by: glebius
MFC after: 2 weeks
Sponsored by: Spectra Logic Corporation


263203 15-Mar-2014 glebius

Garbage collect long time obsoleted (or never used) stuff from routing API.


263152 14-Mar-2014 glebius

Remove AppleTalk support.

AppleTalk was a network transport protocol for Apple Macintosh devices
in 80s and then 90s. Starting with Mac OS X in 2000 the AppleTalk was
a legacy protocol and primary networking protocol is TCP/IP. The last
Mac OS X release to support AppleTalk happened in 2009. The same year
routing equipment vendors (namely Cisco) end their support.

Thus, AppleTalk won't be supported in FreeBSD 11.0-RELEASE.


263142 14-Mar-2014 eadler

multiple: Remove 3rd clause from BSD license where approved by the
regents and renumber.

This patch skips files in contrib/ and crypto/

Acked by: imp
Discussed with: emaste


263140 14-Mar-2014 glebius

Remove IPX support.

IPX was a network transport protocol in Novell's NetWare network operating
system from late 80s and then 90s. The NetWare itself switched to TCP/IP
as default transport in 1998. Later, in this century the Novell Open
Enterprise Server became successor of Novell NetWare. The last release
that claimed to still support IPX was OES 2 in 2007. Routing equipment
vendors (e.g. Cisco) discontinued support for IPX in 2011.

Thus, IPX won't be supported in FreeBSD 11.0-RELEASE.


262763 05-Mar-2014 glebius

- Remove rt_metrics_lite and simply put its members into rtentry.
- Use counter(9) for rt_pksent (former rt_rmx.rmx_pksent). This
removes another cache trashing ++ from packet forwarding path.
- Create zini/fini methods for the rtentry UMA zone. Via initialize
mutex and counter in them.
- Fix reporting of rmx_pksent to routing socket.
- Fix netstat(1) to report "Use" both in kvm(3) and sysctl(3) mode.

The change is mostly targeted for stable/10 merge. For head,
rt_pksent is expected to just disappear.

Discussed with: melifaro
Sponsored by: Netflix
Sponsored by: Nginx, Inc.


261908 15-Feb-2014 ian

Fix a typo, C_ALSOLUTE -> C_ABSOLUTE.


261890 14-Feb-2014 avg

update taskqueue(9) manual page

Many thanks to bjk, gjb and pluknet for improvements and suggestions.

MFC after: 5 days
Sponsored by: HybridCluster


261800 12-Feb-2014 wblock

Remove obsolete vnode(9) man page references.

PR: docs/186537
Submitted by: Miklos Magyari <miklos@magyari.hu>
MFC after: 3 days


261595 07-Feb-2014 glebius

sysctl_handle_counter_u64() doesn't use arg2 argument, thus simplify
the SYSCTL_COUNTER_U64() macro.

Sponsored by: Nginx, Inc.


261593 07-Feb-2014 glebius

Provide macros that allow easily export uma(9) zone limits and
current usage via sysctl(9):

SYSCTL_UMA_MAX()
SYSCTL_ADD_UMA_MAX()
SYSCTL_UMA_CUR()
SYSCTL_ADD_UMA_CUR()

Sponsored by: Nginx, Inc.


261402 02-Feb-2014 bdrewery

Add back reference to buf(9) removed in r32223 as buf(9) was added
in r42016.

Approved by: bapt (mentor)


261310 31-Jan-2014 jmg

add a few missing links...

Submitted by: J David
MFC after: 1 week


261254 28-Jan-2014 jmg

link mbuf to m_append so it can be found...

Pointed out by: J David
MFC after: 1 week


260720 16-Jan-2014 glebius

Remove notes about historical mbuf(9) allocator flags from documentation.

Sponsored by: Nginx, Inc.


260581 13-Jan-2014 bryanv

Add sglist_append_bio(9) to append a struct bio's data to a sglist

Reviewed by: jhb, kib (long ago)


260444 08-Jan-2014 kevlo

Rename definition of IEEE80211_FC1_WEP to IEEE80211_FC1_PROTECTED.

The origin of WEP comes from IEEE Std 802.11-1997 where it defines
whether the frame body of MAC frame has been encrypted using WEP
algorithm or not.
IEEE Std. 802.11-2007 changes WEP to Protected Frame, indicates
whether the frame is protected by a cryptographic encapsulation
algorithm.

Reviewed by: adrian, rpaulo


259672 21-Dec-2013 jmg

bump Dd

Reminded by: gjb


259670 20-Dec-2013 jmg

document the m_getjcl function...


258622 26-Nov-2013 avg

dtrace sdt: remove the ugly sname parameter of SDT_PROBE_DEFINE

In its stead use the Solaris / illumos approach of emulating '-' (dash)
in probe names with '__' (two consecutive underscores).

Reviewed by: markj
MFC after: 3 weeks


257699 05-Nov-2013 glebius

Axe IFF_SMART. Fortunately this layering violating flag was never used,
it was just declared.


257696 05-Nov-2013 glebius

Drop support for historic ioctls and also undefine them, so that code
that checks their presence via ifdef, won't use them.

Bump __FreeBSD_version as safety measure.


257401 30-Oct-2013 joel

mdoc: document title should be all caps.


256952 23-Oct-2013 eadler

Add missing symlinks for the sbuf man page


256927 22-Oct-2013 jhb

Add a manpage for the getenv() family of functions in the kernel.


256884 22-Oct-2013 mav

Remove Giant-locked drivers support (DISKFLAG_NEEDSGIANT flag) from disk(9).

Since at least FreeBSD 7 we had only four of them in the base tree, and
in head branch, thanks to jhb@, we have no any for more then a year.


256618 16-Oct-2013 melifaro

Reflect r248070 (RTM_PINNED) changes in documentation.

Pointed by: pluknet
MFC after: 2 weeks


256124 07-Oct-2013 jhb

Add manpages for VOP_ADVISE() and VOP_ALLOCATE().

Approved by: re (gjb)


256123 07-Oct-2013 jhb

Remove a stale comment.

Approved by: re (gjb)


256114 07-Oct-2013 jmg

add missing sections, de-Xr non-existent page, properly space
punctuation..

Approved by: re (joel)
MFC after: 3 days


256089 06-Oct-2013 kib

Document LK_TRYUPGRADE.

Sponsored by: The FreeBSD Foundation
MFC after: 3 days
Approved by: re (marius)


255525 13-Sep-2013 joel

mdoc: fix list width.

Approved by: re (blanket)


255498 12-Sep-2013 jhb

- Document the UQUAD sysctl variants.
- Clarify that exactly one of the "access" flags is required and
list the optional flags in a separate list. Prefer bundling
CTLFLAG_TUN into the access flag by not documenting it as an
optional flag to set.

Approved by: re (glebius)
MFC after: 1 week


255495 12-Sep-2013 jhb

Document several recent changes to vm_map_find(9):
- Document the max_addr parameter that restricts mappings to a subset of
the map's address space.
- Document VMFS_ALIGNED_SPACE and update for the rename of VMFS_SUPER_SPACE.
In addition, use a table that describes the different find space
strategies in more detail.

Reviewed by: alc
Approved by: re (kib)


255208 04-Sep-2013 jmg

add links for the various vmem functions...


254917 26-Aug-2013 antoine

Hook vm_page_busy.9 to the build


254826 25-Aug-2013 joel

Remove EOL whitespace.


254825 25-Aug-2013 joel

mdoc fixes.


254815 24-Aug-2013 andre

Fix BUGS section after botched modify in r254772.

Reported by: bjk


254813 24-Aug-2013 markj

Rename the kld_unload event handler to kld_unload_try, and add a new
kld_unload event handler which gets invoked after a linker file has been
successfully unloaded. The kld_unload and kld_load event handlers are now
invoked with the shared linker lock held, while kld_unload_try is invoked
with the lock exclusively held.

Convert hwpmc(4) to use these event handlers instead of having
kern_kldload() and kern_kldunload() invoke hwpmc(4) hooks whenever files are
loaded or unloaded. This has no functional effect, but simplifes the linker
code somewhat.

Reviewed by: jhb


254775 24-Aug-2013 andre

Adjust for the pfil_func_t typedef added in r254769.


254772 24-Aug-2013 andre

pfil_hook_get() has been internalized in r254771 and is no longer
part of the API. It wasn't safe for external use in any case.


254710 23-Aug-2013 davide

- Bump date.
- Small mdoc fix.

Submitted by: pluknet


254703 23-Aug-2013 davide

Introduce callout_init_rm() so that callouts can be used in conjunction
with rmlocks. This works only with non-sleepable rm because handlers run
in SWI context. While here, document the new KPI in the timeout(9)
manpage.

Requested by: adrian, scottl
Reviewed by: mav, remko(manpage)


254673 22-Aug-2013 kib

Update the manual page for vm_page_grab(9).

Reviewed and edited by: alc
Sponsored by: The FreeBSD Foundation


254658 22-Aug-2013 joel

Minor mdoc nit.


254617 21-Aug-2013 jkim

Implement atomic_swap() and atomic_testandset().

Reviewed by: arch, bde, jilles, kib


254469 17-Aug-2013 markj

Update the SDT(9) man page with the macros added in 254468. Also change the
existing examples to not pass an mbuf as a probe argument. There's no
obvious reason to have it there, and it doesn't really jibe with the example
added in this revision.

MFC after: 1 week


254436 17-Aug-2013 mjacob

Correct sentence syntax too.


254434 17-Aug-2013 obrien

Correct spelling.


254351 15-Aug-2013 markj

Fix a typo.

MFC after: 3 days


254309 14-Aug-2013 markj

Use kld_{load,unload} instead of mod_{load,unload} for the linker file load
and unload event handlers added in r254266.

Reported by: jhb
X-MFC with: r254266


254266 13-Aug-2013 markj

Add event handlers for module load and unload events. The load handlers are
called after the module has been loaded, and the unload handlers are called
before the module is unloaded. Moreover, the module unload handlers may
return an error to prevent the unload from proceeding.

Reviewed by: avg
MFC after: 2 weeks


254175 10-Aug-2013 joel

Minor mdoc nits.


254174 10-Aug-2013 joel

mdoc: document title should be all caps.


254139 09-Aug-2013 attilio

Give mutex(9) the ability to recurse on a per-instance basis.
Now the MTX_RECURSE flag can be passed to the mtx_*_flag() calls.
This helps in cases we want to narrow down to specific calls the
possibility to recurse for some locks.

Sponsored by: EMC / Isilon storage division
Reviewed by: jeff, alc
Tested by: pho


254138 09-Aug-2013 attilio

The soft and hard busy mechanism rely on the vm object lock to work.
Unify the 2 concept into a real, minimal, sxlock where the shared
acquisition represent the soft busy and the exclusive acquisition
represent the hard busy.
The old VPO_WANTED mechanism becames the hard-path for this new lock
and it becomes per-page rather than per-object.
The vm_object lock becames an interlock for this functionality:
it can be held in both read or write mode.
However, if the vm_object lock is held in read mode while acquiring
or releasing the busy state, the thread owner cannot make any
assumption on the busy state unless it is also busying it.

Also:
- Add a new flag to directly shared busy pages while vm_page_alloc
and vm_page_grab are being executed. This will be very helpful
once these functions happen under a read object lock.
- Move the swapping sleep into its own per-object flag

The KPI is heavilly changed this is why the version is bumped.
It is very likely that some VM ports users will need to change
their own code.

Sponsored by: EMC / Isilon storage division
Discussed with: alc
Reviewed by: jeff, kib
Tested by: gavin, bapt (older version)
Tested by: pho, scottl


253660 25-Jul-2013 brooks

Document the sbinuptime() and getsbinuptime() functions introduced in
r247452.

Sponsored by: DARPA, AFRL


253434 17-Jul-2013 jimharris

Add bus_dmamap_load_bio and bus_dmamap_load_ccb to bus_dma(9).

Sponsored by: Intel
Reviewed by: kib
MFC after: 3 days


253270 12-Jul-2013 pluknet

- mdoc: remove superfluous paragraph macros.
- fix typo in xref manual section number.


253268 12-Jul-2013 glebius

Remove non existent in FreeBSD reference.


253267 12-Jul-2013 glebius

Add manual page for vmem(9). Obtained from NetBSD, modified to match
our implementation.

Obtained from: NetBSD


253026 08-Jul-2013 joel

mdoc: remove superfluous paragraph macros.


252895 06-Jul-2013 markj

Add a man page for the SDT_* macros, which can be used to define new static
DTrace probes and providers in kernel code.

MFC after: 1 week


252423 30-Jun-2013 bjk

Grammar tweaks for locking.9

Reviewed by: jhb
Approved by: hrs (mentor)


252379 29-Jun-2013 joel

mdoc: remove EOL whitespace.


252346 28-Jun-2013 jhb

Make a pass over this page to correct and clarify a few things as well as
some general word-smithing.
- Don't claim that adaptive mutexes have a timeout (they don't).
- Don't treat pool mutexes as a separate primitive in a few places.
- Describe sleepable read-mostly locks as a separate lock type and add
them to the various tables.
- Don't claim that sx locks are less efficient. That hasn't been true in
a few years now.
- Describe lockmanager locks next to sx locks since they are very similar
in terms of rules, etc., and so that all the lock primitives are
grouped together before the non-lock primitives.
- Similarly, move the section on Giant after the description of all the
non-lock primitives to preserve grouping.
- Condition variables work on several types of locks, not just mutexes.
- Add a bit of language to compare/contrast condition variables with
sleep/wakeup.
- Add a note about why pause(9) is unique.
- Add some language to define bounded vs unbounded sleeps and explain
why they are treated separately (bounded sleeps only need CPU time
to make forward progress).
- Don't state that using mtx_sleep() is a bad idea. It is in fact rather
necessary.
- Rework the interaction table a bit. First, it did not include really
include sleepable rmlocks and it left out lockmgr entirely. To get
things to fit, combine similar lock types into the same column / row,
and explicitly state what "sleep" means. The notes about recursion
and lock order were also a bit banal (lock order is always important,
not just in the few places annotated here), so remove them. In
particular, the lock order note would need to be on just about every
cell. If we want to document recursion I think a better approach
would be a separate table summarizing the recursion rules for each
lock as having too many notes clutters the table.
- Tweak the tables to use less indentation so everything still fits with
the added columns.
- Correct a few cells in the context mode table.
- Use mdoc markup instead of explicit markup in a few places.

Requested by: julian
MFC after: 2 weeks


252209 25-Jun-2013 jhb

Several improvements to rmlock(9). Many of these are based on patches
provided by Isilon.
- Add an rm_assert() supporting various lock assertions similar to other
locking primitives. Because rmlocks track readers the assertions are
always fully accurate unlike rw_assert() and sx_assert().
- Flesh out the lock class methods for rmlocks to support sleeping via
condvars and rm_sleep() (but only while holding write locks), rmlock
details in 'show lock' in DDB, and the lc_owner method used by
dtrace.
- Add an internal destroyed cookie so that API functions can assert
that an rmlock is not destroyed.
- Make use of rm_assert() to add various assertions to the API (e.g.
to assert locks are held when an unlock routine is called).
- Give RM_SLEEPABLE locks their own lock class and always use the
rmlock's own lock_object with WITNESS.
- Use THREAD_NO_SLEEPING() / THREAD_SLEEPING_OK() to disallow sleeping
while holding a read lock on an rmlock.

Submitted by: andre
Obtained from: EMC/Isilon


252052 21-Jun-2013 lstewart

Non-virtualised hhook points are supported as of r251732.

MFC after: 1 week
X-MFC with: 251732


252037 20-Jun-2013 jhb

Document RA_RECURSED and RA_NOTRECURSED.

MFC after: 3 days


251825 17-Jun-2013 delphij

Remove vfs_mount(9), it have been died since 2004.

Noticed by: git via alfred
MFC after: 2 weeks


251723 14-Jun-2013 markj

The functions are called pci_{msi,msix}_count(), not pci_count_{msi,msix}().

MFC after: 3 days


251546 08-Jun-2013 pluknet

Update locking scheme, mostly transition from sched_lock.


250912 22-May-2013 emaste

Remove reference to removed !MPSAFE filesystem support


249928 26-Apr-2013 glebius

Document constantness of dst argument to if_output.

Submitted by: pluknet


249926 26-Apr-2013 glebius

On those machines that use critical(9) for counter(9) we need to
include systm.h.


249697 20-Apr-2013 trasz

Make DELAY(9) reference pause(9).


249412 12-Apr-2013 trasz

Fix usage for soreceive(9) - uio must always be non-NULL.

MFC after: 1 week


249379 11-Apr-2013 trociny

Document sbuf_start_section() and sbuf_end_section() functions.

MFC after: 1 month


249373 11-Apr-2013 joel

Remove contractions.


249268 08-Apr-2013 glebius

Merge from projects/counters: counter(9).

Introduce counter(9) API, that implements fast and raceless counters,
provided (but not limited to) for gathering of statistical data.

See http://lists.freebsd.org/pipermail/freebsd-arch/2013-April/014204.html
for more details.

In collaboration with: kib
Reviewed by: luigi
Tested by: ae, ray
Sponsored by: Nginx, Inc.


249264 08-Apr-2013 glebius

Merge from projects/counters: UMA_ZONE_PCPU zones.

These zones have slab size == sizeof(struct pcpu), but request from VM
enough pages to fit (uk_slabsize * mp_ncpus). An item allocated from such
zone would have a separate twin for each CPU in the system, and these twins
are at a distance of sizeof(struct pcpu) from each other. This magic value
of distance would allow us to make some optimizations later.

To address private item from a CPU simple arithmetics should be used:

item = (type *)((char *)base + sizeof(struct pcpu) * curcpu)

These arithmetics are available as zpcpu_get() macro in pcpu.h.

To introduce non-page size slabs a new field had been added to uma_keg
uk_slabsize. This shifted some frequently used fields of uma_keg to the
fourth cache line on amd64. To mitigate this pessimization, uma_keg fields
were a bit rearranged and least frequently used uk_name and uk_link moved
down to the fourth cache line. All other fields, that are dereferenced
frequently fit into first three cache lines.

Sponsored by: Nginx, Inc.


249241 07-Apr-2013 trociny

Fix synopsis for sbuf_len.

MFC after: 3 days


248649 23-Mar-2013 will

Extend taskqueue(9) to enable per-taskqueue callbacks.

The scope of these callbacks is primarily to support actions that affect the
taskqueue's thread environments. They are entirely optional, and
consequently are introduced as a new API: taskqueue_set_callback().

This interface allows the caller to specify that a taskqueue requires a
callback and optional context pointer for a given callback type.

The callback types included in this commit can be used to register a
constructor and destructor for thread-local storage using osd(9). This
allows a particular taskqueue to define that its threads require a specific
type of TLS, without the need for a specially-orchestrated task-based
mechanism for startup and shutdown in order to accomplish it.

Two callback types are supported at this point:

- TASKQUEUE_CALLBACK_TYPE_INIT, called by every thread when it starts, prior
to processing any tasks.
- TASKQUEUE_CALLBACK_TYPE_SHUTDOWN, called by every thread when it exits,
after it has processed its last task but before the taskqueue is
reclaimed.

While I'm here:

- Add two new macros, TQ_ASSERT_LOCKED and TQ_ASSERT_UNLOCKED, and use them
in appropriate locations.
- Fix taskqueue.9 to mention taskqueue_start_threads(), which is a required
interface for all consumers of taskqueue(9).

Reviewed by: kib (all), eadler (taskqueue.9), brd (taskqueue.9)
Approved by: ken (mentor)
Sponsored by: Spectra Logic
MFC after: 1 month


248588 21-Mar-2013 glebius

Document some flags to the uma_zcreate(). Not all flags are documented,
only those that at least are used in the kernel, or that definitely
work.


248586 21-Mar-2013 glebius

Document uma_find_refcnt().


247812 04-Mar-2013 davide

MFcalloutng:
Dcoument the new functions added to condvar(9), sleep(9), sleepqueue(9)
KPIs. Also document recent changes in timeout(9) and eventtimers(4).


247463 28-Feb-2013 mav

MFcalloutng:
Switch eventtimers(9) from using struct bintime to sbintime_t.
Even before this not a single driver really supported full dynamic range of
struct bintime even in theory, not speaking about practical inexpediency.
This change legitimates the status quo and cleans up the code.


247140 21-Feb-2013 pluknet

Document VFCF_SBDRY.

Reviewed by: jhb
X-MFC with: r247116


246751 13-Feb-2013 glebius

Fix my email.


246658 11-Feb-2013 pluknet

Cross-reference vfs_unbusy(9).

MFC after: 1 week


246561 08-Feb-2013 alfred

add semicolon to end of CALLOUT_HANDLE_INITIALIZER example.


246020 28-Jan-2013 pluknet

Technical corrections and improvements for the previous change.

Submitted by: bde


245894 24-Jan-2013 pluknet

Update and clarify comments regarding VFS op table initialization
in the man page and its header counterpart.

Submitted by: Christoph Mallon <christoph.mallon@gmx.de> (initial version)
Reviewed and further improved by: bde (previous version)
All bugs are: mine


245746 21-Jan-2013 pluknet

Use C99 sparse initialization for struct vfsops in pseudocode.
Where here, use conventional fsname.


245268 10-Jan-2013 pluknet

The Giant lock is no longer used in the vm_map(9) part of the VM.
While here, document that the process lock is acquired in vm_map_stack, too.

MFC after: 1 week


245049 05-Jan-2013 bjk

Fix some minor inaccuracies introduced in r243251.
Also correct the comment in kern_synch.c which was the source of the
problematic text.

Reviewed by: kib (previous version)
Approved by: hrs (mentor)


244627 23-Dec-2012 avg

lock.9: fix incorrect descriptions of LK_SHARED and LK_DOWNGRADE behavior

Reviewed by: attilio
MFC after: 5 days
X-MFC after: r243900


244584 22-Dec-2012 jh

Reject spaces and double quotation marks in device names. devctl(4)
and devd(8) can't handle names with such characters properly.

PR: bin/144736, kern/161912
Discussed with: imp, kib, pjd


243998 07-Dec-2012 pjd

Implemented uma_zone_set_warning(9) function that sets a warning, which
will be printed once the given zone becomes full and cannot allocate an
item. The warning will not be printed more often than every five minutes.

All UMA warnings can be globally turned off by setting sysctl/tunable
vm.zone_warnings to 0.

Discussed on: arch
Obtained from: WHEEL Systems
MFC after: 2 weeks


243967 07-Dec-2012 kevlo

Document pffinddomain().

Reviewed by: glebius


243863 04-Dec-2012 kib

Fix typo.

Submitted by: bjk
MFC after: 3 days


243845 04-Dec-2012 kib

Document the interpretation of the negative value of ticks for
taskqueue_enqueue_timeout(9).

MFC after: 3 days


243251 18-Nov-2012 bjk

Improve grammar.

Approved by: hrs (mentor)


243145 16-Nov-2012 joel

Remove trailing whitespace.


243137 16-Nov-2012 alc

M_USE_RESERVE is no longer deprecated. It is once again supported.

Reviewed by: kib


242998 13-Nov-2012 andre

Remove description of deprecated IP fragment checksum support.
Since SMPng it wasn't really supported anymore and if it worked
then only by chance. Only very few drivers ever supported it.

Discussed with: yongari
MFC after: 2 weeks


242995 13-Nov-2012 pluknet

- Lowercase a cross reference to make.
- Sort SEE ALSO cross references.

MFC after: 3 days


242992 13-Nov-2012 pluknet

Avoid an ambiguous reference to mtx_lock(9).

MFC after: 3 days


242989 13-Nov-2012 pluknet

Correct rmlock(9) xref and add a missing comma.


242605 05-Nov-2012 kevlo

Sync with domain and protosw data structures.

Reviewed by: glebius


242459 01-Nov-2012 jimharris

Add descriptions for callout_reset_on and callout_schedule_on and
their curcpu variants.

Discussed with: mav, davide
MFC after: 1 week


242359 30-Oct-2012 trasz

Document disk_resize(9).


242350 30-Oct-2012 kevlo

The argument len of m_pullup(9) could be less than or equal to MHLEN.

Reviewed by: glebius


242270 28-Oct-2012 trasz

Make it clear that NULL can only be returned when M_NOWAIT was used.


242146 26-Oct-2012 joel

mdoc: sort sections.


242075 25-Oct-2012 kevlo

Fix MINCLSIZE. It should be MHLEN + 1.

Reviewed by: glebius


241932 23-Oct-2012 andre

Update zero_copy(9) man page to note the renamed kernel options
and to warn about unsafeness of COW based sends.


241896 22-Oct-2012 kib

Remove the support for using non-mpsafe filesystem modules.

In particular, do not lock Giant conditionally when calling into the
filesystem module, remove the VFS_LOCK_GIANT() and related
macros. Stop handling buffers belonging to non-mpsafe filesystems.

The VFS_VERSION is bumped to indicate the interface change which does
not result in the interface signatures changes.

Conducted and reviewed by: attilio
Tested by: pho


241888 22-Oct-2012 melifaro

Make PFIL use per-VNET lock instead of per-AF lock. Since most used packet
filters (ipfw and PF) use the same ruleset with the same lock for both
AF_INET and AF_INET6 there is no need in more fine-grade locking.
However, it is possible to request personal lock by specifying
PFIL_FLAG_PRIVATE_LOCK flag in pfil_head structure (see pfil.9 for
more details).

Export PFIL lock via rw_lock(9)/rm_lock(9)-like API permitting pfil consumers
to use this lock instead of own lock. This help reducing locks on main
traffic path.

pfil_assert() is currently not implemented due to absense of rm_assert().
Waiting for some kind of r234648 to be merged in HEAD.

This change is part of bigger patch reducing routing locking.

Sponsored by: Yandex LLC
Reviewed by: glebius, ae
OK'd by: silence on net@
MFC after: 3 weeks


241471 12-Oct-2012 kevlo

Since the moduledata structure member priv is a void pointer, using
NULL instead of 0 when dealing with pointers.


241394 10-Oct-2012 kevlo

Revert previous commit...

Pointyhat to: kevlo (myself)


241370 09-Oct-2012 kevlo

Prefer NULL over 0 for pointers


241245 06-Oct-2012 glebius

A step in resolving mess with byte ordering for AF_INET. After this change:

- All packets in NETISR_IP queue are in net byte order.
- ip_input() is entered in net byte order and converts packet
to host byte order right _after_ processing pfil(9) hooks.
- ip_output() is entered in host byte order and converts packet
to net byte order right _before_ processing pfil(9) hooks.
- ip_fragment() accepts and emits packet in net byte order.
- ip_forward(), ip_mloopback() use host byte order (untouched actually).
- ip_fastforward() no longer modifies packet at all (except ip_ttl).
- Swapping of byte order there and back removed from the following modules:
pf(4), ipfw(4), enc(4), if_bridge(4).
- Swapping of byte order added to ipfilter(4), based on __FreeBSD_version
- __FreeBSD_version bumped.
- pfil(9) manual page updated.

Reviewed by: ray, luigi, eri, melifaro
Tested by: glebius (LE), ray (BE)


241064 30-Sep-2012 joel

mdoc: remove superfluous paragraph macro.


241037 28-Sep-2012 glebius

The drbr(9) API appeared to be so unclear, that most drivers in
tree used it incorrectly, which lead to inaccurate overrated
if_obytes accounting. The drbr(9) used to update ifnet stats on
drbr_enqueue(), which is not accurate since enqueuing doesn't
imply successful processing by driver. Dequeuing neither mean
that. Most drivers also called drbr_stats_update() which did
accounting again, leading to doubled if_obytes statistics. And
in case of severe transmitting, when a packet could be several
times enqueued and dequeued it could have been accounted several
times.

o Thus, make drbr(9) API thinner. Now drbr(9) merely chooses between
ALTQ queueing or buf_ring(9) queueing.
- It doesn't touch the buf_ring stats any more.
- It doesn't touch ifnet stats anymore.
- drbr_stats_update() no longer exists.

o buf_ring(9) handles its stats itself:
- It handles br_drops itself.
- br_prod_bytes stats are dropped. Rationale: no one ever
reads them but update of a common counter on every packet
negatively affects performance due to excessive cache
invalidation.
- buf_ring_enqueue_bytes() reduced to buf_ring_enqueue(), since
we no longer account bytes.

o Drivers handle their stats theirselves: if_obytes, if_omcasts.

o mlx4(4), igb(4), em(4), vxge(4), oce(4) and ixv(4) no longer
use drbr_stats_update(), and update ifnet stats theirselves.

o bxe(4) was the most correct driver, it didn't call
drbr_stats_update(), thus it was the only driver accurate under
moderate load. Now it also maintains stats itself.

o ixgbe(4) had already taken stats from hardware, so just
- drop software stats updating.
- take multicast packet count from hardware as well.

o mxge(4) just no longer needs NO_SLOW_STATS define.

o cxgb(4), cxgbe(4) need no change, since they obtain stats
from hardware.

Reviewed by: jfv, gnn


240738 20-Sep-2012 kevlo

Remove references to brelse and bremfree, which don't actually exist.


240573 16-Sep-2012 joel

Remove trailing whitespace.


240561 16-Sep-2012 melifaro

Add section describing existing filtering points.
Document byteorder behavior in AF_INET[6] hooks in new section.

MFC after: 2 weeks


240378 12-Sep-2012 kevlo

Add references to VFS_SET(9) and VOP_VPTOFH(9)


240086 04-Sep-2012 glebius

- Move jenkins.h to jenkins_hash.c
- Provide missing function that can do hashing of arbitrary sized buffer.
- Refetch lookup3.c and do only minimal edits to it, so that diff between
our jenkins_hash.c and lookup3.c is minimal.
- Add declarations for jenkins_hash(), jenkins_hash32() to sys/hash.h.
- Document these functions in hash(9)

Obtained from: http://burtleburtle.net/bob/c/lookup3.c


239906 30-Aug-2012 jhb

Clarify that bus_dma does not stall future load requests once a load is
deferred. The caller is required to enforce that if that is desired.

MFC after: 2 weeks


239904 30-Aug-2012 pluknet

Remove a duplicated "thread".


239829 29-Aug-2012 pluknet

Follow r239818 and remove no more relevant vslock() ENOMEM error.

Reviewed by: zont
MFC after: 2 weeks


239515 21-Aug-2012 jhb

Add a manpage for BUS_CHILD_DETACHED().


239512 21-Aug-2012 jhb

Add a BUS_CHILD_DELETED() method that a bus can hook to allow it to cleanup
any bus-specific state (such as ivars) when a child device is deleted.

Requested by: kan
MFC after: 1 month


239510 21-Aug-2012 jhb

Document DRIVER_MODULE_ORDERED, EARLY_DRIVER_MODULE, and
EARLY_DRIVER_MODULE_ORDERED.


239303 15-Aug-2012 hselasky

Streamline use of cdevpriv and correct some corner cases.

1) It is not useful to call "devfs_clear_cdevpriv()" from
"d_close" callbacks, hence for example read, write, ioctl and
so on might be sleeping at the time of "d_close" being called
and then then freed private data can still be accessed.
Examples: dtrace, linux_compat, ksyms (all fixed by this patch)

2) In sys/dev/drm* there are some cases in which memory will
be freed twice, if open fails, first by code in the open
routine, secondly by the cdevpriv destructor. Move registration
of the cdevpriv to the end of the drm open routines.

3) devfs_clear_cdevpriv() is not called if the "d_open" callback
registered cdevpriv data and the "d_open" callback function
returned an error. Fix this.

Discussed with: phk
MFC after: 2 weeks


238542 17-Jul-2012 kevlo

Put parenthesis around sizeof args.


238093 04-Jul-2012 glebius

Document RO_RTFREE() macro.


237937 01-Jul-2012 schweikh

Correct a grammo.


237619 27-Jun-2012 julian

Try clean up some of my original text and neaten a table.

MFC after: 1 week


237518 24-Jun-2012 ken

Fix a bug which causes a panic in daopen(). The panic is caused by
a da(4) instance going away while GEOM is still probing it.

In this case, the GEOM disk class instance has been created by
disk_create(), and the taste of the disk is queued in the GEOM
event queue.

While that event is queued, the da(4) instance goes away. When the
open call comes into the da(4) driver, it dereferences the freed
(but non-NULL) peripheral pointer provided by GEOM, which results
in a panic.

The solution is to add a callback to the GEOM disk code that is
called when all of its resources are cleaned up. This is
implemented inside GEOM by adding an optional callback that is
called when all consumers have detached from a provider, and the
provider is about to be deleted.

scsi_cd.c,
scsi_da.c: In the register routine for the cd(4) and da(4)
routines, acquire a reference to the CAM peripheral
instance just before we call disk_create().

Use the new GEOM disk d_gone() callback to register
a callback (dadiskgonecb()/cddiskgonecb()) that
decrements the peripheral reference count once GEOM
has finished cleaning up its resources.

In the cd(4) driver, clean up open and close
behavior slightly. GEOM makes sure we only get one
open() and one close call, so there is no need to
set an open flag and decrement the reference count
if we are not the first open.

In the cd(4) driver, use cam_periph_release_locked()
in a couple of error scenarios to avoid extra mutex
calls.

geom.h: Add a new, optional, providergone callback that
is called when a provider is about to be deleted.

geom_disk.h: Add a new d_gone() callback to the GEOM disk
interface.

Bump the DISK_VERSION to version 2. This probably
should have been done after a couple of previous
changes, especially the addition of the d_getattr()
callback.

geom_disk.c: Add a providergone callback for the disk class,
g_disk_providergone(), that calls the user's
d_gone() callback if it exists.

Bump the DISK_VERSION to 2.

geom_subr.c: In g_destroy_provider(), call the providergone
callback if it has been provided.

In g_new_geomf(), propagate the class's
providergone callback to the new geom instance.

blkfront.c: Callers of disk_create() are supposed to pass in
DISK_VERSION, not an explicit disk API version
number. Update the blkfront driver to do that.

disk.9: Update the disk(9) man page to include information
on the new d_gone() callback, as well as the
previously added d_getattr() callback, d_descr
field, and HBA PCI ID fields.

MFC after: 5 days


236768 08-Jun-2012 jhb

Several updates:
- Consistently refer to rmlocks as "read-mostly locks".
- Relate rmlocks to rwlocks rather than sx locks since they are closer to
rwlocks.
- Add a separate paragraph on sleepable read-mostly locks contrasting them
with "normal" read-mostly locks.
- The flag passed to rm_init_flags() to enable recursion for readers is
RM_RECURSE, not LO_RECURSABLE.
- Fix the description for RM_RECURSE (it allows readers to recurse, not
writers).
- Explicitly note that rm_try_rlock() honors RM_RECURSE.
- Fix some minor grammar nits.


236680 06-Jun-2012 jhb

Use the defined terms "readers" and "writers" to simplify some text.


236237 29-May-2012 trasz

Fix lock interaction table for rmlocks - by default they cannot sleep,
just like rwlocks.

MFC after: 1 week


235744 21-May-2012 melifaro

Fix panic on attaching to non-existent interface (introduced by r233937, pointed by hrs@)
Fix panic on tcpdump being attached to interface being removed (introduced by r233937, pointed by hrs@ and adrian@)
Protect most of bpf_setf() by BPF global lock

Add several forgotten assertions (thanks to adrian@)

Document current locking model inside bpf.c
Document EVENTHANDLER(9) usage inside BPF.

Approved by: kib(mentor)
Tested by: gnn
MFC in: 4 weeks


235693 20-May-2012 gjb

Typo and mdoc(7) style fixes.

PR: 168117
Submitted by: Nobuyuki Koganemaru (kogane&jp!freebsd!org)
MFC after: 3 days


235376 12-May-2012 gjb

Remove leading .Ns macro to silence mdoc(7) warning.


235373 12-May-2012 gjb

mdoc(7) markup cleanup.


235371 12-May-2012 gjb

Fix mdoc(7) markup.


235358 12-May-2012 gjb

Set formatting width and offset in DB_COMMAND(9).


235357 12-May-2012 gjb

Fix an mdoc(7) nit.


235319 12-May-2012 gjb

Remove duplicate words in mdoc(7) pages.

PR: 167810
Submitted by: Bryan Drewery {bryan!shatow%net} (hackers lounge)
Found with: textproc/igor
MFC after: 3 days


234465 19-Apr-2012 pluknet

- Update the rest of struct ithd references.
- net_ih and softclock_ih cookies have gone away.

MFC after: 1 week


234463 19-Apr-2012 pluknet

Document swi_remove(9).

Reviewed by: jhb
MFC after: 1 week


234188 12-Apr-2012 pluknet

Update the swi_add prototype after struct ithd was split up into
struct intr_event and struct intr_thread.

PR: docs/166864
Reviewed by: jhb (older version)
MFC after: 1 week


233734 31-Mar-2012 joel

Remove end of line whitespace.


233681 29-Mar-2012 joel

Fix typo from last commit.

Noticed by: brueffer


233680 29-Mar-2012 joel

Remove unnecessary Xo/Xc.

Reviewed by: brueffer


233648 29-Mar-2012 eadler

Remove trailing whitespace per mdoc lint warning

Disussed with: gavin
No objection from: doc
Approved by: joel
MFC after: 3 days


233510 26-Mar-2012 joel

mdoc: terminate quoted strings.

Reviewed by: brueffer


233505 26-Mar-2012 melifaro

- Add knlist_init_rw_reader() function to kqueue(9).
Function acquired reader lock if needed.
Assert check for reader or writer lock (RA_LOCKED / RA_UNLOCKED)
- While here, add knlist_init_mtx.9 to MLINKS and fix some style(9) issues

Reviewed by: glebius
Approved by: ae(mentor)

MFC after: 2 weeks


233422 24-Mar-2012 joel

Remove superfluous paragraph macro.


233370 23-Mar-2012 pluknet

Expand contraction.

Spotted by: bjk


233348 23-Mar-2012 pluknet

Update IFCAP_* macro descriptions.

Reviewed by: attilio (polling part, a previous version)
MFC after: 1 week


233347 23-Mar-2012 pluknet

Clean up from the old kern.polling.

Reviewed by: attilio
MFC after: 1 week


233340 23-Mar-2012 pluknet

Document IFT_USB referenced by IFF_CANTCONFIG since the previous change,
so that ifnet(9) is self contained.

MFC after: 1 week


233339 23-Mar-2012 pluknet

Update IFF_* macro descriptions.

MFC after: 1 week


233232 20-Mar-2012 pluknet

Update the list of struct ifnet fields.
- Document if_vnet, if_home_vnet, if_carp, if_vlantrunk, if_multiaddrs,
if_amcount, if_addr, if_llsoftc stub, if_broadcastaddr, if_bridge,
if_label, if_afdata, if_afdata_initialized, if_afdata_lock, if_linktask,
if_addr_mtx (now if_addr_lock), if_clones, if_groups, if_pf_kif, if_lagg,
if_alloctype
- G/c now defunct and/or commented out in the manual page if_ipending,
if_poll_slowq, if_done, if_poll_recv, if_poll_xmit, if_poll_slowinput,
if_poll_intren
- Update if_snd type changed with ALTQ integration.

MFC after: 1 week


232659 07-Mar-2012 pluknet

Move struct if_data basic description to a more suitable place, and remove
a bit of .Bx 4.4 history.

MFC after: 1 week


232658 07-Mar-2012 maxim

o Sync LOCK_PROFILING manpage with the current code: remove
unexistent sysctls, add new ones.

Reviewed by: gjb
Sponsored by: Nginx, Inc.


232654 07-Mar-2012 pluknet

Reflect that if_output changed to take a struct route as its fourth
argument (r191148).

MFC after: 1 week


232651 07-Mar-2012 pluknet

Update ifa_rtrequest() description after post-4.4BSD change made in r85074.
3rd argument of ifa->ifa_rtrequest is now ``rt_addrinfo *'' instead of
``sockaddr *''. While here, un-document RTM_RESOLVE cmd argument for
ifa_rtrequest() that became a stub after separating L2 tables in r186119.

MFC after: 1 week


232600 06-Mar-2012 pluknet

Remove if_watchdog remnants after if_timer/if_watchdog removal in r199975.
This part was missed in r199992.

MFC after: 1 week


232592 06-Mar-2012 pluknet

Fix a typo: use lower case in "A Shorthand".

Noted by: maxim


232591 06-Mar-2012 pluknet

Kill EoL whitespaces.


232589 06-Mar-2012 pluknet

The missing part of r232588 that documents ifaddr_byindex() itself.

MFC after: 1 week


232588 06-Mar-2012 pluknet

- ifnet_addrs has gone and replaced by ifaddr_byindex(), as per r83130
- access to the AF_LINK address through if_addrhead is deprecated (r128315)

MFC after: 1 week


232571 05-Mar-2012 pluknet

Actually bump date, sigh.


232569 05-Mar-2012 jhb

Fix three instances of a missing word.

Submitted by: bjk


232553 05-Mar-2012 pluknet

Fix typo. Bump .Dd for the previous change.


232516 04-Mar-2012 jhb

Document pci_find_extcap() and pci_find_htcap().


232463 03-Mar-2012 jhb

Expand and reorganize the pci(9) manpage a bit:
- Document the following routines: pci_alloc_msi(), pci_alloc_msix(),
pci_find_cap(), pci_get_max_read_req(), pci_get_vpd_ident(),
pci_get_vpd_readonly(), pci_msi_count(), pci_msix_count(),
pci_pending_msix(), pci_release_msi(), pci_remap_msix(), and
pci_set_max_read_req().
- Group the functions into five sub-sections: raw configuration access,
locating devices, device information, device configuration, and
message signaled interrupts.
- Discourage use of pci_disable_io() and pci_enable_io() in device drivers.
The PCI bus driver handles this automatically as resources are activated.

MFC after: 2 weeks


232384 02-Mar-2012 pluknet

Reflect the renaming of ifmaof_ifpforaddr() to if_findmulti() in r148652.

MFC after: 1 week


232382 02-Mar-2012 pluknet

ifp->if_ioctl() has moved to u_long cmd in r36735.
Somehow that change had not reached here together with ifioctl().

MFC after: 1 week


232363 01-Mar-2012 jhb

Update the documentation on pci_get/set_powerstate(). These methods are
not ACPI-specific at all, but deal with PCI power states. Also,
pci_set_powerstate() fails with EOPNOTSUPP if a request is made that the
underlying device does not support rather than falling back to somehow
setting D0.


232362 01-Mar-2012 jhb

Sort function prototypes.


232360 01-Mar-2012 jhb

Add pci_save_state() and pci_restore_state() wrappers around
pci_cfg_save() and pci_cfg_restore() for device drivers to use when
saving and restoring state (e.g. to handle device-specific resets).

Reviewed by: imp
MFC after: 2 weeks


232359 01-Mar-2012 jhb

Update for adjusted types for boundary arguments in 232356.


232350 01-Mar-2012 jh

Since r199137 namei() returns EINVAL for DELETE and RENAME operations if
the last component of the pathname is ".".

Reviewed by: kib
MFC after: 1 week


232336 01-Mar-2012 pluknet

Changes in ifaddr refcounting: ifa_refcnt IFAREF/IFAFREE macros
moved to ifa_ref()/ifa_free() refcounting functions.

MFC after: 1 week


232335 01-Mar-2012 pluknet

Refine r232333 [1] and put note about ifnet refcount caller responsibility.

Spotted by: gavin [1]
MFC after: 1 week


232334 01-Mar-2012 pluknet

Reflect that ifa_ifwithnet() gained ignore_ptp argument.

MFC after: 1 week


232333 01-Mar-2012 pluknet

Document ifunit_ref function.

MFC after: 1 week


232331 01-Mar-2012 pluknet

Document ifnet refcount.

MFC after: 1 week


232321 29-Feb-2012 thompsa

Correct the description for CTLFLAG_TUN and CTLFLAG_RDTUN, the declaring of a
system tunable has never been implemented. This flag is only used by sysctl(8)
to provide a helpful error message.

Discussed with: dwhite, kan


232254 28-Feb-2012 kevlo

Fix typos


232157 25-Feb-2012 gjb

Fix various typos in manual pages.

Submitted by: amdmi3
PR: 165431
MFC after: 1 week


232051 23-Feb-2012 brueffer

Catch up with r195837 (2.5 years ago) which renamed net_add_domain() to domain_add().

PR: 165424
Submitted by: Lachlan Kang
MFC after: 1 week


231564 12-Feb-2012 ed

Globally replace u_int*_t from (non-contributed) man pages.

The reasoning behind this, is that if we are consistent in our
documentation about the uint*_t stuff, people will be less tempted to
write new code that uses the non-standard types.

I am not going to bump the man page dates, as these changes can be
considered style nits. The meaning of the man pages is unaffected.

MFC after: 1 month


231376 10-Feb-2012 ed

Remove outdated piece of information.

devtoname() always returns a pathname to the device. It will never
return a #major/minor string.

MFC after: 2 weeks


231244 09-Feb-2012 gjb

Fix some Xr references:

- ada(4): ad(4) - removed, ada(4) would be a self-referencing entry
- cd(4): ad(4) -> ada(4)
- da(4): ad(4) -> ada(4)
- DEVICE_PROBE(9): ugen(5) -> ugen(4)
- ed(4): dhclinet(8) -> dhclient(8) (typo)
- lmc(4): Netgraph(4) -> netgraph(4)
- security(7): rc.conf(8) -> rc.conf(5)
- sfxge(4): cpuset(8) -> cpuset(1)
- sbp(4): sysctl(1) -> sysctl(8)
- portindex(5): build(1) -> build(7)
- u3g(4): usbconfig(5) -> usbconfig(8)
- usb_quirk(4): usbconfig(5) -> usbconfig(8)

Found with: textproc/igor
MFC after: 3 days


230787 30-Jan-2012 brueffer

Manpages for the buf_ring and drbr interfaces.

Submitted by: kmacy (aeons ago)
MFC after: 1 week


230679 28-Jan-2012 kmacy

update .Dd


230646 28-Jan-2012 kmacy

alphabetically sort optional flags and add documentation for VM_ALLOC_NODUMP


230645 28-Jan-2012 kmacy

document M_NODUMP flag


230581 26-Jan-2012 glebius

List supported ioctl commands instead of old one.


230330 19-Jan-2012 ed

Remove remnants of dev_t.

These functions take a `struct cdev *' -- not a dev_t. Inside the
kernel, dev_t has the same use as in userspace, namely to store a device
identifier.

MFC after: 2 weeks


230292 18-Jan-2012 kevlo

NOOBJ is long time dead

Reviewed by: kib


230291 18-Jan-2012 kevlo

vfs_object_create() function is obsolete. Use vnode_create_vobject()
to create the backing object.

Reviewed by: kib


229206 01-Jan-2012 ed

Fix sloppyness in memcchr() man page.

I was considering adding it to libc as well, but last minute I thought
it would be good enough to add it to libkern exclusively. I forgot to
rename the man page and hook it up.


229199 01-Jan-2012 ed

Fix typo; return -> returns.


229198 01-Jan-2012 ed

Introducing memcchr(3).

It seems two of the file system drivers we have in the tree, namely ufs
and ext3, use a function called `skpc()'. The meaning of this function
does not seem to be documented in FreeBSD, but it turns out one needs to
be a VAX programmer to understand what it does.

SPKC is an instruction on the VAX that does the opposite of memchr(). It
searches for the non-equal character. Add a new function called
memcchr() to the tree that has the following advantages over skpc():

- It has a name that makes more sense than skpc(). Just like strcspn()
matches the complement of strspn(), memcchr() is the complement of
memchr().

- It is faster than skpc(). Similar to our strlen() in libc, it compares
entire words, instead of single bytes. It seems that for this routine
this yields a sixfold performance increase on amd64.

- It has a man page.


228784 21-Dec-2011 jh

Follow style(9) more closely in the example.


228731 20-Dec-2011 mav

Add eventtimers(9) man page, describing related KPIs.

Sponsored by: iXsystems, Inc.
MFC after: 1 month


228715 19-Dec-2011 jhb

Add a TASK_INITIALIZER() macro that can be used to statically
initialize a task structure.

Reviewed by: gj
MFC after: 2 weeks


228620 17-Dec-2011 ru

Fixed some of markup.

Reviewed by: jhb


228509 14-Dec-2011 jhb

Add a helper API to allow in-kernel code to map portions of shared memory
objects created by shm_open(2) into the kernel's address space. This
provides a convenient way for creating shared memory buffers between
userland and the kernel without requiring custom character devices.


228500 14-Dec-2011 glebius

More MLINKS for rtalloc.9


228499 14-Dec-2011 glebius

Update this page to describe modern interfaces.


228359 09-Dec-2011 jh

sbuf_data() hasn't returned NULL for overflowed buffers since r71721.


228358 09-Dec-2011 jh

- Fix markup.
- Remove trailing whitespace.


227829 22-Nov-2011 marius

- Add a DEVMETHOD_END alias for KOBJMETHOD_END so that along with 'driver_t'
and DEVMETHOD() we can fully hide the explicit mention of kobj(9) from
device drivers.
- Update the example in driver.9 to use DEVMETHOD_END.

Submitted by: jhb
MFC after: 3 days


227698 19-Nov-2011 kib

Update the manpage for r227697.

MFC after: 3 weeks


227588 16-Nov-2011 pjd

Constify arguments for locking KPIs where possible.

This enables locking consumers to pass their own structures around as const and
be able to assert locks embedded into those structures.

Reviewed by: ed, kib, jhb


227581 16-Nov-2011 pjd

Constify stack argument for functions that don't modify it.

Reviewed by: ed, kib, jhb


227537 15-Nov-2011 marius

As it turns out, r186347 actually is insufficient to avoid the use of the
curthread-accessing part of mtx_{,un}lock(9) when using a r210623-style
curthread implementation on sparc64, crashing the kernel in its early
cycles as PCPU isn't set up, yet (and can't be set up as OFW is one of the
things we need for that, which leads to a chicken-and-egg problem). What
happens is that due to the fact that the idea of r210623 actually is to
allow the compiler to cache invocations of curthread, it factors out
obtaining curthread needed for both mtx_lock(9) and mtx_unlock(9) to
before the branch based on kobj_mutex_inited when compiling the kernel
without the debugging options. So change kobj_class_compile_static(9)
to just never acquire kobj_mtx, effectively restricting it to its
documented use, and add a kobj_init_static(9) for initializing objects
using a class compiled with the former and that also avoids using mutex(9)
(and malloc(9)). Also assert in both of these functions that they are
used in their intended way only.
While at it, inline kobj_register_method() and kobj_unregister_method()
as there wasn't much point for factoring them out in the first place
and so that a reader of the code has to figure out the locking for
fewer functions missing a KOBJ_ASSERT.
Tested on powerpc{,64} by andreast.

Reviewed by: nwhitehorn (earlier version), jhb
MFC after: 3 days


227116 05-Nov-2011 jmg

group functions together by function...

document knlist_delete, and better document what knlist_clear does... Note
that both of these functions may sleep, and also unlock/relock the list
lock...

document knlist_init_mtx (forgotten by kib)...

other minor improvements

Reviewed by: ru (previous rev)
MFC after: 1 week


226619 21-Oct-2011 glebius

Spelling.

Submitted by: dougb


226614 21-Oct-2011 glebius

Note that it is still not possible to guard special kind of allocations, those
that have special relationships with uma(9). Currently only mbuf clusters.


226436 16-Oct-2011 eadler

- change "is is" to "is" or "it is"
- change "the the" to "the"

Approved by: lstewart
Approved by: sahil (mentor)
MFC after: 3 days


226314 12-Oct-2011 glebius

Document that memguard(9) now can guard uma(9) allocations.


226119 07-Oct-2011 des

Mention tdsignal(9).

MFC after: 1 week


225776 27-Sep-2011 pluknet

Fix typo in OSIOCGIFADDR.

MFC after: 3 days


225583 15-Sep-2011 lstewart

Rename the cc.4 and cc.9 modular congestion control related man pages to
mod_cc.4 and mod_cc.9 respectively to avoid any possible confusion with the cc.1
gcc man page. Update references to these man pages where required.

Requested by: Grenville Armitage
Approved by: re (kib)
MFC after: 3 days


225570 15-Sep-2011 adrian

Ensure that ta_pending doesn't overflow u_short by capping its value at USHRT_MAX.

If it overflows before the taskqueue can run, the task will be
re-added to the taskqueue and cause a loop in the task list.

Reported by: Arnaud Lacombe <lacombar@gmail.com>
Submitted by: Ryan Stone <rysto32@gmail.com>
Reviewed by: jhb
Approved by: re (kib)
MFC after: 1 day


225419 06-Sep-2011 kib

Document vm_page_aflag_set(9), vm_page_aflag_clear(9) and vm_page_reference(9).
Retire vm_page_flag_set() and vm_page_flag_clear() functions.

Reviewed by: alc
Approved by: re (bz)


225220 27-Aug-2011 brueffer

Remove information and MLINK for MULTI_DRIVER_MODULE().
The macro was removed in r121129 almost 8 years ago.

PR: 150244
Submitted by: Gireesh Nagabhushana <dngireesh@avrita.com>
Approved by: re (kib)


225181 25-Aug-2011 attilio

Fix an error in the generation of the manpage after r225177.

Sponsored by: Sandvine Incorporated
Submitted by: jkim
Approved by: re (bz)
MFC after: 3 weeks
X-MFC: r225177


225177 25-Aug-2011 attilio

Fix a deficiency in the selinfo interface:
If a selinfo object is recorded (via selrecord()) and then it is
quickly destroyed, with the waiters missing the opportunity to awake,
at the next iteration they will find the selinfo object destroyed,
causing a PF#.

That happens because the selinfo interface has no way to drain the
waiters before to destroy the registered selinfo object. Also this
race is quite rare to get in practice, because it would require a
selrecord(), a poll request by another thread and a quick destruction
of the selrecord()'ed selinfo object.

Fix this by adding the seldrain() routine which should be called
before to destroy the selinfo objects (in order to avoid such case),
and fix the present cases where it might have already been called.
Sometimes, the context is safe enough to prevent this type of race,
like it happens in device drivers which installs selinfo objects on
poll callbacks. There, the destruction of the selinfo object happens
at driver detach time, when all the filedescriptors should be already
closed, thus there cannot be a race.
For this case, mfi(4) device driver can be set as an example, as it
implements a full correct logic for preventing this from happening.

Sponsored by: Sandvine Incorporated
Reported by: rstone
Tested by: pluknet
Reviewed by: jhb, kib
Approved by: re (bz)
MFC after: 3 weeks


224568 01-Aug-2011 kib

Fix markup.

Approved by: re (hrs)


224555 31-Jul-2011 gjb

Update vfs_getopt(9) to reflect 32-bit to 64-bit change from
r224290.

PR: 159324
Submitted by: Brandon Gooch (jamesbrandongooch % gmail ! com)
Approved by: re (kib)


223895 09-Jul-2011 alc

Remove the old vm_map_clean man page.


223894 09-Jul-2011 alc

vm_map_clean() was long ago renamed to vm_map_sync(). Also, it no longer
acquires Giant.

MFC after: 1 week


223892 09-Jul-2011 alc

Oops. These changes should have been included in r223891.

MFC after: 1 week


223891 09-Jul-2011 alc

Remove manual pages for functions that no longer exist.

MFC after: 1 week


223890 09-Jul-2011 kib

Document copyin_nofault, copyout_nofault, uiomove_nofault.

Submitted by: alc


223876 08-Jul-2011 mdf

Add an option to have a fail point term only execute when run by a
specified pid. This is helpful for automated testing involving a global
knob that would otherwise be executed by many other threads.

MFC after: 1 week


223735 03-Jul-2011 bz

Add infrastructure to allow all frames/packets received on an interface
to be assigned to a non-default FIB instance.

You may need to recompile world or ports due to the change of struct ifnet.

Submitted by: cjsp
Submitted by: Alexander V. Chernikov (melifaro ipfw.ru)
(original versions)
Reviewed by: julian
Reviewed by: Alexander V. Chernikov (melifaro ipfw.ru)
MFC after: 2 weeks
X-MFC: use spare in struct ifnet


223260 18-Jun-2011 bz

Install symlinks for m_tag_* mbuf tag functions to the mbuf_tags.9 man page.

MFC after: 1 week


223259 18-Jun-2011 bz

Correct a typo in the function name.

MFC after: 1 week


222600 02-Jun-2011 uqs

mdoc: reorder sections consistently


222286 25-May-2011 ru

[mdoc] Fixed .Dt call.


222176 22-May-2011 uqs

Re-encode files from ISO-8859-1 to UTF-8


222095 19-May-2011 phk

When adding examples to man-pages, try to make them at least
look like they might work.

Prodded by: Vadim Goncharov


222034 17-May-2011 phk

Try to explain what sbufs do and add an example to show it.

Clarify return values.


221496 05-May-2011 ae

Add make_dev_alias_p to MLINKS.

Pointed out by: pjd
MFC after: 2 weeks


221490 05-May-2011 ae

Formatting fixes:
o Fix date
o Break sentences
o Remove trailing whitespaces
o Sort xrefs by section number

Requested by: ru
MFC after: 2 weeks


221450 04-May-2011 gjb

Remove unneeded tab after .Ed to make manlint happy.

Reported by: manlint


221398 03-May-2011 ae

Document make_dev_alias_p().

MFC after: 2 weeks


221231 29-Apr-2011 jhb

Add a new bus method, BUS_ADJUST_RESOURCE() that is intended to be a
wrapper around rman_adjust_resource(). Include a generic implementation,
bus_generic_adjust_resource() which passes the request up to the parent
bus. There is currently no default implementation. A
bus_adjust_resource() wrapper is provided for use in drivers.


221220 29-Apr-2011 jhb

Extend the rman(9) API to support altering an existing resource.
Specifically, these changes allow a resource to back a relocatable and
resizable resource such as the I/O window decoders in PCI-PCI bridges.
- rman_adjust_resource() can adjust the start and end address of an
existing resource. It only succeeds if the newly requested address
space is already free. It also supports shrinking a resource in
which case the freed space will be marked unallocated in the rman.
- rman_first_free_region() and rman_last_free_region() return the
start and end addresses for the first or last unallocated region in
an rman, respectively. This can be used to determine by how much
the resource backing an rman must be adjusted to accomodate an
allocation request that does not fit into the existing rman.

While here, document the rm_start and rm_end fields in struct rman,
rman_is_region_manager(), the bound argument to
rman_reserve_resource_bound(), and rman_init_from_resource().


221103 27-Apr-2011 des

Rename alloc_unr(9) to unr(9) and adjust the links accordingly.

MFC after: 3 weeks


221060 26-Apr-2011 kib

Document timeout_task.

While there, fix the type of the func argument of INIT_TASK macro,
and use the modern name of the analogous facility from Linux kernel.

Sponsored by: The FreeBSD Foundation
MFC after: 1 month


220787 18-Apr-2011 glebius

It is already seven years since mbuf allocator uses same
M_WAITOK/M_NOWAIT flags as malloc(9). Update manual page.

Submitted by: Vadim Goncharov <vadimnuclight tpu.ru>


220560 12-Apr-2011 lstewart

Use the full and proper company name for Swinburne University of Technology
throughout the source tree.

Requested by: Grenville Armitage, Director of CAIA at Swinburne University of
Technology
MFC after: 3 days


220155 30-Mar-2011 ae

Remove duplicate sentence.


219674 15-Mar-2011 jkim

Fix a typo in the previous commit. AMD64 and Intel 64 are two brand names.


219672 15-Mar-2011 jkim

Unconditionally use binuptime(9) for get_cyclecount(9) on i386. Since this
function is almost exclusively used for random harvesting, there is no need
for micro-optimization. Adjust the manual page accordingly.


219100 28-Feb-2011 hselasky

- Add support for software pre-scaling of ISOCHRONOUS transfers.

MFC after: 14 days
Approved by: thompsa (mentor)


218912 21-Feb-2011 lstewart

Final commit to round out the "Five New TCP Congestion Control Algorithms for
FreeBSD" FreeBSD Foundation funded project.

- Add new man pages for the modular congestion control, Khelp and Hhook
frameworks (cc.4, cc.9, khelp.9 and hhook.9).

- Add new man pages for each available congestion control algorithm (cc_chd.4,
cc_cubic.4, cc_hd.4, cc_htcp.4, cc_newreno.4 and cc_vegas.4).

- Add a new man page for the Enhanced Round Trip Time (ERTT) Khelp module
(h_ertt.4).

- Update the TCP (tcp.4) man page to mention the TCP_CONGESTION socket option,
cross reference to cc.4 and remove references to the retired
"net.inet.tcp.newreno" sysctl MIB variable.

In collaboration with: David Hayes <dahayes at swin edu au> and
Grenville Armitage <garmitage at swin edu au>
Sponsored by: FreeBSD Foundation
MFC after: 3 months


218506 10-Feb-2011 imp

Document requirement that sys/types.h be included before rman.h.

Submitted by: Raphael Kubo da Costa
MFC after: 2 weeks


217916 27-Jan-2011 mdf

Explicitly wire the user buffer rather than doing it implicitly in
sbuf_new_for_sysctl(9). This allows using an sbuf with a SYSCTL_OUT
drain for extremely large amounts of data where the caller knows that
appropriate references are held, and sleeping is not an issue.

Inspired by: rwatson


217830 25-Jan-2011 mdf

Document sbuf_new_for_sysctl(9).

Pointed out by: lstewart


217719 22-Jan-2011 jh

Fix typos.


217616 19-Jan-2011 mdf

Introduce signed and unsigned version of CTLTYPE_QUAD, renaming
existing uses. Rename sysctl_handle_quad() to sysctl_handle_64().


217613 19-Jan-2011 jmg

document that even when wakeup_one is used to wakeup, msleep and friends
may still return a non-zero value... You are not guaranteed to get a one
to one mapping between wakeup_one and zero return values...

Reviewed by: kib
MFC after: 3 days


217586 19-Jan-2011 mdf

sysctl(8) should use the CTLTYPE to determine the type of data when
reading. (This was already done for writing to a sysctl). This
requires all SYSCTL setups to specify a type. Most of them are now
checked at compile-time.

Remove SYSCTL_*X* sysctl additions as the print being in hex should be
controlled by the -x flag to sysctl(8).

Succested by: bde


217087 07-Jan-2011 trasz

Restore comment describing /* NOTREACHED */, updated to match reality.


217074 06-Jan-2011 jhb

Retire the INTR_FAST flag as it was obsoleted by the introduction of the
filter argument to bus_setup_intr().


217048 06-Jan-2011 trasz

Get rid of bad advice regarding /* NOTREACHED */. Compilers don't
really need it (one can use __dead2 instead), and style(9) was not
even consistent with itself in this regard.


217043 06-Jan-2011 lstewart

Fix a whitespace nit.

MFC after: 1 week
X-MFC with: r216995


216995 05-Jan-2011 lstewart

Add a man page for the Object Specific Data (OSD) KPI.

Although not directly related the FreeBSD Foundation funded "Five New TCP
Congestion Control Algorithms for FreeBSD" project, the understanding and
inspiration required to write this documentation was significantly bolstered
by the Foundation's support.

Reviewed by: pjd
MFC after: 1 week


216566 19-Dec-2010 pjd

Correct cookie type to match reality.


216232 06-Dec-2010 jhb

Add a manpage for SYSINIT() and SYSUNINIT().

PR: docs/132884
Submitted by: pluknet, hmp


216156 03-Dec-2010 brucec

Document the fact that passing in a count of zero to the bus_space functions
will result in undefined behaviour.
Taken from NetBSD's bus_space(9).


216143 03-Dec-2010 brucec

Revert r216134. This checkin broke platforms where bus_space are macros:
they need to be a single statement, and do { } while (0) doesn't work in this
situation so revert until a solution can be devised.


216134 02-Dec-2010 brucec

Disallow passing in a count of zero bytes to the bus_space(9) functions.

Passing a count of zero on i386 and amd64 for [I386|AMD64]_BUS_SPACE_MEM
causes a crash/hang since the 'loop' instruction decrements the counter
before checking if it's zero.

PR: kern/80980
Discussed with: jhb


215798 24-Nov-2010 kib

Remove the note about possible unlocking during vunref(9). It might
only happen if VOP_INACTIVATE() drops the vnode lock, which is quite
unreasonable behaviour for filesystem, and should not be mentioned
in the description of VFS primitives.

MFC after: 1 week


215176 12-Nov-2010 pluknet

Stop documenting vgonel() after its converting to the static function:
svn r147332 (by jeff): "Don't make vgonel() globally visible".
While here, specify the vnode locking scheme for vgone().

Discussed on: freebsd-hackers@
Approved by: kib (mentor)
MFC after: 10 days


215011 08-Nov-2010 mdf

Add a taskqueue_cancel(9) to cancel a pending task without waiting for
it to run as taskqueue_drain(9) does.

Requested by: hselasky
Original code: jeff
Reviewed by: jhb
MFC after: 2 weeks


214752 03-Nov-2010 trasz

Xref BUS_SETUP_INTR(9) and locking(9).


214673 02-Nov-2010 jhb

Fix a few typos and style nits in the example code.

Submitted by: Arnaud Lacombe lacombar of gmail
MFC after: 3 days


214278 24-Oct-2010 jh

Use .Dv with NULL.


214277 24-Oct-2010 jh

Document make_dev_p(9).

Reviewed by: brueffer, kib


214132 21-Oct-2010 uqs

mdoc: make pages render with mandoc

It's a bit more pedantic regarding .Bl list elements. This has an added
benefit of unbreaking the ipfw(8) manpage, where groff was silently
skipping one list element.


214097 20-Oct-2010 avg

catch up manual pages with rename of vm_page_sleep_busy to vm_page_sleep_if_busy

Suggested by: alc
MFC after: 4 days


214096 20-Oct-2010 avg

VOP_GETPAGES.9: clarify and correct description of parameters and requirements

In cooperation with alc and kib, who provided valuable insights and
suggestions.

Reviewed by: alc, kib (earlier version)
MFC after: 4 days


214095 20-Oct-2010 avg

PG_BUSY -> VPO_BUSY, PG_WANTED -> VPO_WANTED in manual pages and comments

Reviewed by: alc
MFC after: 4 days


214062 19-Oct-2010 mdf

uma_zfree(zone, NULL) should do nothing, to match free(9).

Noticed by: Ron Steinke <rsteinke at isilon dot com>
MFC after: 3 days


214061 19-Oct-2010 uqs

mdoc: fix markup typo

MFC after: 1 week (together with r213983)


214019 18-Oct-2010 pjd

Update links for taskqueue(9) functions.


213983 17-Oct-2010 kib

Document vunref(9), add some important notes for vrele(9) and vput(9).
Merge all three manpages to one, removing separate file for vput(9).

MFC after: 1 week


213911 16-Oct-2010 lstewart

Change uma_zone_set_max to return the effective value of "nitems" after
rounding. The same value can also be obtained with uma_zone_get_max, but this
change avoids a caller having to make two back-to-back calls.

Sponsored by: FreeBSD Foundation
Reviewed by: gnn, jhb


213910 16-Oct-2010 lstewart

- Simplify implementation of uma_zone_get_max.
- Add uma_zone_get_cur which returns the current approximate occupancy of
a zone. This is useful for providing stats via sysctl amongst other things.

Sponsored by: FreeBSD Foundation
Reviewed by: gnn, jhb
MFC after: 2 weeks


213813 13-Oct-2010 mdf

Use a safer mechanism for determining if a task is currently running,
that does not rely on the lifetime of pointers being the same. This also
restores the task KBI.

Suggested by: jhb
MFC after: 1 month


213739 12-Oct-2010 mdf

Re-expose and briefly document taskqueue_run(9). The function is used
in at least one 3rd party driver.

Requested by: jhb


213573 08-Oct-2010 uqs

mdoc: drop redundant .Pp and .LP calls

They have no effect when coming in pairs, or before .Bl/.Bd


213526 07-Oct-2010 jh

Check the device name validity on device registration.

A new function prep_devname() sanitizes a device name by removing
leading and redundant sequential slashes. The function returns an error
for names which already exist or are considered invalid.

A new flag MAKEDEV_CHECKNAME for make_dev_p(9) and make_dev_credf(9)
indicates that the caller is prepared to handle an error related to the
device name. An invalid name triggers a panic if the flag is not
specified.

Document the MAKEDEV_CHECKNAME flag in the make_dev(9) manual page.

Idea from: kib
Reviewed by: kib


212500 12-Sep-2010 gjb

I believe the majority of Gregorian calendars would agree the current
year is 2010, not 2005.

Approved by: keramida (mentor)
Pointy hat to: gjb
MFC after: 1 week


212493 12-Sep-2010 gjb

Bump date from r212440.

Approved by: keramida (mentor)
MFC after: 1 week


212440 10-Sep-2010 gjb

Add RETURN VALUES section to devclass_get_maxunit(9).

PR: 149979
Submitted by: gcooper
Patch by: gcooper
Approved by: keramida (mentor)
MFC after: 1 week


212425 10-Sep-2010 mdf

Replace sbuf_overflowed() with sbuf_error(), which returns any error
code associated with overflow or with the drain function. While this
function is not expected to be used often, it produces more information
in the form of an errno that sbuf_overflowed() did.


212367 09-Sep-2010 mdf

Add drain functionality to sbufs. The drain is a function that is
called when the sbuf internal buffer is filled. For kernel sbufs with a
drain, the internal buffer will never be expanded. For userland sbufs
with a drain, the internal buffer may still be expanded by
sbuf_[v]printf(3).

Sbufs now have three basic uses:
1) static string manipulation. Overflow is marked.
2) dynamic string manipulation. Overflow triggers string growth.
3) drained string manipulation. Overflow triggers draining.

In all cases the manipulation is 'safe' in that overflow is detected and
managed.

Reviewed by: phk (the previous version)


212364 09-Sep-2010 mdf

Fix small errors in the sbuf(9) man page.


212233 05-Sep-2010 kib

Document MAKEDEV_ETERNAL.

MFC after: 3 days


212112 01-Sep-2010 mlaier

rmlock(9) two additions and one change/fix:
- add rm_try_rlock().
- add RM_SLEEPABLE to use sx(9) as the back-end lock in order to sleep while
holding the write lock.
- change rm_noreadtoken to a cpu bitmask to indicate which CPUs need to go
through the lock/unlock in order to synchronize. As a side effect, this
also avoids IPI to CPUs without any readers during rm_wlock.

Discussed with: ups@, rwatson@ on arch@
Sponsored by: Isilon Systems, Inc.


211936 28-Aug-2010 brucec

Fix incorrect usage of 'assure' and 'insure'.

Approved by: rrs (mentor)


211780 24-Aug-2010 trasz

s/ithread/interrupt thread/


211633 22-Aug-2010 ed

Add missing mlink for insmntque1().

MFC after: 1 week


211397 16-Aug-2010 joel

Fix typos, spelling, formatting and mdoc mistakes found by Nobuyuki while
translating these manual pages. Minor corrections by me.

Submitted by: Nobuyuki Koganemaru <n-kogane@syd.odn.ne.jp>


211356 15-Aug-2010 brueffer

Fixed a typo.

PR: 148701
Submitted by: Glen Barber <glen.j.barber@gmail.com>
MFC after: 1 week


211353 15-Aug-2010 brueffer

Tie up some loose ends r88509 left behind:

- chooseproc() is long gone, MLINK choosethread instead
- Update NAME section for choosethread
- Mark chooseproc.9 for removal

PR: 149549
Submitted by: pluknet
MFC after: 1 week


211194 11-Aug-2010 mdf

Rework memguard(9) to reserve significantly more KVA to detect
use-after-free over a longer time. Also release the backing pages of
a guarded allocation at free(9) time to reduce the overhead of using
memguard(9). Allow setting and varying the malloc type at run-time.
Add knobs to allow:

- randomly guarding memory
- adding un-backed KVA guard pages to detect underflow and overflow
- a lower limit on the size of allocations that are guarded

Reviewed by: alc
Reviewed by: brueffer, Ulrich Spörlein <uqs spoerlein net> (man page)
Silence from: -arch
Approved by: zml (mentor)
MFC after: 1 month


211016 07-Aug-2010 des

Document the MEXTADD macro.

MFC after: 2 weeks


210941 06-Aug-2010 stefanf

Add links for destroy_dev_drain, destroy_dev_sched, destroy_dev_sched_cb,
make_dev_cred and make_dev_credf.


210933 06-Aug-2010 joel

Fix typos and spelling mistakes.


210737 01-Aug-2010 pjd

Correct function name.

MFC after: 3 days


210676 31-Jul-2010 joel

Fix a bunch of typos and spelling mistakes.


210669 31-Jul-2010 joel

Spelling fixes.


210525 27-Jul-2010 simon

Missing IFCAP_* macro descriptions in ifnet(9).

PR: docs/148952
Submitted by: Lars Hartmann <lars@chaotika.org>
MFC after: 2 weeks


210377 22-Jul-2010 mdf

Fix taskqueue_drain(9) to not have false negatives. For threaded
taskqueues, more than one task can be running simultaneously.

Also make taskqueue_run(9) static to the file, since there are no
consumers in the base kernel and the function signature needs to change
with this fix.

Remove mention of taskqueue_run(9) and taskqueue_run_fast(9) from the
taskqueue(9) man page.

Reviewed by: jhb
Approved by: zml (mentor)


209710 05-Jul-2010 jh

Extend the kernel unit number allocator for allocating specific unit
numbers. This change adds a new function alloc_unr_specific() which
returns the requested unit number if it is free. If the number is
already allocated or out of the range, -1 is returned.

Update alloc_unr(9) manual page accordingly and add a MLINK for
alloc_unr_specific(9).

Discussed on: freebsd-hackers


209669 03-Jul-2010 alc

Improve the comment and man page for vm_page_alloc(). Specifically,
document one of the optional flags; clarify which of the flags are
optional (and which are not), and remove mention of a restriction on
the reclamation of cached pages that no longer holds since version 7.

MFC after: 1 week


209546 27-Jun-2010 cperciva

Note that internal_underscores should be used in identifier names rather
than camelCase or TitleCase.

According to grep and my checked-out source tree, we're currently at
3733379 internal_underscores, 93024 camelCases, and 80831 TitleCases;
so this commit is merely documenting existing practice.


209168 14-Jun-2010 jh

Update vfs_busy(9) and vfs_unbusy(9) manual pages to better match the
current behaviour of the functions.

Discussed with: attilio


209031 11-Jun-2010 uqs

mdoc nitpicking: the title argument shall be uppercase


208732 02-Jun-2010 uqs

mdoc cleanup

Garbage collect unused sections, macros and arguments. Fix prologue and
remove empty lines.

Found by: mdocml


208594 27-May-2010 uqs

mdoc: Garbage collect unused/unneeded macros


208493 24-May-2010 uqs

These features will first appear in 8.1, soon to be released

MFC after: 3 days


208291 19-May-2010 uqs

mdoc: consistently spell our email addresses <foo@FreeBSD.org>

Reviewed by: ru


208028 13-May-2010 uqs

mdoc: move remaining sections into consistent order

This pertains mostly to FILES, HISTORY, EXIT STATUS and AUTHORS sections.

Found by: mdocml lint run
Reviewed by: ru


208027 13-May-2010 uqs

mdoc: move CAVEATS, BUGS and SECURITY CONSIDERATIONS sections to the
bottom of the manpages and order them consistently.

GNU groff doesn't care about the ordering, and doesn't even mention
CAVEATS and SECURITY CONSIDERATIONS as common sections and where to put
them.

Found by: mdocml lint run
Reviewed by: ru


207730 06-May-2010 kib

Document MAKEDEV_NOWAIT flag for make_dev_credf(9).

Reviewed by: jh
MFC after: 2 weeks


207325 28-Apr-2010 rpaulo

Couple of fixes from DragonFly (typos).

Obtained from: DragonFlyBSD


207223 26-Apr-2010 lstewart

- Rework the underlying ALQ storage to be a circular buffer, which amongst other
things allows variable length messages to be easily supported.

- Extend KPI with alq_writen() and alq_getn() to support variable length
messages, which is enabled at ALQ creation time depending on the
arguments passed to alq_open(). Also add variants of alq_open() and
alq_post() that accept a flags argument. The KPI is still fully
backwards compatible and shouldn't require any change in ALQ consumers
unless they wish to utilise the new features.

- Introduce the ALQ_NOACTIVATE and ALQ_ORDERED flags to allow ALQ consumers
to have more control over IO scheduling and resource acquisition
respectively.

- Strengthen invariants checking.

- Document ALQ changes in ALQ(9) man page.

Sponsored by: FreeBSD Foundation
Reviewed by: gnn, jeff, rpaulo, rwatson
MFC after: 1 month


206622 14-Apr-2010 uqs

mdoc: order prologue macros consistently by Dd/Dt/Os

Although groff_mdoc(7) gives another impression, this is the ordering
most widely used and also required by mdocml/mandoc.

Reviewed by: ru
Approved by: philip, ed (mentors)


206383 07-Apr-2010 emaste

Remove extraneous '>'.


205846 29-Mar-2010 trasz

Fix references.


205416 21-Mar-2010 kib

Correct the type for uio_resid.

MFC after: 3 days


205333 19-Mar-2010 avg

vfs_mount.9: drop cross-reference to a removed manual

MFC after: 3 days


205076 12-Mar-2010 uqs

Fix several typos in macros or macro misusage.

Found by: make manlint
Reviewed by: ru
Approved by: philip (mentor)


204650 03-Mar-2010 glebius

Remove C99 initializer, since dominant style is to use non-C99 initializers.

Requested by: jhb


204604 02-Mar-2010 joel

The NetBSD Foundation has granted permission to remove clause 3 and 4 from
their software.

Obtained from: NetBSD


204602 02-Mar-2010 glebius

- Add missing includes to make example "compilable".
- Use C99 initializer just in case if driver_t may change in future.
- Use NULL for pointer arguments instead of 0.


204416 27-Feb-2010 kib

Update man page for vm_page_alloc(9).

Based on the submission by: Giovanni Trematerra <giovanni.trematerra gmail com>
MFC after: 3 days


204383 27-Feb-2010 delphij

Add several necessary .El's.

MFC after: 2 weeks


204275 24-Feb-2010 jhb

Fix spelling of EACCES.

PR: docs/144112
Submitted by: Alexander Best
MFC after: 3 days


204213 22-Feb-2010 bschmidt

Fix some typos.

Approved by: rpaulo (mentor)
MFC after: 1 week


204206 22-Feb-2010 rwatson

Cross-reference netstat(1) from netisr(9) since you can now use it to
monitor netisr status.

MFC after: 1 week
Sponsored by: Juniper Networks


203929 15-Feb-2010 trasz

Some rewording and language fixes.

PR: docs/136918, docs/134074
Submitted by: Ben Kaduk <kaduk at mit dot edu>, Haven Hash <havenster at gmail dot com>


203825 13-Feb-2010 trasz

Remove list of locking primitives, which is kind of redundant, move
information about witness(9) to the section about interactions, and
expand 'contexts' table.


203824 13-Feb-2010 trasz

Fix VBAD description.


203762 10-Feb-2010 trasz

Start sentences with a new line.

Submitted by: brueffer


203759 10-Feb-2010 trasz

Improve description for Giant and mention blocking inside interrupt threads.


203722 09-Feb-2010 trasz

Remove VOP_VPTOFH(9) from references in VFS(9), as it's a VOP,
not VFS operation.


203721 09-Feb-2010 trasz

Add references to VOP_* man pages to vnode(9).


203636 07-Feb-2010 gavin

Correct arguments to free_unr(), "item" was missing.

MFC after: 1 week


203549 06-Feb-2010 trasz

Add missing coma.


203131 28-Jan-2010 trasz

Cosmetic fixes.


203127 28-Jan-2010 trasz

Add description of bounded sleep vs unbounded sleep (aka blocking). Move
rules into their own section.


203122 28-Jan-2010 trasz

Improve descriptions, remove turnstiles (since, from what I understand,
they are only used to implement other synchronization primitives), tweak
formatting.


202933 24-Jan-2010 attilio

- Fix the kthread_{suspend, resume, suspend_check}() locking.
In the current code, the locking is completely broken and may lead
easilly to deadlocks. Fix it by using the proc_mtx, linked to the
suspending thread, as lock for the operation. Keep using the
thread_lock for setting and reading the flag even if it is not entirely
necessary (atomic ops may do it as well, but this way the code is more
readable).
- Fix a deadlock within kthread_suspend().
The suspender should not sleep on a different channel wrt the suspended
thread, or, otherwise, the awaker should wakeup both. Uniform the
interface to what the kproc_* counterparts do (sleeping on the same
channel).
- Change the kthread_suspend_check() prototype.
kthread_suspend_check() always assumes curthread and must only refer to
it, so skip the thread pointer as it may be easilly mistaken.
If curthread is not a kthread, the system will panic.

In collabouration with: jhb
Tested by: Giovanni Trematerra
<giovanni dot trematerra at gmail dot com>
MFC: 2 weeks


202650 19-Jan-2010 jhb

Sort NDHASGIANT.9 link properly.


202443 16-Jan-2010 gavin

Xref sysctl(3)

Approved by: ed (mentor)


202386 15-Jan-2010 ru

Use the newly brought %U macro.


202285 14-Jan-2010 jhb

- Note that if_xname, if_dname, and if_dunit are usually initialized via
if_initname().
- Document if_drv_flags and replace references to IFF_(RUNNING|OACTIVE)
with references to IFF_DRV_(RUNNING|OACTIVE).
- Complete truncated sentence in the description of if_transmit by copying
from the description in if_qflush.
- Add missing line breaks for translators.

Reviewed by: brooks (1)
MFC after: 3 days


202284 14-Jan-2010 jhb

- Update required headers for namei() to add <sys/fcntl.h> and remove
<sys/proc.h>.
- Add RETURN VALUES and ERROR sections for namei()'s error return values.
- Add a missing link to NDHASGIANT.9.

PR: docs/142815, docs/142816
Submitted by: Lachlan Kang (1, 2)
MFC after: 3 days


201879 09-Jan-2010 attilio

Introduce the new kernel thread called "deadlock resolver".
While the name is pretentious, a good explanation of its targets is
reported in this 17 months old presentation e-mail:
http://lists.freebsd.org/pipermail/freebsd-arch/2008-August/008452.html

In order to implement it, the sq_type in sleepqueues is mandatory and not
only compiled along with INVARIANTS option. Additively, a new sleepqueue
function, sleepq_type() is added, returning the type of the sleepqueue
linked to a wchan.
Three new sysctls are added in order to configure the thread:
debug.deadlkres.slptime_threshold
debug.deadlkres.blktime_threshold
debug.deadlkres.sleepfreq

rappresenting the thresholds for sleep and block time that will lead to
a deadlock matching (when exceeded), while the sleepfreq rappresents the
number of seconds between 2 consecutive thread runnings.
In order to enable the deadlock resolver thread recompile your kernel
with the option DEADLKRES.

Reviewed by: jeff
Tested by: pho, Giovanni Trematerra
Sponsored by: Nokia Incorporated, Sandvine Incorporated
MFC after: 2 weeks


201538 04-Jan-2010 brueffer

Catch up with the VFS_VPTOFH(9) -> VOP_VPTOFH(9) repocopy that happened
almost three years ago in r166794.

PR: 140989
Submitted by: Lachlan Kang
MFC after: 1 week


201504 04-Jan-2010 kib

PG_NOSYNC is called VPO_NOSYNC for long time.

MFC after: 3 days


200849 22-Dec-2009 ru

Removed duplicate usbd_xfer_state(9) link.


200848 22-Dec-2009 ru

Sort mlinks.


200614 16-Dec-2009 julian

Make man page reflect the output columns

MFC after: 1 week


200450 12-Dec-2009 kib

Document PBDRY and SLEEPQ_STOP_ON_BDRY.

Requested and reviewed by: attilio
MFC after: 3 days


200447 12-Dec-2009 attilio

In current code, threads performing an interruptible sleep (on both
sxlock, via the sx_{s, x}lock_sig() interface, or plain lockmgr), will
leave the waiters flag on forcing the owner to do a wakeup even when if
the waiter queue is empty.
That operation may lead to a deadlock in the case of doing a fake wakeup
on the "preferred" (based on the wakeup algorithm) queue while the other
queue has real waiters on it, because nobody is going to wakeup the 2nd
queue waiters and they will sleep indefinitively.

A similar bug, is present, for lockmgr in the case the waiters are
sleeping with LK_SLEEPFAIL on. In this case, even if the waiters queue
is not empty, the waiters won't progress after being awake but they will
just fail, still not taking care of the 2nd queue waiters (as instead the
lock owned doing the wakeup would expect).

In order to fix this bug in a cheap way (without adding too much locking
and complicating too much the semantic) add a sleepqueue interface which
does report the actual number of waiters on a specified queue of a
waitchannel (sleepq_sleepcnt()) and use it in order to determine if the
exclusive waiters (or shared waiters) are actually present on the lockmgr
(or sx) before to give them precedence in the wakeup algorithm.
This fix alone, however doesn't solve the LK_SLEEPFAIL bug. In order to
cope with it, add the tracking of how many exclusive LK_SLEEPFAIL waiters
a lockmgr has and if all the waiters on the exclusive waiters queue are
LK_SLEEPFAIL just wake both queues.

The sleepq_sleepcnt() introduction and ABI breakage require
__FreeBSD_version bumping.

Reported by: avg, kib, pho
Reviewed by: kib
Tested by: pho


200042 02-Dec-2009 trasz

Add missing parameter description.


199992 01-Dec-2009 bz

Unbreak user space after if_timer/if_watchdog removal in r199975.

Tested by: glebius


198571 29-Oct-2009 ru

Back in 2003, get_cyclecount() was changed to use binuptime() instead
of nanotime(). Reflect this change in a manpage.

Reviewed by: phk, markm


198518 27-Oct-2009 emaste

Add link for callout_schedule(9).


198171 16-Oct-2009 brueffer

Sort SEE ALSO.


198134 15-Oct-2009 jhb

Add a facility for associating optional descriptions with active interrupt
handlers. This is primarily intended as a way to allow devices that use
multiple interrupts (e.g. MSI) to meaningfully distinguish the various
interrupt handlers.
- Add a new BUS_DESCRIBE_INTR() method to the bus interface to associate
a description with an active interrupt handler setup by BUS_SETUP_INTR.
It has a default method (bus_generic_describe_intr()) which simply passes
the request up to the parent device.
- Add a bus_describe_intr() wrapper around BUS_DESCRIBE_INTR() that supports
printf(9) style formatting using var args.
- Reserve MAXCOMLEN bytes in the intr_handler structure to hold the name of
an interrupt handler and copy the name passed to intr_event_add_handler()
into that buffer instead of just saving the pointer to the name.
- Add a new intr_event_describe_handler() which appends a description string
to an interrupt handler's name.
- Implement support for interrupt descriptions on amd64 and i386 by having
the nexus(4) driver supply a custom bus_describe_intr method that invokes
a new intr_describe() MD routine which in turn looks up the associated
interrupt event and invokes intr_event_describe_handler().

Requested by: many
Reviewed by: scottl
MFC after: 2 weeks


198086 14-Oct-2009 jhb

Oops, add a return values section to note that these routines return an error
on failure or zero on success.


198085 14-Oct-2009 jhb

Add a manual page for BUS_BIND_INTR() and bus_bind_intr().

MFC after: 1 week


197780 05-Oct-2009 trasz

Make fetch(9) and store(9) manual pages closer to reality.


197405 22-Sep-2009 trasz

Add pieces of infrastructure required for NFSv4 ACL support in UFS.

Reviewed by: rwatson


197310 18-Sep-2009 brueffer

Fix mdoc, typos, contractions.

This includes:
PR: 135520
Submitted by: Nobuyuki Koganemaru
Patch by: gavin
MFC after: 3 days


197300 18-Sep-2009 brueffer

Various mdoc, spelling etc fixes.

MFC after: 3 days


196450 23-Aug-2009 julian

Add claraifications to the kproc and kthread manpages and link
the kthread_create(9) man page to the kproc(9) page as it had migrated and
people looking for it may need a hand to find its new name.

MFC after: 1 week


196417 21-Aug-2009 jhb

This patch fixes two bugs in sglist(9) and improves robustness of the API via
better semantics if a request to append an address range to an existing list
fails.
- When cloning an sglist, properly set the length in the new sglist instead of
leaving the new list empty.
- Properly compute the amount of data added to an sglist via
_sglist_append_buf(). This allows sglist_consume_uio() to properly update
uio_resid.
- When a request to append an address range to a scatter/gather list fails,
restore the sglist to the state it had at the start of the function call
instead of resetting it to an empty list.

Requested by: np (3)
Approved by: re (kib)


196404 20-Aug-2009 jhb

Change the 'resid' parameter to sglist_consume_uio() from an int to a
size_t to match the recent type change of the uio_resid member of struct
uio.

Approved by: re (kib)


196358 18-Aug-2009 pjd

Remove unused taskqueue_find() function.

Reviewed by: dfr
Approved by: re (kib)


196311 17-Aug-2009 pjd

Correct typo in the previous commit.

Noticed by: pluknet <pluknet@gmail.com>
Approved by: re (kib, implicit)


196295 17-Aug-2009 pjd

Remove OpenSolaris taskq port (it performs very poorly in our kernel) and
replace it with wrappers around our taskqueue(9).
To make it possible implement taskqueue_member() function which returns 1
if the given thread was created by the given taskqueue.

Approved by: re (kib)


196155 12-Aug-2009 sam

First (early) draft of net80211 documentation. Note this is
focused on driver writers (as opposed to folks adding to net80211).

Reviewed by: wkoszek
Approved by: re (rwatson)


195892 26-Jul-2009 bz

Update epair(4) to the new netisr implementation and polish
things a bit:
- use dpcpu data to track the ifps with packets queued up,
- per-cpu locking and driver flags
- along with .nh_drainedcpu and NETISR_POLICY_CPU.
- Put the mbufs in flight reference count, preventing interfaces
from going away, under INVARIANTS as this is a general problem
of the stack and should be solved in if.c/netisr but still good
to verify the internal queuing logic.
- Permit changing the MTU to virtually everythinkg like we do for loopback.

Hook epair(4) up to the build.

Approved by: re (kib)


195622 11-Jul-2009 cperciva

Fix typo: kproc_resume,.9 -> kproc_resume.9.

Approved by: re (kib)


194860 24-Jun-2009 thompsa

Move programming info from usb(4) to usbdi(9) and update for the usb stack
changeover. Needs much more content still.


194828 24-Jun-2009 rwatson

Add stack_print_short() and stack_print_short_ddb() interfaces to
stack(9), which generate a more compact rendition of a stack trace
via the kernel's printf.

MFC after: 1 week


194767 23-Jun-2009 kib

Usermode portion of the support for swap allocation accounting:
- update for getrlimit(2) manpage;
- support for setting RLIMIT_SWAP in login class;
- addition to the limits(1) and sh and csh limit-setting builtins;
- tuning(7) documentation on the sysctls controlling overcommit.

In collaboration with: pho
Reviewed by: alc
Approved by: re (kensmith)


194507 19-Jun-2009 brooks

Document crcopysafe() and crsetgroups().

Reminded by: julian


194317 17-Jun-2009 attilio

Introduce support for adaptive spinning in lockmgr.
Actually, as it did receive few tuning, the support is disabled by
default, but it can opt-in with the option ADAPTIVE_LOCKMGRS.
Due to the nature of lockmgrs, adaptive spinning needs to be
selectively enabled for any interested lockmgr.
The support is bi-directional, or, in other ways, it will work in both
cases if the lock is held in read or write way. In particular, the
read path is passible of further tunning using the sysctls
debug.lockmgr.retries and debug.lockmgr.loops . Ideally, such sysctls
should be axed or compiled out before release.

Addictionally note that adaptive spinning doesn't cope well with
LK_SLEEPFAIL. The reason is that many (and probabilly all) consumers
of LK_SLEEPFAIL are mainly interested in knowing if the interlock was
dropped or not in order to reacquire it and re-test initial conditions.
This directly interacts with adaptive spinning because lockmgr needs
to drop the interlock while spinning in order to avoid a deadlock
(further details in the comments inside the patch).

Final note: finding someone willing to help on tuning this with
relevant workloads would be either very important and appreciated.

Tested by: jeff, pho
Requested by: many


194201 14-Jun-2009 bz

Add an optional callback function that will be invoked when a per-CPU
queue was drained. It will never fire for a directly dispatched packet.

You will most likely never want to use this for any ordinary netisr usage
and you will never blame netisr in case you try to use it and it does
not work as expected.

Reviewed by: rwatson


194185 14-Jun-2009 bz

Remove a line break leaving a function return type attached to the old
function declaration bottom rather than the new function declaration
start.


193873 09-Jun-2009 imp

These are no longer public, so remove the man page.


193833 09-Jun-2009 jhb

Add support for multiple passes of the device tree during the boot-time
probe. The current device order is unchanged. This commit just adds the
infrastructure and ABI changes so that it is easier to merge later changes
into 8.x.
- Driver attachments now have an associated pass level. Attachments are
not allowed to probe or attach to drivers until the system-wide pass level
is >= the attachment's pass level. By default driver attachments use the
"last" pass level (BUS_PASS_DEFAULT). Driver's that wish to probe during
an earlier pass use EARLY_DRIVER_MODULE() instead of DRIVER_MODULE() which
accepts the pass level as an additional parameter.
- A new method BUS_NEW_PASS has been added to the bus interface. This
method is invoked when the system-wide pass level is changed to kick off
a rescan of the device tree so that drivers that have just been made
"eligible" can probe and attach.
- The bus_generic_new_pass() function provides a default implementation of
BUS_NEW_PASS(). It first allows drivers that were just made eligible for
this pass to identify new child devices. Then it propogates the rescan to
child devices that already have an attached driver by invoking their
BUS_NEW_PASS() method. It also reprobes devices without a driver.
- BUS_PROBE_NOMATCH() is only invoked for devices that do not have
an attached driver after being scanned during the final pass.
- The bus_set_pass() function is used during boot to raise the pass level.
Currently it is only called once during root_bus_configure() to raise
the pass level to BUS_PASS_DEFAULT. This has the effect of probing all
devices in a single pass identical to previous behavior.

Reviewed by: imp
Approved by: re (kib)


193653 07-Jun-2009 rwatson

Try again to add beginnings of netisr(8) man page: this time add
netisr.9.


193652 07-Jun-2009 rwatson

Add beginnings of a netisr(9) man page.


193260 01-Jun-2009 jhb

Add a simple API to manage scatter/gather lists of phyiscal addresses.
Each list describes a logical memory object that is backed by one or more
physical address ranges. To minimize locking, the sglist objects
themselves are immutable once they are shared.

These objects may be used in the future to facilitate I/O requests using
physically-addressed buffers. For the immediate future I plan to use them
to implement a new type of VM object and pager.

Reviewed by: jeff, scottl
MFC after: 1 month


193206 01-Jun-2009 trasz

Use the "flag" word consistently.

Submitted by: Ben Kaduk <minimarmot at gmail.com>


193092 30-May-2009 trasz

Add VOP_ACCESSX, which can be used to query for newly added V*
permissions, such as VWRITE_ACL. For a filsystems that don't
implement it, there is a default implementation, which works
as a wrapper around VOP_ACCESS.

Reviewed by: rwatson@


193030 29-May-2009 rwatson

Make the rmlock(9) interface a bit more like the rwlock(9) interface:

- Add rm_init_flags() and accept extended options only for that variation.
- Add a flags space specifically for rm_init_flags(), rather than borrowing
the lock_init() flag space.
- Define flag RM_RECURSE to use instead of LO_RECURSABLE.
- Define flag RM_NOWITNESS to allow an rmlock to be exempt from WITNESS
checking; this wasn't possible previously as rm_init() always passed
LO_WITNESS when initializing an rmlock's struct lock.
- Add RM_SYSINIT_FLAGS().
- Rename embedded mutex in rmlocks to make it more obvious what it is.
- Update consumers.
- Update man page.


193011 29-May-2009 attilio

Reverse the logic for ADAPTIVE_SX option and enable it by default.
Introduce for this operation the reverse NO_ADAPTIVE_SX option.
The flag SX_ADAPTIVESPIN to be passed to sx_init_flags(9) gets suppressed
and the new flag, offering the reversed logic, SX_NOADAPTIVE is added.

Additively implements adaptive spininning for sx held in shared mode.
The spinning limit can be handled through sysctls in order to be tuned
while the code doesn't reach the release, after which time they should
be dropped probabilly.

This change has made been necessary by recent benchmarks where it does
improve concurrency of workloads in presence of high contention
(ie. ZFS).

KPI breakage is documented by __FreeBSD_version bumping, manpage and
UPDATING updates.

Requested by: jeff, kmacy
Reviewed by: jeff
Tested by: pho


192978 28-May-2009 zml

Fix style/grammar issues in fail(9) man page.

Suggested by: Ben Kaduk
Approved by: dfr (mentor)


192908 27-May-2009 zml

fail(9) support:

Add support for kernel fault injection using KFAIL_POINT_* macros and
fail_point_* infrastructure. Add example fail point in vfs_bio.c to
simulate VM buf pressure.

Approved by: dfr (mentor)


192696 24-May-2009 trasz

There are things too complex to be fixed in one commit.
Fix a typo in acl(9) manual page.

Submitted by: avg


192691 24-May-2009 tmclaugh

Update man pages after VFS_* changes in r191990.

Approved by: brueffer, attilio


192690 24-May-2009 trasz

Fix typo in the manual page.


192677 24-May-2009 trasz

Add new constants to the acl(9) manual page.


192536 21-May-2009 jhb

Attempt to clarify some confusing wording regarding atomic_load() and
atomic_store().


192265 17-May-2009 brueffer

Document sbuf_new_auto().

While here, add a missing `-' in phk's name.

MFC after: 3 days


192026 12-May-2009 marius

Correct r190283 (partially reverting it) as on sparc64 BUS_DMA_NOCACHE
actually is only valid for bus_dmamap_load().

MFC after: 3 days


191251 18-Apr-2009 rwatson

Garbage collect man page reference to IFF_NEEDSGIANT.


190915 11-Apr-2009 trasz

Remove 'IMPLEMENTATION NOTES' section from acl(9); it was just a copy/paste
from <sys/acl.h> and it would get out-of-date pretty soon.


190889 10-Apr-2009 rwatson

Remove VOP_LEASE(9) man page, as we no longer have a VOP_LEASE() in the
kernel.


190680 04-Apr-2009 trhodes

Catch up with recent locking changes.

PR: 132546
Submitted by: pluknet <pluknet@gmail.com>
Reviewed by: alc


190573 30-Mar-2009 trasz

Remove pseudocode from VOP_* manual pages. It was out of date anyway.

Reviewed by: scottl
Approved by: rwatson (mentor)


190564 30-Mar-2009 jhb

Add a simple manage for the refcount(9) API.

Requested by: rwatson


190283 22-Mar-2009 rnoland

Correct the documentation to reflect the fact that BUS_DMA_NOCACHE is a
flag to bus_dmamem_alloc() rather than bus_dmamap_load();

Discussed with: kib
MFC after: 3 days


189541 08-Mar-2009 marcus

Document the new default implementation of VOP_VPTOCNP(9).

Approved by: kib


189290 02-Mar-2009 jamie

Extend the "vfsopt" mount options for more general use. Make struct
vfsopt and the vfs_buildopts function public, and add some new fields
to struct vfsopt (pos and seen), and new functions vfs_getopt_pos and
vfs_opterror.

Further extend the interface to allow reading options from the kernel
in addition to sending them to the kernel, with vfs_setopt and related
functions.

While this allows the "name=value" option interface to be used for more
than just FS mounts (planned use is for jails), it retains the current
"vfsopt" name and <sys/mount.h> requirement.

Approved by: bz (mentor)


188917 22-Feb-2009 trasz

Mention disk_gone() in disk(9).

Approved by: rwatson (mentor)


188152 05-Feb-2009 attilio

Remove the assertive KA_HELD and KA_UNHELD as long as they are dangerous,
and not really helpful.


187746 27-Jan-2009 trhodes

Add ENOMEM to the return values.
Remove invalid return values.
Remove reference to non-existent manual pages.
Remove reference to rfork (it does not discuss RFSTOPPED).
Add sys/unistd.h to the list of includes (required for RFSTOPPED).

PR: 126227
Submitted by: Mateusz Guzik <mjguzik@gmail.com> (based on, original version)
Reviewed by: jhb, Christoph Mallon <christoph.mallon@gmx.de>


186953 09-Jan-2009 brueffer

DEBUG_REDZONE needs DDB which needs KDB.

PR: 130324
Submitted by: Jaakko Heinonen <jh@saunalahti.fi>
MFC after: 3 days


186913 08-Jan-2009 brueffer

Language cleanup.


186748 04-Jan-2009 rwatson

Remove reference to pr_ousrreq from domain(9) since it's now gone from
struct protosw.

Submitted by: bz
MFC after: 3 weeks


186714 03-Jan-2009 brueffer

Mdoc and language cleanup.


186438 23-Dec-2008 bz

pr_pfh has been gone from protosw since r120386 (more than 5 years ago).

MFC after: 4 weeks


186224 17-Dec-2008 des

Boot out <sysexits.h> once and for all.

MFC after: 1 week


186194 16-Dec-2008 trasz

According to phk@, VOP_STRATEGY should never, _ever_, return
anything other than 0. Make it so. This fixes
"panic: VOP_STRATEGY failed bp=0xc320dd90 vp=0xc3b9f648",
encountered when writing to an orphaned filesystem. Reason
for the panic was the following assert:
KASSERT(i == 0, ("VOP_STRATEGY failed bp=%p vp=%p", bp, bp->b_vp));
at vfs_bio:bufstrategy().

Reviewed by: scottl, phk
Approved by: rwatson (mentor)
Sponsored by: FreeBSD Foundation


186122 15-Dec-2008 kmacy

re-add accidentally deleted line


186119 15-Dec-2008 qingli

This main goals of this project are:
1. separating L2 tables (ARP, NDP) from the L3 routing tables
2. removing as much locking dependencies among these layers as
possible to allow for some parallelism in the search operations
3. simplify the logic in the routing code,

The most notable end result is the obsolescent of the route
cloning (RTF_CLONING) concept, which translated into code reduction
in both IPv4 ARP and IPv6 NDP related modules, and size reduction in
struct rtentry{}. The change in design obsoletes the semantics of
RTF_CLONING, RTF_WASCLONE and RTF_LLINFO routing flags. The userland
applications such as "arp" and "ndp" have been modified to reflect
those changes. The output from "netstat -r" shows only the routing
entries.

Quite a few developers have contributed to this project in the
past: Glebius Smirnoff, Luigi Rizzo, Alessandro Cerri, and
Andre Oppermann. And most recently:

- Kip Macy revised the locking code completely, thus completing
the last piece of the puzzle, Kip has also been conducting
active functional testing
- Sam Leffler has helped me improving/refactoring the code, and
provided valuable reviews
- Julian Elischer setup the perforce tree for me and has helped
me maintaining that branch before the svn conversion


185961 12-Dec-2008 marcus

Add a man page for VOP_VPTOCNP.

Reviewed by: arch
Approved by: kib


185945 11-Dec-2008 kmacy

Add entry for if_transmit and if_qflush


185474 30-Nov-2008 kib

Clarify the reason to not use the volatile string as an argument to CTR
macros. Note the logging of file and line.

Reviewed by: dchagin
MFC after: 3 days


185362 27-Nov-2008 rwatson

Revert r184509: don't encourage the use of sysexits.h with err() and
errx(),, as there seems to be a general preference against this
practice.

Suggested by: bde, des, jhb


185226 23-Nov-2008 hrs

Remove vfs_mountedon(9) manual page. The vfs_mountedon(9) has been
removed since 2004.


185224 23-Nov-2008 hrs

vn_fullpath(9) does not assume vp is locked by the caller now.


185029 17-Nov-2008 pjd

Update ZFS from version 6 to 13 and bring some FreeBSD-specific changes.

This bring huge amount of changes, I'll enumerate only user-visible changes:

- Delegated Administration

Allows regular users to perform ZFS operations, like file system
creation, snapshot creation, etc.

- L2ARC

Level 2 cache for ZFS - allows to use additional disks for cache.
Huge performance improvements mostly for random read of mostly
static content.

- slog

Allow to use additional disks for ZFS Intent Log to speed up
operations like fsync(2).

- vfs.zfs.super_owner

Allows regular users to perform privileged operations on files stored
on ZFS file systems owned by him. Very careful with this one.

- chflags(2)

Not all the flags are supported. This still needs work.

- ZFSBoot

Support to boot off of ZFS pool. Not finished, AFAIK.

Submitted by: dfr

- Snapshot properties

- New failure modes

Before if write requested failed, system paniced. Now one
can select from one of three failure modes:
- panic - panic on write error
- wait - wait for disk to reappear
- continue - serve read requests if possible, block write requests

- Refquota, refreservation properties

Just quota and reservation properties, but don't count space consumed
by children file systems, clones and snapshots.

- Sparse volumes

ZVOLs that don't reserve space in the pool.

- External attributes

Compatible with extattr(2).

- NFSv4-ACLs

Not sure about the status, might not be complete yet.

Submitted by: trasz

- Creation-time properties

- Regression tests for zpool(8) command.

Obtained from: OpenSolaris


185010 16-Nov-2008 ed

Fix argument layout of devfs_get_cdevpriv().

Right now it shows `void' and `**datap' as two different arguments,
while they belong together.


185004 16-Nov-2008 marius

- For maximum flexibility, sparc64 supports BUS_DMA_COHERENT also
with bus_dmamap_create() and not only bus_dmamem_alloc() so move
the description of this flag up accordingly in order to document
this fact. While at, it refine this description with an application
example.
- Reword the description of BUS_DMA_NOCACHE as this flag is also
implemented on sparc64.

MFC after: 1 week


184690 05-Nov-2008 des

Missing email address

MFC after: 3 weeks


184556 02-Nov-2008 attilio

Reflect changes for the vfs_busy() prototype.


184528 01-Nov-2008 trasz

Remove obsolete pseudocode from VOP_ACCESS.9, replacing it with something
closer to reality.

Approved by: rwatson (mentor)


184509 31-Oct-2008 rwatson

In style(9) examples of err() and errx(), use sysexits(3) errors rather
than returning 1.

Submitted by: Bruce Cran <bruce at cran dot org dot uk>
MFC after: 3 days


184413 28-Oct-2008 trasz

Introduce accmode_t. This is required for NFSv4 ACLs - it will be neccessary
to add more V* constants, and the variables changed by this patch were often
being assigned to mode_t variables, which is 16 bit.

Approved by: rwatson (mentor)


184205 23-Oct-2008 des

Retire the MALLOC and FREE macros. They are an abomination unto style(9).

MFC after: 3 months


184100 20-Oct-2008 attilio

Reflect changes into vinvalbuf(9) prototype.


183442 28-Sep-2008 ed

Several documentation fixups related to device minor/major numbers:

- Document the minor(3), major(3) and makedev(3) macro's. They also
apply to umajor() and uminor() in the kernel, but hopefully we'll sort
that out one day.

- Briefly dev2unit() inside the make_dev(9) manual page, since this is
now the preferred macro to obtain character device unit numbers inside
the kernel.

- Remove the device_ids(9) manual page. It contains highly inaccurate
information, such as a description of the nonexistent major().


183425 28-Sep-2008 imp

Add stronger warning that spl is historical. I almost deleted this
man page entirely, but it is still mildly useful in understanding the
few splxxx usages we still have in the tree.


183382 26-Sep-2008 ed

Rename the `minor' argument of make_dev(9) to `unit'.

To prevent any further confusion about device minor and unit numbers,
we'd better just refer to device unit numbers. Many people still think
the numbers we show inside devfs have any relation to the numbers passed
to make_dev(9), which is not the case.

Discussed with: kib


183113 17-Sep-2008 attilio

Remove the suser(9) interface from the kernel. It has been replaced from
years by the priv_check(9) interface and just very few places are left.
Note that compatibility stub with older FreeBSD version
(all above the 8 limit though) are left in order to reduce diffs against
old versions. It is responsibility of the maintainers for any module, if
they think it is the case, to axe out such cases.

This patch breaks KPI so __FreeBSD_version will be bumped into a later
commit.

This patch needs to be credited 50-50 with rwatson@ as he found time to
explain me how the priv_check() works in detail and to review patches.

Tested by: Giovanni Trematerra <giovanni dot trematerra at gmail dot com>
Reviewed by: rwatson


183056 15-Sep-2008 sam

decription of macros to add ddb commands

Submitted by: Guillaume Ballet <gballet@gmail.com>
MFC after: 1 month


183036 15-Sep-2008 kib

Connect dev_clone.9 and devfs_set_cdevpriv.9 to the build.


182962 12-Sep-2008 kib

Remove unneeded comma.

Noted by: kensmith


182931 11-Sep-2008 kib

Document dev_clone eventhandler interface


182930 11-Sep-2008 kib

Add a first draft of the cdevpriv(9) documentation


182929 11-Sep-2008 kib

Document make_dev_credf(9), destroy_dev_sched(9) and destroy_dev_drain(9)
functions.

Reviewed by: brueffer


182928 11-Sep-2008 kib

Update insmntque(9) manpage, bringing it close to reality.

Reviewed by: brueffer


182816 06-Sep-2008 kib

Document BUS_DMA_NOCACHE.

MFC after: 3 days


182791 05-Sep-2008 emaste

Add a note that CTASSERT() should not be used in header files.


182542 31-Aug-2008 attilio

Decontextualize vfs_busy(), vfs_unbusy() and vfs_mount_alloc() functions.

Manpages are updated accordingly.

Tested by: Diego Sardina <siarodx at gmail dot com>


182378 28-Aug-2008 jkim

Add links to all bpf(9) functions.


182371 28-Aug-2008 attilio

Decontextualize the couplet VOP_GETATTR / VOP_SETATTR as the passed thread
was always curthread and totally unuseful.

Tested by: Giovanni Trematerra <giovanni dot trematerra at gmail dot com>


182039 23-Aug-2008 imp

Document that devlistp and devcountp are only updated when there's no
error.
Bump date.


181394 07-Aug-2008 jhb

Permit Giant to be passed as the explicit interlock either to
msleep/mtx_sleep or the various cv_*wait*() routines. Currently, the
"unlock" behavior of PDROP and cv_wait_unlock() with Giant is not
permitted as it is will be confusing since Giant is fully unrecursed and
unlocked during a thread sleep.

This is handy for subsystems which wish to allow unlocked drivers to
continue to use Giant such as CAM, the new TTY layer, and the new USB
stack. CAM currently uses a hack that I told Scott to use because I
really didn't want to permit this behavior, and the TTY and USB patches
both have various patches to permit this.

MFC after: 2 weeks


181390 07-Aug-2008 jhb

Document the new return values for sleepq_abort(), sleepq_broadcast(), and
sleepq_signal().

Prodded by: attilio


181192 02-Aug-2008 sam

Try to fixup last (inadvertent) commit: firmware_drain was never added so
yank it's description; likewise for the FIRMWARE_WAIT flag to firmware_put.

For the record, the last commit was to cleanup various mistakes and correct
the example of embedding to reflect the npe firmware now being distributed
with the system.


181191 02-Aug-2008 sam

add callout_schedule; besides being useful it also improves
compatibility with other systems

Reviewed by: ed, battlez


180661 21-Jul-2008 pjd

Implement the following macros for completeness:

SYSCTL_QUAD()
SYSCTL_ADD_QUAD()
TUNABLE_QUAD()
TUNABLE_QUAD_FETCH()

Now we can use 64bit tunables on 32bit systems.


180595 18-Jul-2008 dwmalone

Add a man page for the DNS accept filter.


180424 10-Jul-2008 danger

Back-out my previous change. See the thread at
http://lists.freebsd.org/pipermail/cvs-all/2008-July/263779.html


180381 09-Jul-2008 danger

- nested functions are a GCC extensions and should not be used

Submitted by: gahr
MFC after: 3 days


179880 19-Jun-2008 remko

Document the _arg versions of the uma_zalloc and uma_zfree functions.

PR: docs/120357
Submitted by: gahr
MFC after: 3 days


179779 13-Jun-2008 gonzo

It's Friday the 13th, not the 10th and I can't travel in time. Yet.


179778 13-Jun-2008 gonzo

Add "fast" versions of macros and functions to taskqueue(9) API
description: TASKQUEUE_FAST_DEFINE(9), TASKQUEUE_FAST_DEFINE_THREAD(9),
taskqueue_create_fast(9). They deal with taskqueues intended for use
in fast interrupt handlers.

Approved by: cognet (mentor)
Reviewed by: keramida


179694 09-Jun-2008 wkoszek

Mark "highaddr" and "lowaddr" appropriately. Change "dma" to "DMA".

Fix spelling mistage found by rodrigc@.

Reviewed by: rodrigc, danger


179565 05-Jun-2008 attilio

Add the missing option LK_NOWITNESS for vn_lock / VOP_LOCK operations.


179214 22-May-2008 gonzo

Clean out all mentions of struct proc* for it was removed from
taskqueue(9) API more then two years ago.

Approved by: cognet (mentor)


179211 22-May-2008 alc

The function pmap_addr_hint no longer exists. Remove its man page.


178928 10-May-2008 alc

Generalize vm_map_find(9)'s parameter "find_space". Specifically, add
support for VMFS_ALIGNED_SPACE, which requests the allocation of an
address range best suited to superpages. The old options TRUE and FALSE
are mapped to VMFS_ANY_SPACE and VMFS_NO_SPACE, so that there is no
immediate need to update all of vm_map_find(9)'s callers.

While I'm here, correct a misstatement about vm_map_find(9)'s return
values in the man page.


178682 29-Apr-2008 julian

Document the kproc_kthread_add() call
and fix a small detail of its implementation.
MFC after: 1 week


178652 29-Apr-2008 pjd

Fix some section references.


178160 12-Apr-2008 attilio

LK_NOWITNESS can be used now in lockmgr*() functions in order to skip
witness(4) checks on a per-instance basis.


177962 06-Apr-2008 attilio

Commit manpages for lockmgr_args_rw(9) and lockmgr_rw(9).


177915 04-Apr-2008 imp

Add note about PZERO being obsolete, because so much code uses it.
Feel free to improve the verbage, since this was a compromise between
conflicting feedback I got on my original version.


177846 01-Apr-2008 attilio

Add manpages for rw_try_rlock() and rw_try_wlock() functions.


177697 28-Mar-2008 brueffer

Document lockmgr_waiters(9).

Reviewed by: attilio


177608 25-Mar-2008 ru

s/M_TRYWAIT/M_WAIT/


177599 25-Mar-2008 ru

Replaced the misleading uses of a historical artefact M_TRYWAIT with M_WAIT.
Removed dead code that assumed that M_TRYWAIT can return NULL; it's not true
since the advent of MBUMA.

Reviewed by: arch

There are ongoing disputes as to whether we want to switch to directly using
UMA flags M_WAITOK/M_NOWAIT for mbuf(9) allocation.


177303 17-Mar-2008 brueffer

Bah, missed one instance in the previous commit. Correct bpf
data-link type here as well.

PR: 121477


177302 17-Mar-2008 brueffer

Correct bpf data-link type.

PR: 121477
Submitted by: Sam Banks
MFC after: 3 days


177276 16-Mar-2008 pjd

Implement atomic_fetchadd_long() for all architectures and document it.

Reviewed by: attilio, jhb, jeff, kris (as a part of the uidinfo_waitfree.patch)


177260 16-Mar-2008 pjd

Implement soon-to-be-used rw_unlock() macro.


177259 16-Mar-2008 pjd

Add missing .El.


177168 14-Mar-2008 rwatson

Add stack_print_ddb() to the synposis of stack(9), add mlink for it; fix
stack_print(9) mlink.

Spotted by: attilio


176966 09-Mar-2008 imp

Document all the BUS_PROBE_* values.

Note to the mdoc gods: This may need some teaks.


176911 07-Mar-2008 rwatson

Minor spelling/grammer fixes.

MFC after: 3 days


176746 02-Mar-2008 brueffer

New sentence -> new line.


176713 01-Mar-2008 attilio

Fix lockstatus sorting on the top list.


176712 01-Mar-2008 attilio

Connect lockmgr_args(9) to the build.


176711 01-Mar-2008 attilio

- Add the informations for lockmgr_args(9)
- Sort rightly lockstatus(9) in the manpage


176710 01-Mar-2008 attilio

Update lockmgr manpage with last lockmgr modifies:
- Remove LK_SLEEPFAIL and LK_NOWAIT for lockinit() and add LK_QUIET and
LK_NOPROFILE
- Include sys/lock.h as mandatory for the lockmgr support


176616 26-Feb-2008 brueffer

Spell out the name of the month, normalize copyright layout.


176612 26-Feb-2008 davidc

Add vfs_mountedfrom.9 to the build.


176611 26-Feb-2008 davidc

Add new man page.


176610 26-Feb-2008 davidc

Add insmntque.9 to the build.


176609 26-Feb-2008 davidc

Add new man page.


176608 26-Feb-2008 davidc

Link vholdl.9 to vhold.9


176606 26-Feb-2008 davidc

Document vholdl(9)
No longer refer to vbusy(9) or vfree(9)


176605 26-Feb-2008 davidc

Refer to vrefcnt(9)


176604 26-Feb-2008 davidc

Minor grammar fixup.


176603 26-Feb-2008 davidc

Add vrefcnt.9 to the build.


176602 26-Feb-2008 davidc

Add new man page.


176562 25-Feb-2008 attilio

Modify VOP_ISLOCKED() and lockstatus() prototypes in order to reflect
'thread' argument axing.


176324 15-Feb-2008 danger

- fix typo

Submitted by: Constantine A. Murenin <cnst@FreeBSD.org>
MFC after: 3 days


176288 14-Feb-2008 brueffer

Some language and mdoc style improvements.


176253 13-Feb-2008 attilio

Update manpage with lockmgr_assert() description.


176230 13-Feb-2008 brueffer

Remove dublicate MLINK.

Submitted by: David Naylor <blackdragon@highveldmail.co.za>


176016 06-Feb-2008 attilio

Update manpage in order to reflect LK_NODUP and LK_NOWITNESS options
introduction.


175872 01-Feb-2008 phk

Give MEXTADD() another argument to make both void pointers to the
free function controlable, instead of passing the KVA of the buffer
storage as the first argument.

Fix all conventional users of the API to pass the KVA of the buffer
as the first argument, to make this a no-op commit.

Likely break the only non-convetional user of the API, after informing
the relevant committer.

Update the mbuf(9) manual page, which was already out of sync on
this point.

Bump __FreeBSD_version to 800016 as there is no way to tell how
many arguments a CPP macro needs any other way.

This paves the way for giving sendfile(9) a way to wait for the
passed storage to have been accessed before returning.

This does not affect the memory layout or size of mbufs.

Parental oversight by: sam and rwatson.

No MFC is anticipated.


175710 27-Jan-2008 obrien

Add to the history section.


175639 24-Jan-2008 attilio

Reflect lockcount() axing and lockmgr() prototype changing.


175578 22-Jan-2008 attilio

Add manpages for BUF_RECURSED(9) and BUF_ISLOCKED(9) and connect them to
the build.

Reviewed by: brueffer


175577 22-Jan-2008 attilio

Add the newly added function lockmgr_recursed() to the manpages.


175575 22-Jan-2008 attilio

BUF_REFCNT(9) function no more exists, so just axe out the manpage.


175574 22-Jan-2008 attilio

Fix lock.9 manpage in order to recall lockmgr_disown() with 'man' command.


175464 18-Jan-2008 attilio

Update VOP_LOCK() and VOP_UNLOCK() prototypes.
Leave 'td' argument description as it is used by VOP_ISLOCKED(). It will
be axed in further commit.


175253 12-Jan-2008 maxim

o .Dd.year++.


175247 12-Jan-2008 maxim

o Do not claim vlan(4) uses mbuf_tags(9).

PR: docs/11959
Submitted by: Alexander Chernikov
MFC after: 1 week


175216 10-Jan-2008 brueffer

Removed a contraction.


175203 10-Jan-2008 attilio

Update vn_lock() prototype accordingly with the 'thread' argument removal.


175173 09-Jan-2008 brueffer

Fix typos.


175169 09-Jan-2008 attilio

Add lockmgr_disown() and relative explanation.


175108 05-Jan-2008 grog

"redacted" replaced for clarity.


174951 28-Dec-2007 attilio

Trimm out now unused option LK_EXCLUPGRADE from the lockmgr namespace.
This option just adds complexity and the new implementation no longer
will support it, so axing it now that it is unused is probabilly the
better idea.

FreeBSD version is bumped in order to reflect the KPI breakage introduced
by this patch.

In the ports tree, kris found that only old OSKit code uses it, but as
it is thought to work only on 2.x kernels serie, version bumping will
solve any problem.


174946 27-Dec-2007 attilio

Garbage-collect following nomore existing options:
- LK_REENABLE
- LK_NOPAUSE
- LK_NOOBJ


174784 19-Dec-2007 rwatson

Use .An -nosplit in the AUTHORS section of sf_buf(9) to avoid an undesired
line break.

MFC after: 3 days


174770 19-Dec-2007 brueffer

Add missing section number.


174762 19-Dec-2007 imp

Add verbage on some of the rules for a 'filter' vs an 'ithread'
interrupt handler.


174195 02-Dec-2007 rwatson

Break out stack(9) from ddb(4):

- Introduce per-architecture stack_machdep.c to hold stack_save(9).
- Introduce per-architecture machine/stack.h to capture any common
definitions required between db_trace.c and stack_machdep.c.
- Add new kernel option "options STACK"; we will build in stack(9) if it is
defined, or also if "options DDB" is defined to provide compatibility
with existing users of stack(9).

Add new stack_save_td(9) function, which allows the capture of a stacktrace
of another thread rather than the current thread, which the existing
stack_save(9) was limited to. It requires that the thread be neither
swapped out nor running, which is the responsibility of the consumer to
enforce.

Update stack(9) man page.

Build tested: amd64, arm, i386, ia64, powerpc, sparc64, sun4v
Runtime tested: amd64 (rwatson), arm (cognet), i386 (rwatson)


174137 01-Dec-2007 rwatson

Modify stack(9) stack_print() and stack_sbuf_print() routines to use new
linker interfaces for looking up function names and offsets from
instruction pointers. Create two variants of each call: one that is
"DDB-safe" and avoids locking in the linker, and one that is safe for
use in live kernels, by virtue of observing locking, and in particular
safe when kernel modules are being loaded and unloaded simultaneous to
their use. This will allow them to be used outside of debugging
contexts.

Modify two of three current stack(9) consumers to use the DDB-safe
interfaces, as they run in low-level debugging contexts, such as inside
lockmgr(9) and the kernel memory allocator.

Update man page.


174078 29-Nov-2007 rwatson

Add description of stack_print() and MLINK.


174017 28-Nov-2007 rwatson

Fix spelling of stack_capture() to stack_save().


173979 27-Nov-2007 rwatson

Add a man page for stack(9).

MFC after: 1 week


173940 26-Nov-2007 brueffer

Bump .Dd for previous revision.


173906 25-Nov-2007 brueffer

Clean up after previous revision.


173888 25-Nov-2007 attilio

Update sx(9) lock manpage in order to add missing prototypes for function
sx_slock_sig() and sx_xlock_sig() and their respective explanation.


173887 25-Nov-2007 attilio

Update rwlock(9) manpage adding missing bits about the rw_init_flags()
function, its options and explaining that recursion for writers can be
selectively enabled.

Reported by: rwatson, Skip Ford <skip at menantico dot com>


173779 20-Nov-2007 gabor

- Add callout_init_rw.9 to MLINKS of timeout.9

Forgotten by: gabor
Reminded by: ru


173778 20-Nov-2007 gabor

- Document newly added callout_init_rw function

Requested by: attilio
Reviewed by: attilio


173591 13-Nov-2007 ru

Sort.


173560 11-Nov-2007 brueffer

More cleanup.


173523 10-Nov-2007 rwatson

Hook up rmlock(9) and its links to the build.


173520 10-Nov-2007 rwatson

Add rm_wowned(9) function to test whether the current thread owns an
exclusive lock on the passed rmlock.

Reviewed by: ups


173512 10-Nov-2007 hmp

Clean up the rmlock(9) manual page:

* Correct spelling and grammar
* Re-structure sentences in BUGS section for legibility
* Break long lines appropriately
* Break lines at full stops
* Add mdoc(9) commands where applicable
* Remove superfluous .Ft in the SYNOPSIS section
* Various other mdoc(9) fixes


173444 08-Nov-2007 ups

Initial checkin for rmlock (read mostly lock) a multi reader single writer
lock optimized for almost exclusive reader access. (see also rmlock.9)

TODO:
Convert to per cpu variables linkerset as soon as it is available.
Optimize UP (single processor) case.


173193 30-Oct-2007 keramida

mdoc fix: Add missing .El request

MFC after: 3 days


173030 26-Oct-2007 julian

Doc police fixes

thanks to: ru@


173016 26-Oct-2007 ru

Sort MLINKS.


173007 26-Oct-2007 julian

catch up with the code.


172839 21-Oct-2007 julian

Note the temporary removal of these functions.


172838 21-Oct-2007 julian

This was kthread.9
it has been duplicated to kproc.9

kthread.9 will continue on to describe the coming kthread_xxx
functions which will actually make threads.


172674 15-Oct-2007 netchild

Backout sensors framework.

Requested by: phk
Discussed on: cvs-all


172648 14-Oct-2007 ru

Fix mdoc.


172631 14-Oct-2007 netchild

Import OpenBSD's sysctl hardware sensors framework.

This commit includes the following core components:

* sample configuration file for sensorsd
* rc(8) script and glue code for sensorsd(8)
* sysctl(3) doc fixes for CTL_HW tree
* sysctl(3) documentation for hardware sensors
* sysctl(8) documentation for hardware sensors
* support for the sensor structure for sysctl(8)
* rc.conf(5) documentation for starting sensorsd(8)
* sensor_attach(9) et al documentation
* /sys/kern/kern_sensors.c
o sensor_attach(9) API for drivers to register ksensors
o sensor_task_register(9) API for the update task
o sysctl(3) glue code
o hw.sensors shadow tree for sysctl(8) internal magic
* <sys/sensors.h>
* HW_SENSORS definition for <sys/sysctl.h>
* sensors display for systat(1), including documentation
* sensorsd(8) and all applicable documentation

The userland part of the framework is entirely source-code
compatible with OpenBSD 4.1, 4.2 and -current as of today.

All sensor readings can be viewed with `sysctl hw.sensors`,
monitored in semi-realtime with `systat -sensors` and also
logged with `sensorsd`.

Submitted by: Constantine A. Murenin <cnst@FreeBSD.org>
Sponsored by: Google Summer of Code 2007 (GSoC2007/cnst-sensors)
Mentored by: syrinx
Tested by: many
OKed by: kensmith
Obtained from: OpenBSD (parts)


172456 05-Oct-2007 marius

Add an MLINKS for pci_find_dbsf.9.

Submitted by: ru
Approved by: re (gnn)


172394 30-Sep-2007 marius

Make the PCI code aware of PCI domains (aka PCI segments) so we can
support machines having multiple independently numbered PCI domains
and don't support reenumeration without ambiguity amongst the
devices as seen by the OS and represented by PCI location strings.
This includes introducing a function pci_find_dbsf(9) which works
like pci_find_bsf(9) but additionally takes a domain number argument
and limiting pci_find_bsf(9) to only search devices in domain 0 (the
only domain in single-domain systems). Bge(4) and ofw_pcibus(4) are
changed to use pci_find_dbsf(9) instead of pci_find_bsf(9) in order
to no longer report false positives when searching for siblings and
dupe devices in the same domain respectively.
Along with this change the sole host-PCI bridge driver converted to
actually make use of PCI domain support is uninorth(4), the others
continue to use domain 0 only for now and need to be converted as
appropriate later on.
Note that this means that the format of the location strings as used
by pciconf(8) has been changed and that consumers of <sys/pciio.h>
potentially need to be recompiled.

Suggested by: jhb
Reviewed by: grehan, jhb, marcel
Approved by: re (kensmith), jhb (PCI maintainer hat)


172380 28-Sep-2007 gabor

- Change the description of sleepq_add(), sleepq_broadcast() and
sleepq_signal() to reflect recent changes

Submitted by: attilio
Approved by: re (bmah)


172254 20-Sep-2007 gabor

- Fix a declaration example

PR: docs/115632
Submitted by: Romain Tartiere <romain@blogreen.org>
Approved by: re (bmah)
MFC after: 3 days


172247 19-Sep-2007 brueffer

Update the table of supported algorithms:

- Group hash functions together and sort
- Add CRYPTO_CAMELLIA_CBC (1)

PR: 116471
Submitted by: Philip Schulz <phs@deadc0.de> (1)
Approved by: re (blanket)


172053 05-Sep-2007 rwatson

Add MLINKS entries for various SYSCTL_*() macros documented in sysctl.9.

Approved by: re (bmah)
Submitted by: Constantine A. Murenin <cnst+freebsd@bugmail.mojo.ru>
Sponsored by: Google Summer of Code 2007


172019 30-Aug-2007 danger

- Fix include path, these functions were moved to sys/priv.h.

Approved by: re (bmah)
Submitted by: sbahra@hpcl.seas.gwu.edu (via #bsddocs@EFnet)
Pointy hat to: rwatson


171798 09-Aug-2007 julian

Corrections and clarifications

Approved by: re (bmah)


171726 05-Aug-2007 maxim

o round-type -> round-trip.

PR: docs/115082
Submitted by: Jordan Gordeev
Approved by: re (kensmith)
MFC after: 1 week


171632 27-Jul-2007 remko

Update the sysctl_ctx_init(9) manual page with the following
information from the submitter:

Starting value for OID_AUTO was changed from 100 to 256 (0x100) in
kern/kern_sysctl.c#rev1.112 on 2001-07-25, and defined as
CTL_AUTO_START in sys/sysctl.h#rev1.98.

Submitted by: cnst
Silence from: #bsddocs on efnet
MFC After: 3 days
Approved by: re (bmah)


171503 19-Jul-2007 alc

Document support for M_NOWAIT by the new implementation of contigmalloc(9)
in HEAD.

Approved by: re (hrs)
Reviewed by: Michael Plass


171498 19-Jul-2007 flz

Note that module should return EOPNOTSUPP for both unrecognized
*and* unsupported values of `what'.

Submitted by: kevlo
Discussed on: cvs-doc@
Approved by: re (hrs)
MFC after: 3 days


171315 09-Jul-2007 jmg

document the call to wakeup after a task has been run...

Approved by: re (hrs)
MFC after: 3 days


171131 01-Jul-2007 thompsa

Remove wicontrol(8) from the base system. Using wicontrol to configure an
interface has been deprecated since 5.1, wi(4) wireless interfaces are managed
via the net80211 stack and ifconfig.

Approved by: re (rwatson)


171058 26-Jun-2007 rwatson

Update suser(9) and priv(9) to document that the 'flags' argument is now
unused -- SUSER_RUID and SUSER_ALLOWJAIL are no longer defined or used.

Approved by: re (bmah)


170970 21-Jun-2007 brueffer

Remove duplicate xref and add missing commas.

PR: 113891
Submitted by: pluknet <pluknet@gmail.com>
Approved by: re (blanket)


170742 14-Jun-2007 njl

The struct selinfo pointed to by *sip MUST be zeroed before calling
selrecord() or selwake*(). Otherwise, a panic may occur.

MFC after: 1 day


170344 05-Jun-2007 imp

bump date for 1.20


170343 05-Jun-2007 imp

Add note about condvars not working with spin locks.


170323 05-Jun-2007 kib

Update man page for VOP_OPEN() after fdidx->fp conversion.

Reminded by: ru


170215 02-Jun-2007 remko

Correct the referenced securelevel document, it's now securelevel 7.

Pointed out by: ru


170177 01-Jun-2007 delphij

Markup fixes.


170142 31-May-2007 imp

Giant is special. How do I love thee? Let me count the ways?

errr, I mean "Enumerate how the giant lock differs from other locks"

Please let me know if I missed any. Or misrepresented any...

Reviewed by: ssouhlal@


170034 27-May-2007 imp

Improve both the PCI and PC Card descriptions of the RID.


169780 19-May-2007 jhb

Rename the macros for assertion flags passed to sx_assert() from SX_* to
SA_* to match mutexes and rwlocks. The old flags still exist for
backwards compatiblity.

Requested by: attilio


169777 19-May-2007 jhb

Document sx_xholder().


169770 19-May-2007 jhb

Document SX_RECURSE flag.


169543 13-May-2007 thompsa

Link the defunct MUTEX_PROFILING option to LOCK_PROFILING.


169503 12-May-2007 pav

Remove cred argument, which was removed from code by phk two years ago

PR: docs/110200
Submitted by: Jamie Jones <jamie@bishopston.net>
MFC after: 1 week


169401 09-May-2007 brueffer

Bump date for previous commit, also new sentence -> new line.


169322 06-May-2007 jmg

Document the additional fields, si_drv1 and si_drv2 that are available
for the user to use...

MFC after: 1 week


169308 06-May-2007 wkoszek

Add missing 'bp', since it should be passed as g_print_bio() argument.

Oked by: pjd


169285 05-May-2007 pjd

- Extend disk structure to allow to store disk's serial number, which can be
retrieved via GEOM::ident attribute.
- Bump disk(9) ABI version.

OK'ed by: phk


169101 29-Apr-2007 jmg

Document requirements to calling rman_init... (Hmmm, maybe we should make
these areguments to rman_init?)

MFC after: 1 week


169075 28-Apr-2007 jmg

Complete removal of restriction about overlaps to rman_manage_region:
remove comment and man page verbage...

Document return values for rman_init and rman_manage_region..

MFC after: 1 week


168908 20-Apr-2007 brueffer

Xref linsysfs(5).

MFC after: 3 days


168557 09-Apr-2007 thompsa

Fix a compiler warning so hash.h can be included in the kernel. This changes
the args for hash32_stre and hash32_strne but there are no consumers in the
base system and openbgpd does not use it which the initial import was for.

Silence on: hackers


168398 05-Apr-2007 pjd

Bump date.


168396 05-Apr-2007 pjd

Add security.jail.mount_allowed sysctl, which allows to mount and
unmount jail-friendly file systems from within a jail.
Precisely it grants PRIV_VFS_MOUNT, PRIV_VFS_UNMOUNT and
PRIV_VFS_MOUNT_NONUSER privileges for a jailed super-user.
It is turned off by default.

A jail-friendly file system is a file system which driver registers
itself with VFCF_JAIL flag via VFS_SET(9) API.
The lsvfs(1) command can be used to see which file systems are
jail-friendly ones.

There currently no jail-friendly file systems, ZFS will be the first one.
In the future we may consider marking file systems like nullfs as
jail-friendly.

Reviewed by: rwatson


168203 01-Apr-2007 maxim

o Document vdropl(9) [1].
o Add an MLINK for vdropl().

Reviewed by: des [1]
Obtained from: wording from vgone(9)


168191 31-Mar-2007 jhb

Optimize sx locks to use simple atomic operations for the common cases of
obtaining and releasing shared and exclusive locks. The algorithms for
manipulating the lock cookie are very similar to that rwlocks. This patch
also adds support for exclusive locks using the same algorithm as mutexes.

A new sx_init_flags() function has been added so that optional flags can be
specified to alter a given locks behavior. The flags include SX_DUPOK,
SX_NOWITNESS, SX_NOPROFILE, and SX_QUITE which are all identical in nature
to the similar flags for mutexes.

Adaptive spinning on select locks may be enabled by enabling the
ADAPTIVE_SX kernel option. Only locks initialized with the SX_ADAPTIVESPIN
flag via sx_init_flags() will adaptively spin.

The common cases for sx_slock(), sx_sunlock(), sx_xlock(), and sx_xunlock()
are now performed inline in non-debug kernels. As a result, <sys/sx.h> now
requires <sys/lock.h> to be included prior to <sys/sx.h>.

The new kernel option SX_NOINLINE can be used to disable the aforementioned
inlining in non-debug kernels.

The size of struct sx has changed, so the kernel ABI is probably greatly
disturbed.

MFC after: 1 month
Submitted by: attilio
Tested by: kris, pjd


168071 30-Mar-2007 julian

Add some cross references to locking.9 from related pages.


168066 30-Mar-2007 julian

Connect the locking man page to the build.
Next step is to add it as a "See Also" to related man pages.


168008 28-Mar-2007 brueffer

New sentence -> new line


167971 28-Mar-2007 maxim

o Trim unneeded backslash.


167970 28-Mar-2007 maxim

o Actually add MLINKs for priv(9) functions.


167953 27-Mar-2007 n_hibma

Clarify the definition of the watchdog kernel interface by moving a sentence up
to the sentence it references.


167952 27-Mar-2007 brueffer

Add MLINKs for priv(9) functions.


167789 21-Mar-2007 jhb

Rename the cv_*wait*() functions to _cv_*wait*() and change their second
argument from a mutex to a lock_object. Add cv_*wait*() wrapper macros
that accept either a mutex, rwlock, or sx lock as the second argument and
convert it to a lock_object and then call _cv_*wait*(). Basically, the
visible difference is that you can now use rwlocks and sx locks with
condition variables using the same API as with mutexes.


167697 19-Mar-2007 delphij

- Remove an unneeded comma
- Remove a redundant .Xc
- Spell "Largely" as it should.


167680 18-Mar-2007 julian

More corrections, this time from Wojciech Koszek


167679 18-Mar-2007 julian

Spelling and whitespace fixes from Dunne Whitty


167574 14-Mar-2007 brueffer

Fix markup and reword a sentence to actually make sense.


167564 14-Mar-2007 julian

fix braino in markup.


167554 14-Mar-2007 bms

Remove obsolete polling members from documentation for struct ifnet.

Submitted by: Aniruddha Bohra
MFC after: 5 days


167523 14-Mar-2007 julian

More suggestions from pjd.


167522 14-Mar-2007 julian

Some comments from pjd


167519 14-Mar-2007 julian

Add locking.9
This is supposed to be a brief overview of the locking primatives.
It is not yet complete and contains many place-holders for information
I do not know.

The locking is getting so diverse that I've lost track of it all.
We need this page to keep outselves in sync with what the primitives do.

note.. not part of the build yet.


167498 13-Mar-2007 grog

Typo.


167387 09-Mar-2007 jhb

Allow threads to atomically release rw and sx locks while waiting for an
event. Locking primitives that support this (mtx, rw, and sx) now each
include their own foo_sleep() routine.
- Rename msleep() to _sleep() and change it's 'struct mtx' object to a
'struct lock_object' pointer. _sleep() uses the recently added
lc_unlock() and lc_lock() function pointers for the lock class of the
specified lock to release the lock while the thread is suspended.
- Add wrappers around _sleep() for mutexes (mtx_sleep()), rw locks
(rw_sleep()), and sx locks (sx_sleep()). msleep() still exists and
is now identical to mtx_sleep(), but it is deprecated.
- Rename SLEEPQ_MSLEEP to SLEEPQ_SLEEP.
- Rewrite much of sleep.9 to not be msleep(9) centric.
- Flesh out the 'RETURN VALUES' section in sleep.9 and add an 'ERRORS'
section.
- Add __nonnull(1) to _sleep() and msleep_spin() so that the compiler will
warn if you try to pass a NULL wait channel. The functions already have
a KASSERT to that effect.


167377 09-Mar-2007 jhb

Document SLEEPQ_PAUSE.


167376 09-Mar-2007 jhb

Oof, it is not my day. Unswap the descriptions of EINTR and ERESTART.


167375 09-Mar-2007 jhb

Fix a typo in the last that claimed that only masked signals were caught.


167374 09-Mar-2007 jhb

Correct descriptions of EINTR and ERESTART errors. Masked signals don't
interrupt sleeps. Rather, unmasked signals interrupt restarts and can
either interrupt the system call by having it return EINTR in userland or
force the system call to be restarted.


167373 09-Mar-2007 jhb

- Document cv_wait_unlock(9).
- Don't claim that the mutex is atomically reacquired when a cv_wait
routine returns. There's nothing atomic or magical about the lock
reacquire. The only magic is that we atomically drop the lock by
placing the thread on the sleep queue before dropping the lock.


167372 09-Mar-2007 jhb

Place mtx_destroy() and rw_destroy() right after mtx_init() and rw_init()
to match sx(9) and condvar(9).


167371 09-Mar-2007 jhb

- Sort functions in the order that rwlock(9) and mutex(9) use.
- Markup sx_unlock() as a function rather than saying it is a macro.
The macro part is an implementation detail, and all the other sx_*lock()
functions are actually macros, too.
- Use the same style as rwlock(9) and mutex(9) to markup sx_assert() and
SX_SYSINIT() with respect to headers and kernel options.
- Add a missing MLINK.


167370 09-Mar-2007 jhb

- Sort rwlock functions similar to the order in mutex(9).
- Add a missing MLINK.


167274 06-Mar-2007 jhb

Some minor tweaks and updates to bus_dma(9) including some additional notes
on the address filter and locking callback.

Reviewed by: ru, scottl


167259 06-Mar-2007 mckusick

Move macros describing extended attributes in UFS from
<sys/extattr.h> to <ufs/ufs/extattr.h>. Move description
of extended attributes in UFS from man9/extattr.9 to
man5/fs.5.

Note that restore will not compile until <sys/extattr.h>
and <ufs/ufs/extattr.h> have been updated.

Suggested by: Robert Watson


167218 05-Mar-2007 grog

Another typo.

Spotted by: ru
Another pointy hat to: grog


167215 05-Mar-2007 grog

Cosmetics: remove trailing white space, wrap over-long lines.

Pointy hat to: grog


167213 04-Mar-2007 grog

Rearrange function descriptions in more logical order.
Be less alarmist about the dangers of abusing wakeup_one().

Requested by: kris, imp


167207 04-Mar-2007 ru

Markup polishing.


167176 02-Mar-2007 davidc

Add vfs_getopt.9 to the build, and add links for related functions.


167175 02-Mar-2007 davidc

Document the mount option handling functions.

Reviewed By: ru


167144 01-Mar-2007 ru

Remove trailing spaces and make the date canonical.


167129 28-Feb-2007 piso

Update bus_setup_intr() man page after recent newbus modification:

o uniform the driver_intr_t parameter name to 'ithread'

o delete any reference to INTR_FAST

o document a bit the difference between the filter and ithread
argument

Reviewed by: mdoc-police (ru)


167094 27-Feb-2007 grog

Furhter clarifications:

- the issues with wakeup_one are due to address space clashes between
unrelated groups of threads.
- sleep() was removed in FreeBSD 2.2.
- date the page today, not 4 days ago.
- replace grammatically correct "woken" with "woken up" for
consistency with the function name.


167076 27-Feb-2007 jhb

In FreeBSD 5.x+, sleep/wakeup operate on threads, not processes.


167075 27-Feb-2007 ru

Fix markup and grammar bugs in recent revisions.


167053 27-Feb-2007 grog

Update HISTORY.

Reviewed by: dmr


167049 27-Feb-2007 grog

Add warning about deadlocks created by use of wakeup_one.


167026 26-Feb-2007 rwatson

Add rw_wowned(9) symlink.


167025 26-Feb-2007 rwatson

Update rwlock(9) for rw_wowned().


167018 26-Feb-2007 bms

Document m_pulldown().

Obtained from: MBUF issues in 4.4BSD IPv6/IPsec support (itojun)


167010 26-Feb-2007 mckusick

Declare a `struct extattr' that defines the format of an extended
attribute. Also define some macros to manipulate one of these
structures. Explain their use in the extattr.9 manual page.

The next step will be to make a sweep through the kernel replacing
the old pointer manipulation code. To get an idea of how they would
be used, the ffs_findextattr() function in ufs/ffs/ffs_vnops.c is
currently written as follows:

/*
* Vnode operating to retrieve a named extended attribute.
*
* Locate a particular EA (nspace:name) in the area (ptr:length), and return
* the length of the EA, and possibly the pointer to the entry and to the data.
*/
static int
ffs_findextattr(u_char *ptr, u_int length, int nspace, const char *name,
u_char **eap, u_char **eac)
{
u_char *p, *pe, *pn, *p0;
int eapad1, eapad2, ealength, ealen, nlen;
uint32_t ul;

pe = ptr + length;
nlen = strlen(name);

for (p = ptr; p < pe; p = pn) {
p0 = p;
bcopy(p, &ul, sizeof(ul));
pn = p + ul;
/* make sure this entry is complete */
if (pn > pe)
break;
p += sizeof(uint32_t);
if (*p != nspace)
continue;
p++;
eapad2 = *p++;
if (*p != nlen)
continue;
p++;
if (bcmp(p, name, nlen))
continue;
ealength = sizeof(uint32_t) + 3 + nlen;
eapad1 = 8 - (ealength % 8);
if (eapad1 == 8)
eapad1 = 0;
ealength += eapad1;
ealen = ul - ealength - eapad2;
p += nlen + eapad1;
if (eap != NULL)
*eap = p0;
if (eac != NULL)
*eac = p;
return (ealen);
}
return(-1);
}

After applying the structure and macros, it would look like this:

/*
* Vnode operating to retrieve a named extended attribute.
*
* Locate a particular EA (nspace:name) in the area (ptr:length), and return
* the length of the EA, and possibly the pointer to the entry and to the data.
*/
static int
ffs_findextattr(u_char *ptr, u_int length, int nspace, const char *name,
u_char **eapp, u_char **eac)
{
struct extattr *eap, *eaend;

eaend = (struct extattr *)(ptr + length);
for (eap = (struct extattr *)ptr; eap < eaend; eap = EXTATTR_NEXT(eap)){
/* make sure this entry is complete */
if (EXTATTR_NEXT(eap) > eaend)
break;
if (eap->ea_namespace != nspace ||
eap->ea_namelength != length ||
bcmp(eap->ea_name, name, length))
continue;
if (eapp != NULL)
*eapp = eap;
if (eac != NULL)
*eac = EXTATTR_CONTENT(eap);
return (EXTATTR_CONTENT_SIZE(eap));
}
return(-1);
}

Not only is it considerably shorter, but it hopefully more readable :-)


166966 25-Feb-2007 ru

Remove the traces of vm_page_unmanage().


166908 23-Feb-2007 jhb

Add a new kernel sleep function pause(9). pause(9) is for places that
want an equivalent of DELAY(9) that sleeps instead of spins. It accepts
a wmesg and a timeout and is not interrupted by signals. It uses a private
wait channel that should never be woken up by wakeup(9) or wakeup_one(9).

Glanced at by: phk


166867 21-Feb-2007 rwatson

Refine implementation notes for priv(9): clarify ABI comments, mention
updating Jail's list of privileges.


166794 16-Feb-2007 pjd

VFS_VPTOFH(9) was replaced with VOP_VPTOFH(9).
VFS_VPTOFH.9 was repo-copied to VOP_VPTOFH.9.

Repo-copy done by: joe


166763 15-Feb-2007 luigi

remove some leftover text and update the text to match the current version
of the code.


166751 15-Feb-2007 rwatson

Expand history and authors section of mbuf.9 man page to discuss recent
transition to mbuma (FreeBSD 5.3) and the fact that mbufs are now limited
almost entirely to packet storage, with straight UMA zones being used for
most other network data types.


166662 12-Feb-2007 jhb

MLINK for bus_dmamap_load_mbuf_sg(9)


166611 09-Feb-2007 brueffer

There is no isa(4) manpage, convert to normal text an join lines.

PR: 108980
Submitted by: Yonatan


166607 09-Feb-2007 brueffer

Remove Xref to owi(4), it's dead and gone.

PR: 108980
Submitted by: Yonatan


166605 09-Feb-2007 luigi

Document a little more the firmware subsystem.
Apart from minor cleanup of the text, it should document
in reasonable detail what the status of the code is.
RELENG_6 has some minor differences there in the way automatic
loading/unloading is handled, but hopefully this should be
fixed by MFC time.

The examples come from Max Laier and Sam Leffler.

MFC after: 1 week


166365 31-Jan-2007 rwatson

s/software was developed/documentation was written/

Suggested by: ru


166328 29-Jan-2007 rwatson

Add MLINKS for sf_buf.9.


166323 28-Jan-2007 joel

Line break before "All rights reserved" in the license example.

Reveiwed by: bde, rwatson


166310 28-Jan-2007 rwatson

Update pmap_extract() implementation notes: we appear no longer to serialize
this call with Giant on any platform.


166309 28-Jan-2007 rwatson

Add a rudimentary man page for sf_bufs, based on my rudimentary
understanding of sf_bufs.


166307 28-Jan-2007 rwatson

Fix minor type: "struct disk *" instead of "struct *disk".

MFC after: 3 days


166288 27-Jan-2007 ru

Fix grammar [1] and formatting.

Submitted by: pluknet AT gmail DOT com [1]


166284 27-Jan-2007 rwatson

Add a missing verb in describing MAP_PREFAULT_MADVISE.


166022 15-Jan-2007 rrs

Reviewed by: rwatson
Approved by: gnn

Add a new function hashinit_flags() which allows NOT-waiting
for memory (or waiting). The old hashinit() function now
calls hashinit_flags(..., HASH_WAITOK);


165909 09-Jan-2007 imp

Julian says that he doesn't need the advertising clause, so out it goes.


165649 29-Dec-2006 jmg

Some how the d slipped out in the last commit, add it back...

Pointed out by: mdoc-police (ru)


165606 28-Dec-2006 jmg

bump doc date and fix spelling...

Pointed out by: mdoc-police (ru)


165589 28-Dec-2006 jmg

document that locks must not be aquired in f_event... (and where they
can be safely aquired)

Reminded by: kib (by LOR #193)
MFC: 3 days


165453 21-Dec-2006 pjd

Document MTX_NOPROFILE flag.


165282 16-Dec-2006 rwatson

Reference socket(9) from ng_ksocket(4). Reference ng_ksocket(4),
ithread(9), msleep(9), ucred(9) from socket(9).

Partly suggested by: julian


165264 15-Dec-2006 rwatson

Add a basic man page for the socket(9) kernel programming interface used
by the NFS client and server, netsmb, netncp, etc.

Reviewed by: ru
Fixed by: ru


165260 15-Dec-2006 n_hibma

Align the interfaces for the various watchdogs and make the interface
behave as expected.

Also:
- Return an error if WD_PASSIVE is passed in to the ioctl as only
WD_ACTIVE is implemented at the moment. See sys/watchdog.h for an
explanation of the difference between WD_ACTIVE and WD_PASSIVE.
- Remove the I_HAVE_TOTALLY_LOST_MY_SENSE_OF_HUMOR define. If you've
lost your sense of humor, than don't add a define.

Specific changes:

i80321_wdog.c
Don't roll your own passive watchdog tickle as this would defeat the
purpose of an active (userland) watchdog tickle.

ichwd.c / ipmi.c:
WD_ACTIVE means active patting of the watchdog by a userland process,
not whether the watchdog is active. See sys/watchdog.h.

kern_clock.c:
(software watchdog) Remove a check for WD_ACTIVE as this does not make
sense here. This reverts r1.181.


165213 14-Dec-2006 mpp

Spelling fixes.


165153 13-Dec-2006 ru

- Fix prototype of bpf_filter().
- Document what passing it a zero buflen argument means.


165019 08-Dec-2006 julian

Explicitly emphasize a facet of m_pullup() that some people seem to
frequently forget. i.e. that you can not keep using pointers to
within the old chain.


164803 01-Dec-2006 ru

Give up on waiting for a repo-copy (no answer in 20 days), and
commit my markup fixes.

OK'ed by: kmacy


164758 29-Nov-2006 alfred

Bump .Dd, (9 year jump!)

Requested by: ru
cvs: ----------------------------------------------------------------------


164755 29-Nov-2006 alfred

Do a better job of documenting uio_resid.


164639 26-Nov-2006 obrien

Clarify case body indention.


164606 25-Nov-2006 imp

devsw() was removed by phk:

revision 1.199
date: 2004/09/24 08:30:57; author: phk; state: Exp; lines: +0 -1
Remove the cdevsw() function which is now unused.

(the log is wrong, it was really devsw that was removed).

# we really need to actually document the functions in sys/conf.h as well
# as things like d_open...


164605 25-Nov-2006 imp

Clarify what non-zero return values mean.


164587 24-Nov-2006 imp

Make it clear that the device name may contain '/' characters to place
a device in a subdirectory. Also explicitly state that the name is
constructed using fmt like printf would print it.

MFC After: 3 days


164560 23-Nov-2006 yar

Add a guideline for naming new sysctl nodes.

Discussed in: cvs-src (some time ago)


164409 19-Nov-2006 ceri

Add .Xr to p_cansee.9, remove .Xr to intro.2.

Reviewed by: ru
Approved by: ru


164408 19-Nov-2006 ceri

Add manuals for cr_cansee(9) and p_cansee(9).
Thanks to Ruslan for the time he spent reviewing these.

Reviewed by: ru
Approved by: ru


164384 18-Nov-2006 ceri

Have the synopsis compile.

Pointed out by: ru


164325 16-Nov-2006 pjd

Change sleepq_add(9) argument from 'struct mtx *' to 'struct lock_object *',
which allows to use it with different kinds of locks. For example it allows
to implement Solaris conditions variables which will be used in ZFS port on
top of sx(9) locks.

Reviewed by: jhb


164169 11-Nov-2006 ru

Fix build (forgotten MUTEX_PROFILING.9 -> LOCK_PROFILING.9).


164168 11-Nov-2006 ru

Replace a reference to no longer existing MUTEX_PROFILING(9) with
a LOCK_PROFILING(9).


164163 11-Nov-2006 kmacy

remove man page for no longer extant option


164162 11-Nov-2006 kmacy

man page for new option


164037 06-Nov-2006 ru

Fix markup.


164036 06-Nov-2006 ru

Bump document date.


164032 06-Nov-2006 rwatson

Add a new priv(9) kernel interface for checking the availability of
privilege for threads and credentials. Unlike the existing suser(9)
interface, priv(9) exposes a named privilege identifier to the privilege
checking code, allowing more complex policies regarding the granting of
privilege to be expressed. Two interfaces are provided, replacing the
existing suser(9) interface:

suser(td) -> priv_check(td, priv)
suser_cred(cred, flags) -> priv_check_cred(cred, priv, flags)

A comprehensive list of currently available kernel privileges may be
found in priv.h. New privileges are easily added as required, but the
comments on adding privileges found in priv.h and priv(9) should be read
before doing so.

The new privilege interface exposed sufficient information to the
privilege checking routine that it will now be possible for jail to
determine whether a particular privilege is granted in the check routine,
rather than relying on hints from the calling context via the
SUSER_ALLOWJAIL flag. For now, the flag is maintained, but a new jail
check function, prison_priv_check(), is exposed from kern_jail.c and used
by the privilege check routine to determine if the privilege is permitted
in jail. As a result, a centralized list of privileges permitted in jail
is now present in kern_jail.c.

The MAC Framework is now also able to instrument privilege checks, both
to deny privileges otherwise granted (mac_priv_check()), and to grant
privileges otherwise denied (mac_priv_grant()), permitting MAC Policy
modules to implement privilege models, as well as control a much broader
range of system behavior in order to constrain processes running with
root privilege.

The suser() and suser_cred() functions remain implemented, now in terms
of priv_check() and the PRIV_ROOT privilege, for use during the transition
and possibly continuing use by third party kernel modules that have not
been updated. The PRIV_DRIVER privilege exists to allow device drivers to
check privilege without adopting a more specific privilege identifier.

This change does not modify the actual security policy, rather, it
modifies the interface for privilege checks so changes to the security
policy become more feasible.

Sponsored by: nCircle Network Security, Inc.
Obtained from: TrustedBSD Project
Discussed on: arch@
Reviewed (at least in part) by: mlaier, jmg, pjd, bde, ceri,
Alex Lyashkov <umka at sevcity dot net>,
Skip Ford <skip dot ford at verizon dot net>,
Antoine Brodin <antoine dot brodin at laposte dot net>


163990 04-Nov-2006 pjd

When the source and destination objects for VOP_RENAME() are the same,
POSIX advice to just ignore the operation and return 0.
We already handle this case in kern_rename(), but don't give bad example -
the source is not removed.


163989 04-Nov-2006 pjd

VOP_REMOVE() doesn't unlock vnodes nor decrease reference counts.


163873 01-Nov-2006 pjd

Better English.

Submitted by: ru


163872 01-Nov-2006 pjd

- Document two new function g_alloc_bio() and g_duplicate_bio().
- Bump modification date.
- Update copyright years.


163870 01-Nov-2006 pjd

Document BIO_FLUSH request.


163833 31-Oct-2006 pjd

Add a new disk flag - DISKFLAG_CANFLUSHCACHE, which indicates that the disk
can handle BIO_FLUSH requests.

Sponsored by: home.pl


163733 28-Oct-2006 maxim

o Fix incorrect function name (kobj_free -> kobj_delete).

Obtained from: DragonFlyBSD
MFC after: 1 week


163577 21-Oct-2006 ru

Bump document date for the previous change.


163505 19-Oct-2006 ru

Add missing "const" qualifiers.

Submitted by: bde


163403 16-Oct-2006 danger

Expand "don't".

Approved by: trhodes (mentor), keramida (mentor)
MFC after: 3 days


163368 15-Oct-2006 pjd

Explain that using 64bit arguments on 32bit architectures with CTRx()
macros is a bad idea.


163029 05-Oct-2006 ru

Sort MAN and MLINKS lists.


163026 05-Oct-2006 jmg

sort MLINKS properly

Pointed out by: ru


163025 05-Oct-2006 ru

Polish markup and some wording.

Discussed with: jmg (also reviewed by him)


163014 04-Oct-2006 jmg

forgot to update the date...


163013 04-Oct-2006 jmg

add man page talking about how to interface w/ the kqueue system so others
can write additional filters...

mdoc police please!


162951 02-Oct-2006 andre

Connect hash(9) to the build and add MLINKS for all functions.

Pointed out by: ru


162946 02-Oct-2006 kib

Remove long untrue note about storing state information inside free items.

OKed by: rwatson, tegge
Approved by: pjd (mentor)
MFC after: 1 week


162877 30-Sep-2006 ru

Revise markup.


162638 25-Sep-2006 imp

Document config_intrhook.

MFC After: 250 millifortnights


162404 18-Sep-2006 ru

Markup fixes.


162401 18-Sep-2006 ru

Correct the list of bus_space_*_stream_[1248] functions in the
STREAM FUNCTIONS section:

- Really list only and all *_stream_* functions.
- Don't list their arguments (it's pointless).


162250 12-Sep-2006 imp

Bump date, per ru@


162236 11-Sep-2006 imp

Add note about identify routines needing to use BUS_ADD_CHILD rather
than device_add_child. The latter is only for busses adding children,
not children drivers telling a bus that they have an instance...


162155 08-Sep-2006 ru

Document that bits are numbered from 1 in the %b format argument.


161929 03-Sep-2006 jmg

now that we have bus_get_dma_tag, document it's requirement in
bus_dma_tag_create


161782 31-Aug-2006 ru

- Fix some bugs in the descriptions of DMA sync operations.
- Tweak some text so it's less likely to confuse the reader.

OK'ed by: scottl


161640 26-Aug-2006 pjd

Update.


161624 25-Aug-2006 pav

- Talk about memory allocation in interrupt context
- Add uam to see also

Submitted by: Devon H. O'Dell <devon.odell@coyotepoint.com>


161505 21-Aug-2006 kib

Note that LK_UPGRADE may drop the shared lock before taking the
exclusive one.

Reviewed and edited by: tegge
MFC after: 3 days
Approved by: pjd (mentor)


161256 12-Aug-2006 obrien

Add an extension to the UINT & ULONG types. The XINT & XLONG types behave
the same, except sysctl(8) will print out the values in hex.


161253 12-Aug-2006 obrien

Fix bug preventing the proper displaying of the CTLFLAG_WR option.


160614 24-Jul-2006 maxim

o GC MT_FTABLE removed in rev. 1.192 mbuf.h.
o Correct MT_HEADER define.


160432 17-Jul-2006 flz

Fix typo (s/writeer/writer/).


160308 12-Jul-2006 maxim

o Sort sx(9) MLINKS.


160300 12-Jul-2006 pjd

Document sx_xlocked(9).

Submitted by: ssouhlal


160261 11-Jul-2006 joel

Gah. Replace another instance of "Developer's Handbook" with
"Architecture Handbook".


160247 10-Jul-2006 joel

The TrustedBSD MAC Framework is documented in the Architecture handbook,
not in the Developers handbook.

Submitted by: Samy Al Bahra


160198 09-Jul-2006 maxim

o Fix MTX_SYSINIT prototype.

PR: kern/99956
Submitted by: Arne Woerner
MFC after: 1 week


159809 20-Jun-2006 maxim

o Remove LK_REENABLE and LK_NOPAUSE lockinit(9) flags, add LK_NOSHARE.

MFC after: 1 week


159391 08-Jun-2006 maxim

o Catch up v_flag split and replace VSYSTEM by VV_SYSTEM.

Inspired by: jkoshy's commit to vgone.9


159376 07-Jun-2006 jkoshy

Catch up with the rename of symbol VDOOMED to VI_DOOMED in revision
1.198 of "sys/sys/vnode.h". Remove a cross-reference to a manual
page that never existed.

---------------------------------------------------------------------- CVS:
PR: Fill this in if a GNATS PR is affected by the
change. CVS: Submitted by: Fill this in if someone else sent
in the change. CVS: Reviewed by: Fill this in if someone else
reviewed your modification. CVS: Approved by: Fill this in if
you needed approval for this commit. CVS: Obtained from: Fill
this in if the change is from third party software. CVS: MFC after:
N [day[s]|week[s]|month[s]] CVS: Fill in to get MFC notification
later. (days assumed unless specified) CVS:
---------------------------------------------------------------------- CVS:
Enter Log. Lines beginning with `CVS:' are removed automatically


159214 03-Jun-2006 pjd

Document more bits.

Reviewed by: brd


158861 23-May-2006 imp

Add a stub man page for device_get_sysctl{_ctx,tree}. Needs some
work, but is better than nothing. Any help appreciated.


158850 23-May-2006 pjd

Document missing CRYPTO_F_ flags.


158708 17-May-2006 pjd

Update HMAC algorithms.


158707 17-May-2006 pjd

Update manual page: cri_rnd field is gone, cri_mlen field was added.


158668 16-May-2006 keramida

Consistently use `superuser privileges' instead of its singular
form here and its plural there.

Submitted by: Rostislav Krasny <rosti.bsd@gmail.com>
MFC after: 3 days


158625 15-May-2006 wilko

Remove reference to Alpha architecture.


158355 08-May-2006 jmg

match w/ prototype...

MFC after: 3 days


158132 29-Apr-2006 keramida

Typo.


158130 28-Apr-2006 keramida

Fix a couple of typos and other minor nits

Reviewed by: rwatson


158122 28-Apr-2006 rwatson

Fix typo.

MFC after: 1 month
Submitted by: Antoine Brodin <antoine dot brodin@laposte dot net>


158110 28-Apr-2006 rwatson

Add a basic man page for the sysctl(9) macro interfaces. Previously man
pages existed only for the dynamic sysctl interfaces. There's probably
more complete and accurate content, better advice, etc, that could be added
here.

Per scottl's suggest, add a small piece of moralizing text regarding the
fact that sysctl names quickly get embedded in system configuration files,
libraries, third party applications, and even books, so renaming and
removing names after they've been published is a tricky issue.

MFC after: 1 month


158109 28-Apr-2006 scottl

Add a section about locking protocol for busdma.


157954 22-Apr-2006 jmg

document the various bus_space_*_stream_? functions...


157884 19-Apr-2006 jhb

Add MLINKS for rwlock(9).


157883 19-Apr-2006 jhb

Document rw_try_upgrade() and rw_downgrade().


157881 19-Apr-2006 jhb

Various nits and fixups so that the text reads smoother in several places.
Also, more closely match the prototypes in sys/rwlock.h and add a BUGS
section.


157880 19-Apr-2006 jhb

Trim a couple of xrefs.


157817 17-Apr-2006 jhb

- Sleep/wakeup operate on threads now, not processes.
- Describe msleep() as the primary sleep function now rather than tsleep()
and describe tsleep() and msleep_spin() as variations.
- Try to make the description of msleep() a bit closer to English
(sentences with actual subjects, etc.)
- Document that a priority of 0 now prevents the thread's priority from
being altered.
- Add a history note for wakeup_one().


157773 15-Apr-2006 maxim

o Fix prototype for SYSCALL_MODULE(9): the third argument
is a pointer to struct sysent. Correct its description.

PR: docs/84790
Submitted by: Dirk Gouders
MFC after: 2 weeks


157636 10-Apr-2006 pjd

Remove redundant 'from'.


157635 10-Apr-2006 pjd

Document CRD_F_KEY_EXPLICIT flag. While here more flags description more
readable.

MFC after: 2 weeks


157520 04-Apr-2006 jmg

add links for the functions documented in bus_space.9...


157444 03-Apr-2006 peter

Update pmap_remove_pages(9) doc.


156806 17-Mar-2006 des

Correct the requirements for g_new_consumer().

Approved by: phk


156756 15-Mar-2006 sam

promote fast ipsec's m_clone routine for public use; it is renamed
m_unshare and the caller can now control how mbufs are allocated

Reviewed by: andre, luigi, mlaier
MFC after: 1 week


156710 14-Mar-2006 andre

Import OpenBSD's manual page to the sys/sys/hash.c functions imported two
days earlier.

Obtained from: OpenBSD


156402 07-Mar-2006 hrs

Fix version number when the feature was added.

Submitted by: Yoshihiko Sarumaru (mistral at imasy dot or dot jp)
PR: docs/93801 and docs/93803
MFC after: 2 days


156221 02-Mar-2006 ru

Fix types of time_second and time_uptime variables.


156195 01-Mar-2006 cognet

Note that BUS_DMA_COHERENT currently only affects sparc64 and arm.

Suggested by: scottl


156116 28-Feb-2006 jmg

update examples to use the correct terms that was never updated when the
earlier descriptions were gone over...

MFC after: 3 days


155925 22-Feb-2006 jmg

allow timo to be 0 when mtx is not NULL (KASSERT allowed this as
pointed out by jhb)

Reviewed by: jhb
MFC after: 3 days


155776 17-Feb-2006 pjd

Document how to find a short description of a memory type.


155619 13-Feb-2006 joel

.Pp before .Sh is redundant.

Reviewed by: ru


155193 01-Feb-2006 glebius

Xref rwlock(9).

Reviewed by: ru


155189 01-Feb-2006 glebius

Document read/write locks.

Reviewed by: jhb, ru


155118 31-Jan-2006 brueffer

Xref redzone(9)


155115 31-Jan-2006 mlaier

sys/linker.h needs sys/systm.h as a requirement.

Submitted by: gallatin


155086 31-Jan-2006 pjd

Add buffer corruption protection (RedZone) for kernel's malloc(9).
It detects both: buffer underflows and buffer overflows bugs at runtime
(on free(9) and realloc(9)) and prints backtraces from where memory was
allocated and from where it was freed.

Tested by: kris


154974 29-Jan-2006 mlaier

firmware(9) is a subsystem to load binary data into the kernel via a
specially crafted module. There are several handrolled sollutions to this
problem in the tree already which will be replaced with this. They include
iwi(4), ipw(4), ispfw(4) and digi(4).

No objection from: arch
MFC after: 2 weeks
X-MFC after: some drivers have been converted


154500 18-Jan-2006 imp

Bump date to Sept 20, the date of the last content change


154296 13-Jan-2006 ru

Fix a misspelled reference.


153992 03-Jan-2006 jhb

- Don't list sleep() in the NAME section as we haven't had a sleep()
function in years.
- Change the 'ident' paramters to 'wchan' to match <sys/systm.h>.
- Use 'otherwise' in place of 'else' in one place so that this reads like
English rather than C.
- Document the new msleep_spin() function.
- Add history notes for msleep() and msleep_spin().


153988 03-Jan-2006 rwatson

Back out VFS_LOCK_GIANT.9:1.4, due to losing a race in change/update
against revision 1.3. No need to include mount.h twice, once will be
quite enough.

Pointed out by: simon


153923 31-Dec-2005 iedowse

Add basic documentation for many of the kernel USB functions that
USB device drivers use to talk to USB devices. This is probably
still a bit rough and it does not yet include the functions specific
to HID, ethernet, hubs, host controller drivers, task threads or
debugging.


153884 30-Dec-2005 pjd

Update manual page after last memguard changes.

Glanced at by: simon


153748 27-Dec-2005 pjd

Document CTR6() macro.


153700 24-Dec-2005 rwatson

Add missing mount.h include to VFS_LOCK_GIANT() man page.

Submitted by: Wojciech A. Koszek <dunstan at freebsd dot czest dot pl>
MFC after: 3 days


153678 23-Dec-2005 phk

Make sbuf_copyin() return the number of bytes copied on success.

Submitted by: "Wojciech A. Koszek" <dunstan@freebsd.czest.pl>


153505 18-Dec-2005 simon

VFS_LOCK_GIANT and VFS_UNLOCK_GIANT are actually defined in sys/mount.h,
so also include sys/mount.h in SYNOPSIS.

PR: docs/90541
Submitted by: Wojciech A. Koszek dunstan^freebsd.czest.pl
MFC after: 1 week


153380 13-Dec-2005 ru

[mdoc] add missing space before a punctuation type argument.


153147 05-Dec-2005 scottl

More review and adjustment for reality that should have happened 3 years
ago. Document the real behavior of bus_dma_tag_create, bus_dmamap_load,
and other functions. Also document their arguments and return values.

MFC After: 3 days


152991 01-Dec-2005 jhb

- Use .fn to markup untimeout in two places it was missing.
- Reword a confusing sentence.

PR: docs/89810
Submitted by: Marius Nuennerich marius dot nuennerich at gmx dot net
MFC after: 3 days


152755 24-Nov-2005 joel

s/5.5/6.0/ in HISTORY section.

Discussed with: ru


152586 18-Nov-2005 andre

Remove references to MEXT_ADD_REF, MEXT_REM_REF and MEXT_IS_REF
which were removed with rev. 1.179 of mbuf.h.

Sponsored by: TCP/IP Optimization Fundraise 2005


152577 18-Nov-2005 ru

Unbreak and fix markup.


152569 18-Nov-2005 ru

-mdoc sweep.


151285 13-Oct-2005 jhb

- Clarify when the softc is allocated. It is allocated when a device is
probed and attached, not on the first call to device_get_softc().
- Add a cross reference to DEVICE_PROBE regarding the caveats of using the
softc in a driver's probe routine.
- Fix a grammar bogon.

PR: docs/87176 (1)
Submitted by: Devon H. O'Dell dodell at offmyserver dot com (1)
MFC after: 3 days


151284 13-Oct-2005 jhb

- When bintime was added to this manpage, standalone .Nm changed from
microtime to bintime. However, one standaline .Nm wasn't changed, and as
a result, the manpage claimed that bintime was added in both 5.0 and 3.0.
Fix by listing microtime explicitly.
- Fix a grammar bogon.

PR: docs/87147 (1)
Submitted by: Matthew Luckie (1)
MFC after: 3 days


151239 11-Oct-2005 keramida

Fix a syntax nit (superfluous 'a').

Submitted by: Anders Hanssen <anders@rethink.no>


150978 05-Oct-2005 jhb

Update this manpage:
- Remove references to cpu_critical_*() as they no longer exist.
- Explain that any preemptions that occur during a critical section are
deferred until the current thread exits the section.
- Remove a bogus example usage of a critical section.
- Note that one can interlock critical sections with spin mutexes in
certain situations.

MFC after: 3 days


150666 28-Sep-2005 ru

Sort MLINKS.


150636 27-Sep-2005 mlaier

Remove bridge(4) from the tree. if_bridge(4) is a full functional
replacement and has additional features which make it superior.

Discussed on: -arch
Reviewed by: thompsa
X-MFC-after: never (RELENG_6 as transition period)


150628 27-Sep-2005 jhb

- Document atomic_fetchadd(9) and add a MLINK.
- Add arm and ppc to the list of archs not supporting operations on 64-bit
integers.
- Update the sample code for acquiring a mutex to be more recent and to
take into account the recent atomic_foo_ptr() changes.

MFC after: 1 week


150413 21-Sep-2005 rwatson

Add discussion of Giant, the MPSAFE flag, and NDHASGIANT() to namei(9).

Add a VFS_LOCK_GIANT(9)/VFS_UNLOCK_GIANT(9) man page.

Discussed with: jeff
MFC after: 3 days


150356 20-Sep-2005 imp

Sprinkle a few stars where they belong.


150089 13-Sep-2005 jhb

Various and sundry improvements:
- Replace 'process' with 'thread' everywhere.
- Update several places to note that that the fact that default mutexes
may adaptively spin isn't necessarily MD, but is just part of the
implementation as a whole.
- Clarify the text about MTX_SPIN mutexes only being appropriate for
INTR_FAST interrupts or other low level scheduler code to make the
jargon more FreeBSD-ish rather than BSD/OS-ish.
- Also, note that it is possible that interrupts aren't blocked but just
deferred when a spin lock is held (the whole blocked vs. deferred bit is
an MD implementation detail).
- Remove statements saying that spin locks must be released in the exact
opposite order that they were acquired. This stopped being true several
years ago when we first added critical sections that stored their state
in the current thread rather than in struct mtx.
- Note that a mutex must be initialized before it is passed to any other
mutex function, not just mtx_lock.
- Clarify that mtx_trylock() only operates on MTX_DEF mutexes.
- Simplify the text about possible preemption during a mtx_unlock().
- Use complete English sentences in place of phrases in a few places.
- Clarify that it isn't ever safe to sleep with a mutex held. The kernel
tends to panic when you do that.

Requested by: scottl (7)
MFC after: 3 days


149879 08-Sep-2005 glebius

Make callout_reset() return a non-zero value if a pending callout
was rescheduled. If there was no pending callout, then return 0.

Reviewed by: iedowse, cperciva


149694 01-Sep-2005 scottl

Fix a few small problems and bump the date.

Submitted by: ru


149673 31-Aug-2005 scottl

More clarification on how bus_dmamap_sync works. Fix bogus text concerning
bus_dmamem_alloc.


149510 26-Aug-2005 scottl

Clarify the description of the bus_dmasync_op_t operation flags. This has
been misleading and even wrong since the import of the page.


149281 19-Aug-2005 rodrigc

Update man page to reflect the fact that VOP_LISTEXTATTR
does not return a list of ASCII NUL terminated strings.
Instead, a list of attribute names is returned, where each
list entry consists of one byte for the name length, followed
by the name, without a terminating ASCII NUL.
This in similar to change 1.17 to extattr_get_file.2

Reviewed by: rwatson, ru


148901 09-Aug-2005 murray

Fix typo.

PR: docs/84660
Submitted by: Dirk Gouders <gouders@et.bocholt.fh-ge.de>
MFC after: 3 days


148890 09-Aug-2005 brian

Fix a typo


148889 09-Aug-2005 brian

Mention how to ensure that a device hasn't already been identified


148888 09-Aug-2005 brian

Fix a couple of typos


148851 08-Aug-2005 brian

Remove a bogus word


148842 08-Aug-2005 sam

describe m_align


148638 02-Aug-2005 brueffer

Mention that the softc is zeroed after allocation.

Noticed by: sam
MFC after: 3 days


148580 31-Jul-2005 keramida

Fix all the spelling mistakes I could find in the man pages for words
that have at least 3 characters.

MFC after: 1 week
Thanks to: Music band ``Chingon''
for keeping me company while searching for these.


148429 27-Jul-2005 scottl

Don't cross-reference VFS_START.9


148428 27-Jul-2005 scottl

Now that VFS_START.9 has been removed, don't try to reference it from the
Makefile.


148426 26-Jul-2005 hmp

Remove the VFS_START(9) manual page because it's no longer relevant. The
entry point was removed as its only consumer was MFS.

Approved by: re (hrs)


148271 22-Jul-2005 rodrigc

Fix two small grammar mistakes.

Approved by: das (mentor)


148231 21-Jul-2005 phk

Make the facility for recognizing BIOS-signatures more general
and return a printable representation.

This fixes recognition of the PC Engines WRAP and improves the
recognition of the Soekris boards (Bios version can now be
seen in the dmesg output for instance).

Also, add watchdog support for PCM-582x platforms.

Submitted by: Adrian Steinmann <ast@marabu.ch>
Slightly changed by: phk
PR: 81360


147647 28-Jun-2005 hmp

Use 'manual page' instead of 'man page' for consistency.

Approved by: re (hrs)


147595 25-Jun-2005 ru

Overhaul the markup.

OK'ed by: imp
Approved by: re (blanket)


147432 16-Jun-2005 ru

(Mostly) markup fixes.

Approved by: re (blanket)


147398 15-Jun-2005 ru

Assorted markup fixes and minor wordsmithing.

Approved by: re


147391 15-Jun-2005 hmp

Add a cross-reference to the pmap_page_init(9) manual page.

Approved by: re


147359 14-Jun-2005 imp

Don a flack jacket and start to document the FreeBSD bus_space
implementation. I took the NetBSD man page, and hacked it to, I hope,
to reflect the preliminary version of the bus space that Justin Gibbs
committed as part of the CAM integration in FreeBSD 3.0.

This isn't perfect, but it is better than we have now (which is, ahem,
nothing). Please coordinate changes to the file through me through
the 6.0 release.

Approved by: re (blanket for this one file)


147260 10-Jun-2005 hmp

Update prototype for function pmap_init(), it no longer has the arguments
phys_start and phys_end.

Remove a stale documentation not about dis/uncontiguous memory.

Update manual page date while I am around these ends.

Reviewed by: alc


147259 10-Jun-2005 hmp

Add manual page for newly added pmap_page_init(9) function, part of the
PMAP KPI.

Reviewed-by: alc


147256 10-Jun-2005 brooks

Stop embedding struct ifnet at the top of driver softcs. Instead the
struct ifnet or the layer 2 common structure it was embedded in have
been replaced with a struct ifnet pointer to be filled by a call to the
new function, if_alloc(). The layer 2 common structure is also allocated
via if_alloc() based on the interface type. It is hung off the new
struct ifnet member, if_l2com.

This change removes the size of these structures from the kernel ABI and
will allow us to better manage them as interfaces come and go.

Other changes of note:
- Struct arpcom is no longer referenced in normal interface code.
Instead the Ethernet address is accessed via the IFP2ENADDR() macro.
To enforce this ac_enaddr has been renamed to _ac_enaddr.
- The second argument to ether_ifattach is now always the mac address
from driver private storage rather than sometimes being ac_enaddr.

Reviewed by: sobomax, sam


147036 06-Jun-2005 brooks

Add missing Va in ifi_epoch entry.


146567 24-May-2005 hmp

Accomodate for parameter name change, 'cnp' to 'data'.

Submitted-by: Andrew R. Reiter <arr@watson.org>


146432 20-May-2005 njl

Document that the returned pointer should be freed even if the number
of items returned is 0.


146412 19-May-2005 glebius

Document taskqueue_drain().


146323 17-May-2005 obrien

Clarify the header.


146319 17-May-2005 ru

Recover the original Berkeley RCS id, and fix the description of
format for source files when it comes to $FreeBSD$.


146307 17-May-2005 keramida

Remove a duplicate 'comment' to fix the syntax of a sentence.


145740 01-May-2005 sam

update for recent api changes


145333 20-Apr-2005 glebius

Manpage for unit allocator functions.

Reviewed by: phk


145286 19-Apr-2005 jkoshy

Bring API documentation for sleepqueue(9) in sync with the code
in -current.

Reviewed by: ru


145285 19-Apr-2005 jkoshy

Document taskqueue_run_fast(). Markup 'Giant' with ".Va".

Reviewed by: ru


145142 16-Apr-2005 rwatson

Modify the alq(9) alq_open() API to accept a file creation mode, rather
than defaulting the cmode argument to vn_open() to 0. Supply a default
argument of ALQ_DEFAULT_CMODE (0600) in current callers.

Discussed with/pointed out by: hmp
Reveiwed by: jeff, hmp
MFC after: 3 days


145114 15-Apr-2005 jkoshy

Add a 'SEE ALSO' section.


145103 15-Apr-2005 pjd

Add missing links.

MFC after: 2 weeks


144846 09-Apr-2005 pjd

Create links to crypto.9 for every crypto(9) function.

OK'ed by: sam
MFC after: 2 weeks


144750 07-Apr-2005 njl

Hook up new man page for devclass_get_drivers() to build

Reminded by: ru


144628 04-Apr-2005 njl

Document that devclass_get_maxunit(9) returns one greater than the current
highest unit.

Reviewed by: dfr
MFC after: 2 weeks


144626 04-Apr-2005 njl

Add devclass_get_drivers(9) which provides an array of pointers to driver
instances in a given devclass. This is useful for systems that want to
call code in driver static methods, similar to device_identify().

Reviewed by: dfr
MFC after: 2 weeks


144217 28-Mar-2005 brueffer

Bump .Dd for the previous commit.


144201 28-Mar-2005 brueffer

The make_dev(9) functions no longer handle dev_ts, but struct cdevs.

PR: 78172
Submitted by: "Wojciech A. Koszek" <dunstan@freebsd.czest.pl>
MFC after: 3 days


143761 17-Mar-2005 jmg

add m_copyup function.. This can be used to help make our ip stack less
alignment restrictive, and help performance on some ethernet cards which
currently copy the entire packet a couple bytes to get the packet aligned
properly...

Wordsmithing by: dwhite
Obtained from: NetBSD (code only)
I'll clean it up later: rwatson


143670 15-Mar-2005 imp

Clarify that the end argument meaning for rman_reserve_resource_bound
is the highest acceptable value for the ending of the resource being
allocated. One could also believe that it is the highest starting
value of the resource. The code definitely expects the former, but I
could find no documentation of this apart from TFSC.


143591 14-Mar-2005 phk

Mangle a manpage.


143313 09-Mar-2005 jmg

spell resource correctly...
MFC after: 3 days


143310 09-Mar-2005 hmp

Remove stale information in IMPLEMENTATION NOTES section about alq_open()
using the calling thread's ucred.

While I am there, fix references to my name.


143270 08-Mar-2005 hmp

Make note of the ktrdump(8) utility in the opening paragraph of this
manual page.

Fix indentation of code block in EXAMPLE section so the manual page
can be viewed in a 80 column window.


142743 28-Feb-2005 brueffer

Correct a macro name.

PR: 78171
Submitted by: "Wojciech A. Koszek" <dunstan@freebsd.czest.pl>
MFC after: 3 days


142501 25-Feb-2005 brooks

Change the definition of struct if_data's member ifi_epoch from wall
clock time to uptime because wall clock time may go backwards.

This is a change in the API which will impact SNMP agents who are using
ifi_epoch to set RFC2233's ifCounterDiscontinuityTime. None are know to
exist today. This will not impact applications that are using the
<index, epoch> tuple to verify interface uniqueness except that it
eliminates a race which could lead to a false assumption of uniqueness.

Because this is a behavior change, bump __FreeBSD_version.

Discussed with: re (jhb, scottl)
MFC after: 3 days
Pointed out by: pkh (way back at EuroBSDCon)
Pointy hat: brooks


142474 25-Feb-2005 glebius

Fix prototype for bpf_mtap2().

MFC after: 3 days


142249 22-Feb-2005 brueffer

Connect memguard(9) to the build.


142246 22-Feb-2005 brueffer

Xref memguard(9)


142245 22-Feb-2005 brueffer

First cut at a manpage for the MemGuard debugging allocator.

most content from: bmilekic
mdoc lessons by: ru


141997 16-Feb-2005 pjd

Copyright year update.


141957 15-Feb-2005 ru

Don't say that mtx_lock() will "sleep" if another kernel thread is
holding the mutex, say it will "block". Later in this manual page
we say that sleeping while holding a mutex isn't allowed, and this
can be confusing.

Submitted by: jhb


141946 15-Feb-2005 ru

Expand contractions.


141851 13-Feb-2005 ru

Expand contractions.


141849 13-Feb-2005 ru

who's -> whose


141846 13-Feb-2005 ru

Expand *n't contractions.


141694 11-Feb-2005 rwatson

Add a bit more caveat text about MUTEX_PROFILING -- try to avoid using it
with other profiling and debugging options, such as INVARIANTS, WITNESS,
kernel profiling, etc. They all interfere with each other nastily and
will generate fairly useless results.


141580 09-Feb-2005 ru

Fixed the misplaced $FreeBSD$.


141531 08-Feb-2005 njl

Update device_find_child(9) to return the first matching child if unit
is set to -1.

Reviewed by: dfr, imp


141428 07-Feb-2005 iedowse

Add a mechanism for associating a mutex with a callout when the
callout is first initialised, using a new function callout_init_mtx().
The callout system will acquire this mutex before calling the callout
function and release it on return.

In addition, the callout system uses the mutex to avoid most of the
complications and race conditions inherent in asynchronous timer
facilities, so mutex-protected callouts have much simpler semantics.
As long as the mutex is held when invoking callout_stop() or
callout_reset(), then these functions will guarantee that the callout
will be stopped, even if softclock() had already begun to process
the callout.

Existing Giant-locked callouts will automatically pick up the new
race-free semantics. This should close a number of race conditions
in the USB code and probably other areas of the kernel too.

There should be no change in behaviour for "MP-safe" callouts; these
still need to use the techniques mentioned in timeout(9) to avoid
race conditions.


141359 05-Feb-2005 brueffer

Remove Xref to nonexistant cap.3

Ok'ed by: rwatson
MFC after: 3 days


141355 05-Feb-2005 brueffer

Xref mac_lomac.4 instead of lomac.4

MFC after: 3 days


141338 05-Feb-2005 jkoshy

Note that functions alq_flush() and alq_post() should not be called in
contexts where sleeping is disallowed.

Pointed out by: ru


141265 04-Feb-2005 pjd

Improve EIO error description and mention that it can also occur while
writting.

MFC after: 3 days


141035 30-Jan-2005 jkoshy

Bring the prototype for alq_open() in line with the code.

Add a section on locking.


140975 29-Jan-2005 ru

Start sentences from a capital letter.

Submitted by: Joel Dahl


140950 28-Jan-2005 ru

Fixed whitespace at EOL and double word.
Uncompact enumaration to make it look better.


140932 28-Jan-2005 ru

Mark lists as in the rest of section 9 manpages.


140931 28-Jan-2005 ru

Mark lists as in the rest of section 9 manpages.

Submitted by: Joel Dahl (mostly)


140873 26-Jan-2005 ru

Add a few colons.

Submitted by: Joel Dahl


140674 23-Jan-2005 iedowse

Attempt to describe the race conditions that must be considered
when using the callout subsystem. Show how the callout_pending(),
callout_active() and callout_deactivate() macros can be used to
achieve simpler race-free callout semantics in many situations.


140641 22-Jan-2005 bms

Fix markup.

Submitted by: ru


140638 22-Jan-2005 bms

Add a note about the slot number not necessarily indicating the physical
location of a PCI device in the system chassis.
Remove the note about PAE.
Update document date.
Update my email address.
Update copyright.

MFC after: 1 week


140598 21-Jan-2005 ru

Fixed punctuation in xrefs.


140564 21-Jan-2005 ru

Fixed xref.


140561 21-Jan-2005 ru

Sort sections.


140507 20-Jan-2005 glebius

log(9) requires sys/syslog.h.

MFC after: 3 days


140458 18-Jan-2005 ru

Use the standard section name.


140457 18-Jan-2005 ru

The rest of manpages spell this "PSEUDOCODE".


140429 18-Jan-2005 brueffer

Typo fixes.

MFC after: 3 days


140411 18-Jan-2005 ru

Folded two SEE ALSO sections into one.


140317 15-Jan-2005 scottl

Document bus_dmamap_load_mbuf_sg()


140295 15-Jan-2005 ru

Eliminate macro calls inside literal displays.


140258 14-Jan-2005 ru

Markup fixes.


140251 14-Jan-2005 ru

Markup fixes.


140238 14-Jan-2005 ru

Markup and grammar fixes.


140237 14-Jan-2005 ru

Markup nit.


140173 13-Jan-2005 ru

Nits.


140140 12-Jan-2005 ru

Scheduled mdoc(7) sweep.


140082 11-Jan-2005 simon

Document that MODULE_DEPEND does not change runtime initialization
order.

Mostly submitted by: scottl
Discussed on: cvs-src/src-committers


139947 09-Jan-2005 keramida

Fix typos and add .Pp after the end of a display to separate the
displayed text from the paragraph right after it.


139869 07-Jan-2005 keramida

Reorganize the DESCRIPTION section, using .Bl lists to separate the
descriptions of items from each other and have related things appear
in the same nesting 'level'.

The .Fn function/macro, and bump document date.

Reviewed by: jkoshy


139862 07-Jan-2005 maxim

Finish src part VFS_INIT.9 removal. Need to check www/.


139859 07-Jan-2005 keramida

The .Fn macro.


139858 07-Jan-2005 keramida

The .Fn macro and addition of .Fa in the tag width of the
argument description list.


139857 07-Jan-2005 keramida

- The .Fn macro and description of the `struct statfs' type of `sbp'.
- List of struct statfs fields that are related to file systems, much
like the list in stat.2 for the userlevel `struct stat'.
- Bump document date.


139855 07-Jan-2005 keramida

The .Fn macro, document `flags' argument & bump document date.


139853 07-Jan-2005 keramida

Trim excessively verbose sentence.


139852 07-Jan-2005 keramida

The .Fn macro


139851 07-Jan-2005 keramida

Move the description of MNT_FORCE closer to mntflags and use a .Bl
list for the valid flag values. This way, if VFS_UNMOUNT(9) supports
more flags in the future, adding a single list item is going to be
easy and all the flags are going to be in one place.


139850 07-Jan-2005 keramida

The .Fn macro.


139849 07-Jan-2005 keramida

There is no VFS_INIT(9).

Approved by: phk


139848 07-Jan-2005 keramida

The VFS_MOUNT() macro expects only 2 arguments in the nmount world
(since revision 1.173 of src/sys/sys/mount.h).

Update its prototype, the argument list description and bump the date.


139845 07-Jan-2005 keramida

Use a .Bl -tag list instead of plain .Pp paragraphs for describing the
macro arguments expected by SYSCALL_MODULE().

MFC after: 3 days


139844 07-Jan-2005 keramida

Fix time-travel bug.

Noticed by: krion


139843 07-Jan-2005 keramida

Avoid overusing "these" by breaking a long sentence in 2 smaller ones.

MFC after: 3 days


139842 07-Jan-2005 keramida

Convert the descriptions of module versions to an explicit list and
note that these versions numbers refer to moddepend, not the current
module.

MFC after: 3 days


139841 07-Jan-2005 keramida

Syntax nit.

MFC after: 3 days


139828 07-Jan-2005 cperciva

Point out that tsleep(... , 0) is not permitted if the Giant lock is not
held. (It causes a "sleeping without a mutex" assertion failure in
msleep.)

MFC after: 3 days


139773 06-Jan-2005 keramida

Use .Fn function_name

MFC after: 3 days


139772 06-Jan-2005 keramida

Use .Fn function_name

MFC after: 3 days


139771 06-Jan-2005 keramida

Properly cross-reference pccard(4).

MFC after: 3 days


139770 06-Jan-2005 keramida

- Use .Fn for marking up function-like macro names.
- Improve the wording in a few places.
- Add the email address of Doug Rabson in the AUTHORS section.
- Link to devfs(5) with an .Xr

MFC after: 3 days


139769 06-Jan-2005 keramida

. Use a .Bl list for describing macro arguments.
. Various wordign fixes.
. Bump document date.

MFC after: 3 days


139768 06-Jan-2005 keramida

. Use a -tag instead of an -inset list, which makes the arguments of the
macro stand out more clearly.
. Various other wording fixes.
. Bump document date.


139767 06-Jan-2005 keramida

Use .Fn function_name.

MFC after: 3 days


139766 06-Jan-2005 keramida

Add missing .It in list tag.

MFC after: 3 days


139765 06-Jan-2005 keramida

Fix .Nd description and bump document date.

MFC after: 3 days


139764 06-Jan-2005 keramida

"non-spin" is better with a dash, than without.


139736 05-Jan-2005 keramida

Make an attempt at explaining why sx(9) locks cannot be safely obtained
after acquiring a mutex(9).

PR: docs/75571
Submitted by: darrenr
Explanation by: jhb


139734 05-Jan-2005 imp

Clarify /*- convention.


139725 05-Jan-2005 imp

A large majority of the source files in the tree start their license
and copyright statements in a comment that begins with /*-. Document
this tradition. A strict adherence to this rule will help resellers
that wish to publish all copyright notices, generated automatically
from the tree. There are too many variant licenses to do it purely
by more complicated pattern matching.


139592 02-Jan-2005 krion

Remove trailing spaces.

Reviewed by: brueffer
MFC after: 3 days


139395 29-Dec-2004 glebius

Document callout_pending() macro.

MFC after: 1 week


139392 29-Dec-2004 jkoshy

Make an argument name in the synopsis match that in the text. Correct
an mdoc error.


138854 14-Dec-2004 trhodes

Some formatting, whitespace and mdoc(7) fixes.

Submitted by: A manual page, ru of course.


138824 13-Dec-2004 imp

The format of the MLINKS entries is pairwise, not MLINKS += wise. So
list kernel_mount.9 the required number of times to allow make
installworld to complete.


138819 13-Dec-2004 trhodes

Add kernel_mount.9 and appropriate MLINKS to the build.


138818 13-Dec-2004 trhodes

Add a manual page to document phk's mount work.

Reviewed by: phk (content), brueffer (grammar and markup)


138580 08-Dec-2004 sam

document m_append


138533 08-Dec-2004 njl

Add the devclass_get_count(9) function and man page. It gets a count of
the number of devices in a devclass and is a subset of
devclass_get_devices(9).

Reviewed by: imp, dfr


138442 06-Dec-2004 jkoshy

Update prototypes for eventhandler_register() and eventhandler_find_list()
to match the code.


138426 06-Dec-2004 alc

This jumbo allocator has been removed from the kernel.


138348 03-Dec-2004 jkoshy

Add a manual page for the kernel's EVENTHANDLER facility.

Reviewed by: ru


138327 02-Dec-2004 dds

Clarify the structure element size ordering.

Obtained from: OpenBSD style.9 1.38


138188 29-Nov-2004 ru

MNT_NODEV is deprecated.


138056 24-Nov-2004 rwatson

Link critical_enter.9 to critical.9 to make it easier to find.


137953 21-Nov-2004 rwatson

Word choice fix; use .Fn for non-.Xr functions.

Submitted by: ru


137905 20-Nov-2004 jkoshy

Bring signal(9) in sync with -current.

Reviewed by: ru (mdoc changes)


137872 18-Nov-2004 rwatson

Add a couple of summary paragraphs at the head of mbuf_tags(9) to
indicate how m_tags might be used, and what their high level properties
are. This may help developers using tags get a more clear picture
before delving into the technical details of ABI cookies and API calls.

Suggested by: Rene de Vries <rene at canyon dot xs4all dot nl>


137840 18-Nov-2004 jkoshy

Cross-reference signal(9).


137791 16-Nov-2004 jhb

Remove some references to I386_CPU and 80386 CPUs.


137392 08-Nov-2004 jhb

Catch up to rev 1.52 of sys/kern/kern_condvar.c. cv_signal() and
cv_broadcast() no longer require that the interlock mutex be held when
called.

Reminded by: das


136971 26-Oct-2004 bms

Correct a misspelling, 'task_fn' -> 'task_fn_t'.

Noticed by: sah at softcardsystems dot com
MFC after: 3 days


136763 22-Oct-2004 scottl

Correct and clarify some very incorrect text.


136412 12-Oct-2004 jkoshy

Add a manual page for hashinit(9), hashdestroy(9) and phashinit(9).

Reviewed by: ru


136411 12-Oct-2004 jkoshy

Use the "normal form" for copyright text.


136396 11-Oct-2004 glebius

- Document RT_[UN]LOCK, RT_ADDREF, RT_REMREF.
- Describe how RT_FREE actually works.

Grammar check: ru
Reviewed by: sam
MFC after: 1 month


136388 11-Oct-2004 green

s/ENOBUF/ENOBUFS/


136347 10-Oct-2004 glebius

Revert last commit since it breaks API.

Requested by: sam


136310 09-Oct-2004 glebius

Remove inlined m_tag_free(). Rename _m_tag_free() to m_tag_free()
and make it visible (same way as in OpenBSD). Describe usage in manpage.

This change is useful for creating custom free methods, which
call default free method at their end.

While here, make malloc declaration for mbuf tags more informative.

Approved by: julian (mentor), sam
MFC after: 1 month


136258 08-Oct-2004 mlaier

Change pfil starvation prevention from fail-open to fail-close.
We return ENOBUF to indicate the problem, which is an errno that should be
handled well everywhere.

Requested & Submitted by: green
Silently okay'ed by: The rest of the firewall gang
MFC after: 3 days


136256 08-Oct-2004 glebius

- sort struct rtentry fields in man page in some order as they are in struct
- remove RTF_PRCLONING
- add rt_mtx field
- rename rt_metrics -> rt_metrics_lite
- mention that only 3 metrics are really used in rt_metrics_lite

Reviewed by: ru, andre


136255 08-Oct-2004 glebius

Add more MLINKS for rtalloc.9

Approved by: ru


136254 08-Oct-2004 glebius

More grammar cleanups from MDocGuard^WRuslan.


136220 07-Oct-2004 mlaier

Add a minimal altq.4 manpage to tell about the kernel options and where to
find more information. Also move the "SUPPORTED DEVICES" section from altq.9
to altq.4, where is belongs.

Requested by: green
MFC after: 2 days


136214 07-Oct-2004 glebius

Mdoc and grammar fixes.

Submitted by: ru


136213 07-Oct-2004 glebius

- note that RTF_PRCLONING is obsoleted
- explain locking differencies between rtalloc(), rtalloc_ign(), rtalloc1()
and rtfree(), RTFREE().

Reviewed by: andre (1.5 months ago)
OK'd by: ru


136039 01-Oct-2004 mlaier

dc(4) is now supported as well. While here sort the list and remove awi,
which isn't yet supported.


135920 29-Sep-2004 mlaier

Add an additional struct inpcb * argument to pfil(9) in order to enable
passing along socket information. This is required to work around a LOR with
the socket code which results in an easy reproducible hard lockup with
debug.mpsafenet=1. This commit does *not* fix the LOR, but enables us to do
so later. The missing piece is to turn the filter locking into a leaf lock
and will follow in a seperate (later) commit.

This will hopefully be MT5'ed in order to fix the problem for RELENG_5 in
forseeable future.

Suggested by: rwatson
A lot of work by: csjp (he'd be even more helpful w/o mentor-reviews ;)
Reviewed by: rwatson, csjp
Tested by: -pf, -ipfw, LINT, csjp and myself
MFC after: 3 days

LOR IDs: 14 - 17 (not fixed yet)


135841 27-Sep-2004 alc

Add cross references to vm_map_entry_resize_free.9.

Submitted by: Mark W. Krentel


135839 27-Sep-2004 alc

Document the O(log n) algorithm for finding free space.

Submitted by: Mark W. Krentel


135838 27-Sep-2004 alc

Document the flags field.

Submitted by: Mark W. Krentel


135759 24-Sep-2004 joerg

Document that kthread_exit()ing will cause a wakeup(9) on the thread
handle.

MFC after: 1 week


135454 19-Sep-2004 ru

Sort MAN and MLINKS in dictionary order ignoring case.


135438 18-Sep-2004 jmg

add MLINKs for the mbuf.9 man page..

MFC after: 3 days


135366 17-Sep-2004 brooks

Bring kernel time variable and access function docs up to date by
updating the list of variables and mentioning the bin(up)time functions.


135365 17-Sep-2004 brooks

Document the struct if_data members ifi_datalen, ifi_epoch, and
ifi_link_state.

Reminded by: ru


135270 15-Sep-2004 alc

Update to reflect recent changes such as the fields for O(log n) address
space allocation.

Submitted by: Mark W. Krentel


134424 28-Aug-2004 jmg

document that m_free returns m_next of the free'd mbuf


134383 27-Aug-2004 andre

Always compile PFIL_HOOKS into the kernel and remove the associated kernel
compile option. All FreeBSD packet filters now use the PFIL_HOOKS API and
thus it becomes a standard part of the network stack.

If no hooks are connected the entire packet filter hooks section and related
activities are jumped over. This removes any performance impact if no hooks
are active.

Both OpenBSD and DragonFlyBSD have integrated PFIL_HOOKS permanently as well.


134330 26-Aug-2004 imp

Add reference to vslock(9) for locking user address pages into core.

Suggested by: alc


134301 25-Aug-2004 mlaier

Document supported devices here (for lack of a better place). Users
interested in ALTQ are likely to type in "man altq" at some point and maybe
they will scroll down to the bottom as well.

MFC after: 3 days


134278 24-Aug-2004 imp

Clarify what the lockfunc is used for. When it will be called and
when it won't be called. The old wording was correct, but not
sufficiently specific to understand when and how it would be called.
The new wording describes the current implementation's usage (which
should be updated if other appropriate times are decided upon),
specifically that it is called only when the load operation is
deferred to keep the locking state consistent. When the operation
isn't deferred, the calling routine is assumed to have a coherent
locking world.

Reviewed by: scottl


134230 23-Aug-2004 imp

Even in a 80 column, fixed point font, there's plenty of room for all
the arguments to bus_dmamap_load, so don't use '...' but list the
actual args. '...' usually means a variable number of args (cf
printf(3)), but bus_dmamap_load takes a fixed number of arguments.


134229 23-Aug-2004 imp

In the SYNOPSIS section, move the bus_dmamem_alloc function prototype
to just before bus_dmamem_free, which is (a) more logical; (b) likely
what was originally intended and (c) matches the order in the NAME and
FUNCTIONS sections.


134117 21-Aug-2004 simon

mdoc(7) janitor:
- Fix hard sentence breaks.

MFC after: 3 days


134015 19-Aug-2004 jhb

Catch up to recent API changes including the removal of the signal_caught
argument to sleepq_timedwait() and the enhancements to the flags argument
passed to sleepq_add().


133998 19-Aug-2004 jmg

add options MPROF_BUFFERS and MPROF_HASH_SIZE that adjust the sizes of
the mutex profiling buffers. Document them in the man page and in NOTES.
Ensure _HASH_SIZE is larger than _BUFFERS with a cpp error.


133797 16-Aug-2004 green

Remove the BUGS entry for vslock(9) not actually holding user memory in place.


133526 11-Aug-2004 imp

Be explicit that a driver may assume softc is preserved when returning 0


133499 11-Aug-2004 jmg

fix description of the macros for BUS_DMASYNC opertions. It's from the CPU's
point of view... Add a reference to a better description of what the ops
do...

Reviewed by: scottl


133439 10-Aug-2004 green

Update "documentation date" fields.


133438 10-Aug-2004 green

Document exactly how vslock(9) is broken.


133436 10-Aug-2004 green

Update contigmalloc(9)'s manpage to reflect usage of the malloc_type
argument and that allocation occurs from the end of the address space
backward (still first-fit).


133428 10-Aug-2004 joerg

Add documentation for log(9).

MFC after: 1 week


133386 09-Aug-2004 mlaier

mdoc(7) and english grammar makeover.

Submitted by: ru


133305 08-Aug-2004 jmg

rearange some code that handles the thread taskqueue so that it is more
generic. Introduce a new define TASKQUEUE_DEFINE_THREAD that takes a
single arg, which is the name of the queue.

Document these changes.


133265 07-Aug-2004 mlaier

Add altq(9) explaining about the IFQ_* and IFQ_DRV_* macros in if_var.h and
how to convert drivers.

Obtained from: NetBSD (with changes)
Reviewed by: josef


133252 07-Aug-2004 imp

It appears that cdevsw_add/remove were removed quite a while ago, so
remove them from here.


133142 04-Aug-2004 pjd

- Add two fields to bio structure: 'bio_cflags' which can be used by
consumer and 'bio_pflags' which can be used by provider.
- Remove BIO_FLAG1 and BIO_FLAG2 flags. From now on new fields should be
used for internal flags.
- Update g_bio(9) manual page.
- Update some comments.
- Update GEOM_MIRROR, which was the only one using BIO_FLAGs.

Idea from: phk
Reviewed by: phk


132686 27-Jul-2004 jmg

after reading the commit mail, I better understand what cnt_hold is for..
improve the verbage in the manpage so others are more likely to understand
it...

Reviewed by: rwatson


132674 26-Jul-2004 jmg

document that times are in microseconds, yes it's at the end in the NOTES
section, but this makes it easier to find.


132653 26-Jul-2004 cperciva

Rename suser_cred()'s PRISON_ROOT flag to SUSER_ALLOWJAIL. This is
somewhat clearer, but more importantly allows for a consistent naming
scheme for suser_cred flags.

The old name is still defined, but will be removed in a few days (unless I
hear any complaints...)

Discussed with: rwatson, scottl
Requested by: jhb


132294 17-Jul-2004 cperciva

Document the SUSER_RUID flag.

Reminded by: pjd


132293 17-Jul-2004 cperciva

Add a BUGS entry pointing out that the ASU flag isn't being set. This was
disabled by rwatson in revision 1.60 of sys/kern/kern_prot.c in August 2000.


132117 13-Jul-2004 phk

Give kldunload a -f(orce) argument.

Add a MOD_QUIESCE event for modules. This should return error (EBUSY)
of the module is in use.

MOD_UNLOAD should now only fail if it is impossible (as opposed to
inconvenient) to unload the module. Valid reasons are memory references
into the module which cannot be tracked down and eliminated.

When kldunloading, we abandon if MOD_UNLOAD fails, and if -force is
not given, MOD_QUIESCE failing will also prevent the unload.

For backwards compatibility, we treat EOPNOTSUPP from MOD_QUIESCE as
success.

Document that modules should return EOPNOTSUPP for unknown events.


132026 12-Jul-2004 alfred

Document thread parameter passed to VFS_ROOT and vflush.


131985 11-Jul-2004 darrenr

Document that sx_unlock() exists as a macro.
Remove redundant include file, <sys/kernel.h>, and clean up the function
list at the top with the addition of a "Sx utility macro" section.


131888 10-Jul-2004 imp

Modernize description of physio. Make explicit that this creates a
request that's passed to the driver's strategy.


131886 09-Jul-2004 alfred

document vfs_suser.


131872 09-Jul-2004 des

Bump document date.

Reminded by: ru


131870 09-Jul-2004 des

The type and name of sbuf_b{cat,cpy}()'s second argument have changed.


131799 08-Jul-2004 ru

Revise markup.


131773 08-Jul-2004 alfred

There is no VOP_TRUNCATE anymore.
style(9) (parenthesis around return values) the example.


131772 08-Jul-2004 alfred

s/proc/thread


131771 08-Jul-2004 alfred

Update comments in example as well.


131770 08-Jul-2004 alfred

Update because struct componentname now has a thread pointer instead
of a proc pointer.


131769 08-Jul-2004 alfred

Update in the face of NDFREE.
Basically the advice on freeing the componentname buffers is no
longer correct.
Update the example code.


131754 07-Jul-2004 ru

mdoc(7) fixes.


131745 07-Jul-2004 maxim

MT_TAG is dead.


131741 07-Jul-2004 ru

Slight content fixes.


131738 07-Jul-2004 ru

Fixed document title (should be in all uppercase).
List all functions in the NAME section so they appear in whatis(1).
Assorted fixes (mostly markup).


131736 07-Jul-2004 ru

Sweep formatting and assorted fixes.


131735 07-Jul-2004 ru

Tabs here upset my automatic checker, so replaced them with spaces.


131689 06-Jul-2004 ru

Tiny markup fixes.


131685 06-Jul-2004 ru

Fixed markup.


131684 06-Jul-2004 ru

mdoc(7) fixes.


131683 06-Jul-2004 ru

mdoc(7) fixes.


131682 06-Jul-2004 ru

Correct typos in the function name.
mdoc(7) tweaks.


131681 06-Jul-2004 ru

Fixed the .Os call (missing or wrong).


131680 06-Jul-2004 ru

mdoc(7) fixes.


131642 05-Jul-2004 ru

Slightly improve the markup.


131635 05-Jul-2004 ru

Fix the NAME section making whatis(1) happy in particular.


131594 04-Jul-2004 ru

Sort SEE ALSO references (in dictionary order, ignoring case).


131583 04-Jul-2004 bms

Add documentation for the ieee80211_node.c functions.

Submitted by: Darron Broad


131549 04-Jul-2004 scottl

Document that boundaries cannot be smaller than the max segment size.


131540 03-Jul-2004 ru

Merge junk.


131530 03-Jul-2004 ru

Mechanically kill hard sentence breaks and double whitespaces.


131472 02-Jul-2004 ru

Removed trailing whitespace.


131463 02-Jul-2004 scottl

Small grammar fix.


131132 26-Jun-2004 bde

Fixed a style bug in the previous commit.


131127 26-Jun-2004 obrien

Embellish the getopt(3) example with mixed case.

Reviewed by: bde


130935 22-Jun-2004 le

Catch up with the dev_t -> struct cdev change.


130843 21-Jun-2004 mpp

Spelling fixes.


130599 16-Jun-2004 ru

Markup fixes.


130598 16-Jun-2004 ru

Tiny markup fixes.


130582 16-Jun-2004 ru

Assorted markup, spelling, and grammar fixes.


130538 15-Jun-2004 ru

Overhaul the markup.


130482 14-Jun-2004 jdp

Update the .Dd date for previous commit.

Gently nudged by: krion


130481 14-Jun-2004 jdp

Change the return value of sema_timedwait() so it returns 0 on
success and a proper errno value on failure. This makes it
consistent with cv_timedwait(), and paves the way for the
introduction of functions such as sema_timedwait_sig() which can
fail in multiple ways.

Bump __FreeBSD_version and add a note to UPDATING.

Approved by: scottl (ips driver), arch


130432 13-Jun-2004 le

What world have we come to when even style(9) isn't unfailable:
correct style nit in an example.


130238 08-Jun-2004 yar

Touch .Dd (date) since new functionality has been documented.

Reminded by: ru


130235 08-Jun-2004 yar

Make the legend to the table of interface flags compact
for the reader's convenience.

Suggested by: ru


130234 08-Jun-2004 yar

Describe how polling(4) applies to network interfaces.

Reviewed by: ru


130195 07-Jun-2004 yar

1. There are interface capabilities to be used by "lower" kernel
components as well, i.e., polling.

2. Stress that if_capenable should be modified only from within
the interface driver because it solely knows about how to control
the capabilities.


130153 06-Jun-2004 pjd

Add missing link.


129726 25-May-2004 brueffer

Fix spelling


129469 20-May-2004 ru

Forgot to bump the document date, *blush*.


129468 20-May-2004 ru

Document mbuf tags based on the OpenBSD manpage.

Submitted by: Gleb Smirnoff


129456 19-May-2004 dwmalone

Add a man page for the kernel part of bpf. I made some edits to the
man page after Orla, so the mistakes are probably mine. Leave a
note on the door welcoming the mdoc police.

Submitted by: Orla McGann <orly@cnri.dit.ie>


129388 18-May-2004 le

An access count change is a prerequisite for doing I/O, so
change 'or' to 'and'.

Pointed out by: pjd@


129387 18-May-2004 le

These hyphens don't need to be escaped.

Pointed out by: pjd@


129386 18-May-2004 le

Fix spelling errors (I forgot that one in my last commit of GEOM man pages).


129381 18-May-2004 le

Update several GEOM related manual pages:

*) Fix spelling errors.
*) Better english.
*) Re-phrasing.

Not Reviewed by: pjd (one week timeout)
Approved by: grog (mentor)


129365 17-May-2004 hmp

Add rman_get_device(9) to SYNOPSIS, .Nm and MLINK it to
rman(9).


129231 14-May-2004 hmp

mdoc(7) police:

* remove an extra comma at the end of the .Nm list


129193 13-May-2004 imp

Add some verbage over the difference between BUS_ADD_CHILD and
device_add_child. The former calls the latter.

Pointed out by: jhb


129192 13-May-2004 imp

o Add cautions about multiple adds of the device
o Remove setting the description of the device (that is more properly done in
probe).
o Remove setting the driver, as it is unnecessary
o Add pseudo code to ensure that the device isn't added to the tree already.
o remove some now unreferenced routines


129191 13-May-2004 imp

Add caveats about adding devices in the IDENTIFY context.


129190 13-May-2004 imp

The DEVICE_IDENTIFY man page refers to this, create a dummy one
directing people to device_add_child.


129118 11-May-2004 hmp

Add a comma after `e.g.', so that mdoc does not add two whitespaces
automatically.

Noticed by: Ruslan Ermilov <ru at FreeBSD.org>


129107 10-May-2004 hmp

Document the 'fdidx' argument of VOP_OPEN(9).

PR: 56911
Noticed by: Jun Su <junsu@m-net.arbornet.org>


128954 05-May-2004 hmp

Correct misinformation, vm_map_remove(9) is the `exported' version of
vm_map_delete(9), not vm_map_remove(9).


128951 05-May-2004 hmp

mdoc(7) police:

* correctly place parenthisized sentences
* remove hard sentence breaks
* use .Vt instead of .Fn


128950 05-May-2004 hmp

Make the manual page consistent and add a cross-reference to wakeup(9).


128924 04-May-2004 maxim

o Document m_getcl(9).

Submitted by: Gleb Smirnoff
MFC after: 2 weeks


128717 28-Apr-2004 maxim

o Add a missed description for m_free(9).

Optained from: NetBSD
MFC after: 1 week


128306 16-Apr-2004 ru

Make whatis(1) happy.


128275 15-Apr-2004 markm

Do a style fixup on the example function.


128106 11-Apr-2004 imp

Move advise from DEVICE_PROBE.9 about where to probe children.


128104 11-Apr-2004 imp

Document more clearly that a probe routine:
Should have no side effects
Must not hold resources when it returns
May be called multiple times if it returns < 0.

Remove the bad advise that the probe routine should look for children
for devices that implement busses. This is more properly reserved for
the attach routine.


127969 06-Apr-2004 cperciva

Introduce a callout_drain() function. This acts in the same manner as
callout_stop(), except that if the callout being stopped is currently
in progress, it blocks attempts to reset the callout and waits until the
callout is completed before it returns.

This makes it possible to clean up callout-using code safely, e.g.,
without potentially freeing memory which is still being used by a callout.

Reviewed by: mux, gallatin, rwatson, jhb


127962 06-Apr-2004 markm

Fix some syntax errors in examples. These were discovered when trying
to follow the examples concerned.


127957 06-Apr-2004 ru

- Overdue bump of the document date.
- Fixed markup.
- Minor wordsmithing.


127705 01-Apr-2004 ru

Assorted mdoc(7) fixes.


127704 01-Apr-2004 silby

Fix last commit to conform to mdoc style.

Submitted by: hmp


127701 01-Apr-2004 silby

Document the m_defrag function. (Mostly copied from the description
in uipc_mbuf.c)


127655 31-Mar-2004 bms

Add David Young's descriptive text for the radiotap interface.
Add David Young to copyright comments.


127583 29-Mar-2004 hmp

Mdoc Police:

* Use .Fa instead of .Pa for function arguments.

* Utilize the .Po/.Pc commands for parenthesis
so the format is not ruined.

Inspired by: pjd's last commit to this file


127581 29-Mar-2004 pjd

Note that we can pass NULL as 4th argument for copystr() and copyinstr()
functions.

With little mdoc(7) help from: hmp


127374 24-Mar-2004 pjd

The topology lock is not needed for g_error_provider() function.

Discussed with: phk


127372 24-Mar-2004 pjd

Added a note, that g_access() function cannot failed when dc[rwe] <= 0.


127371 24-Mar-2004 pjd

Functions:

- g_new_geomf(),
- g_new_providerf(),
- g_new_consumer()

cannot failed (by returning NULL), so don't scare programmers.


127133 17-Mar-2004 njl

Add bus_alloc_resource_any(9), which does bus_alloc_resource() with the
appropriate default values. Document it in the manpage.

Submitted by: Mark Santcroos <marks@ripe.net>
Reviewed by: imp, dfr, bde
Abstains: bde


127014 15-Mar-2004 truckman

Change len pararmeter from u_int to size_t.

Document vslock() return values.


126886 12-Mar-2004 jhb

Rewrite sleepqueue manpage to catch up to the new sleep queue interface.


126864 11-Mar-2004 pjd

mdoc(7): New sentence should start on new line.

Pointed out by: hmp


126861 11-Mar-2004 pjd

Add reference to the g_access(9) manual page.


126860 11-Mar-2004 pjd

Connect g_access(9) to the build.


126859 11-Mar-2004 pjd

Add manual page for g_access(9) GEOM function.


126814 10-Mar-2004 jhb

- Document cv_broadcastpri().
- Remove references to cv_waitq_*() as they no longer exist.


126746 08-Mar-2004 bms

Update pmap_pinit(9) to reflect pmap_pinit2() removal by alc.


126720 07-Mar-2004 josef

Document kernel functions securelevel_gt and securelevel_ge.

Approved by: simon(mentor)
Submitted by: Christian S.J. Peron <maneo@bsdpro.com>
PR: docs/62331
mdoc(7) cleanup by: ru


126689 06-Mar-2004 jkoshy

Link in contigmalloc(9) to the build.


126682 06-Mar-2004 jkoshy

Cross-reference contigmalloc(9).


126681 06-Mar-2004 jkoshy

A manual page for contigmalloc(9).

Reviewed by: ru


126669 05-Mar-2004 imp

Add warning about loading/unloading drivers and identify


126660 05-Mar-2004 ru

This interface doesn't return any values.

Submitted by: Mark Santcroos


126626 05-Mar-2004 bms

Fix a typo.


126619 04-Mar-2004 bms

Hook ieee80211 manpages up to the build; fix 1 snafu which crept in.

Noticed by: Matthias Schuendehuette
Pointy hat to: bms


126597 04-Mar-2004 bms

Add an MLINKS entry for radiotap(9).


126596 04-Mar-2004 bms

Initial import of documentation for net80211 interface code.
Of particular interest here is the ieee80211_radiotap(9) man page.

TODO: Flesh out ieee80211_node.9, ieee80211_proto.9.

Submitted by: bms (with help from Darron Broad)


126468 01-Mar-2004 simon

- Fix typo.
- Use .Fx when I'm here anyway.

PR: docs/63622
Submitted by: Andrew Boothman <andrew@mux.org.uk>


126390 28-Feb-2004 le

Add MLINKs for MALLOC_DEFINE and MALLOC_DECLARE.

Approved by: grog (mentor)


126371 28-Feb-2004 phk

Add contents to manualpage for generic watchdog facility.
Formatting likely to break several UN resolutions.


126321 27-Feb-2004 ru

mtod() returns pointer to the specified type, not necessarily "void *".


126320 27-Feb-2004 des

Document sysctl_move_oid().


126256 26-Feb-2004 rwatson

Update copyright on mac.9 for 2004. Use "-" for copyright year
ranges.

Add additional credits for contributions to the MAC Framework.

Obtained from: TrustedBSD Project
Sponsored by: DARPA, McAfee Research


126202 24-Feb-2004 jhb

- Clarify ambiguous statement about not being able to both slock and xlock
a single lock at the same time.
- Avoid using "own" to refer to holding either a shared or exclusive lock
as it is only really correct for exclusive locks.
- Reword the sentence about sleep-ability to read easier.

Requested by: truckman (1)


126095 22-Feb-2004 njl

bus_set_resource takes a rid, not a pointer to a rid.


125996 19-Feb-2004 ru

Improve formatting.


125979 18-Feb-2004 phk

Improve contents, ruin formatting.


125940 17-Feb-2004 maxim

o Be consistent with the declaration: pri -> priority.

Spotted by: Dmitry Rzhavin
MFC after: 1 week


125889 16-Feb-2004 des

Back out previous commit due to objections.


125883 16-Feb-2004 des

Document the change in M_WAITOK semantics.


125768 13-Feb-2004 pjd

Update manual pages: the name of function g_access_rel() has
changed to g_access().

Approved by: scottl (mentor)


125715 11-Feb-2004 pjd

Create symbolic link for g_print_bio(9) manual page.

Approved by: scottl (mentor)


125714 11-Feb-2004 pjd

Document g_print_bio() function.

Approved by: scottl (mentor)


125700 11-Feb-2004 pjd

Added GEOM kernel API manuals to the build.

Reviewed by: scottl
Approved by: phk, scottl (mentor)


125699 11-Feb-2004 pjd

Added first part of GEOM kernel API manuals pages.
Documented function and macros are:
- DECLARE_GEOM_CLASS(),
- g_attach(),
- g_detach(),
- g_new_bio(),
- g_clone_bio(),
- g_destroy_bio(),
- g_new_consumer(),
- g_destroy_consumer(),
- g_read_data(),
- g_write_data(),
- g_post_event(),
- g_waitfor_event(),
- g_cancel_event(),
- g_new_geomf(),
- g_destroy_geom(),
- g_new_providerf(),
- g_destroy_provider(),
- g_error_provider(),
- g_provider_by_name(),
- g_wither_geom().
and more to come.

I want to thanks following people for help with those documents:
Slawek Zak <zaks@prioris.mini.pw.edu.pl>
Simon L. Nielsen <simon@FreeBSD.org>
Pieter de Boer <g.p.de.boer@st.hanze.nl>
and of course
Poul-Henning Kamp <phk@FreeBSD.org>

Reviewed by: phk, scottl
Approved by: phk, scottl (mentor)


125678 11-Feb-2004 bms

Document the functions m_apply() and m_getptr().

Requested by: Maxim Konovalov


125666 10-Feb-2004 jmg

add verbage about how once BUS_TEARDOWN_INTR returns, the interrupt will
no longer be active or called..

Also document requirement that no mutexes be held across calls to these
functions..

Reviewed by: jhb, rwatson


125658 10-Feb-2004 bms

Spelling.


125422 04-Feb-2004 pjd

Document new 'what' value for sx_assert(9).

PS. There is a inconsistency in this manual page, because in
non-WITNESS case sx_assert(9) does not panics, it only prints
the warning. I haven't fixed this, because jhb@ is planing to
replace those printf()s with panic()s.

Reviewed by: jhb
Approved by: jhb, scottl (mentor)


125411 04-Feb-2004 brooks

Add the kernel side of network interface renaming support.

The basic process is to send a routing socket announcement that the
interface has departed, change if_xname, update the sockaddr_dl
associated with the interface, and announce the arrival of the interface
on the routing socket.

As part of this change, ifunit() is greatly simplified by testing
if_xname directly. if_clone_destroy() now uses if_dname to look up the
cloner for the interface and if_dunit to identify the unit number.

Reviewed by: ru, sam (concept)
Vincent Jardin <vjardin AT free.fr>
Max Laier <max AT love2party.net>


125311 01-Feb-2004 ale

Fix MSIZE definition location.

PR: docs/62129
Submitted by: Lee Brotherston <lee@nerds.org.uk> (PR),
Marc Silver <marcs@draenor.org> (patch)
Approved by: blackend (mentor)


125167 28-Jan-2004 rwatson

Add debug.mutex.prof.reset.


125145 28-Jan-2004 mux

Fix another typo.


125144 28-Jan-2004 mux

Fix typo.


125096 27-Jan-2004 imp

Fix the example back the way it was. Fix the commentary to say it
allocates a 32 byte range of ioports.


125066 27-Jan-2004 njl

Document my adventures in newbus land. Clarify some examples, especially
that count is in bytes, not bits. There are some drivers that I think make
this mistake. (I've seen counts of 16 in the tree).


125026 26-Jan-2004 yar

Document the interface method if_input().


125025 26-Jan-2004 des

mdoc cleanup.

Submitted by: ru


125016 26-Jan-2004 yar

Clearly state that upon SIOCSIFFLAGS, ifp->if_flags is updated
at the common ifioctl() level.


125014 26-Jan-2004 yar

Extend the description of SIOCSIFCAP.


124967 25-Jan-2004 des

Add more implentation notes based on the comments in sys/conf/NOTES.


124965 25-Jan-2004 des

Add a cross-reference to MUTEX_PROFILING(9).


124964 25-Jan-2004 des

Add a manual page for the mutex profiling code.


124963 25-Jan-2004 des

I don't normally use my middle name, so remove it from attributions in
man pages (though not from copyright notices). While I'm here, add email
addresses where appropriate.


124820 22-Jan-2004 yar

Extend the description of the framework of interface capabilities.


124819 21-Jan-2004 yar

As I've been pointed out by Andrew Gallatin, there are some
network interface cards smart (or twisted?) enough to be able
to calculate a TCP/UDP checksum for a packet fragmented by the
host CPU. Therefore the paragraph on the case has been revised.


124783 21-Jan-2004 yar

A couple of minor clarifications.


124779 21-Jan-2004 yar

Add a description for the hardware-assisted checksumming
facilities based on http://people.freebsd.org/~jlemon/csum.txt
and my own observations.


124747 20-Jan-2004 ru

Use a single style for share/man/ makefiles:

- Sort MAN and MLINKS in "dictionary" order ignoring case.

- For multi-value MAN and multi-pair MLINKS, put each value/pair
on its own line, for easier sorting and so that further diffs
are easier to see.


124698 18-Jan-2004 yar

Reformat the list of essential mbuf fields according
to the nice style used in ifnet(9).
This includes specifying field types, starting descriptions
with a capital letter, and ending them with a full stop.
Improve the language a bit, as well.


124688 18-Jan-2004 yar

Update the list of mbuf types from <sys/mbuf.h>.


124686 18-Jan-2004 yar

Update the list of possible mbuf flags from <sys/mbuf.h>.


124397 11-Jan-2004 rwatson

Minor typo: no line break after .Fn.


124395 11-Jan-2004 rwatson

Add a basic manpage for vn_fullpath().

Sponsored by: DARPA, McAfee Research


124316 09-Jan-2004 des

Move the description of sbuf_delete() closer to the description of
sbuf_new(), and try to make them both a little clearer.


124313 09-Jan-2004 simon

Add missing manual page links for rman(9) and sysctl_add_oid(9).

Submitted by: Lukas Ertl <l.ertl@univie.ac.at>
PR: docs/60088


124066 02-Jan-2004 scottl

Document taskqueue_enqueue_fast()


124037 01-Jan-2004 jkoshy

Add "options INVARIANTS" and "options INVARIANT_SUPPORT" to the
synopsis, with supporting text in the body of the manual page.

Add a cross-reference to panic(9) for completeness.

Reviewed by: ru (synopsis changes)


123919 28-Dec-2003 jkoshy

Use of the MTX_SYSINIT macro requires the inclusion of <sys/kernel.h>.


123918 28-Dec-2003 jkoshy

Make this manual page reflect the sources better.

- A #include of <sys/mutex.h> is no longer needed to use sx(9) (since
2001/05/01).
- Use of the SX_SYSINIT() macro requires inclusion of '<sys/kernel.h>'


123891 27-Dec-2003 jkoshy

Improve continuity of text.


123492 12-Dec-2003 roam

Fix a couple of typos: hexidecimal -> hexadecimal.

Reviewied by: scottl


123447 11-Dec-2003 jkoshy

Typo fix.


123445 11-Dec-2003 jkoshy

Document a few kernel functions and the sysctl tunables that
affect their behaviour.


123345 09-Dec-2003 mtm

Grammar


123256 07-Dec-2003 scottl

Add a manual page for the consolidated debugging commit.


122757 15-Nov-2003 trhodes

Remove an extra 'for' in the HISTORY section.


122554 12-Nov-2003 fanf

Better English usage.

Submitted by: wollman


122445 10-Nov-2003 hmp

Manual page for Asynchronous Logging Queues (ALQ) facility.

The manual page contains enough information to get someone started
with ALQ.

MLINKS have been added appropriately.

Approved by: jeff, des
Reviewed by: des, jeff, sam, brooks, rwatson, mtm


122424 10-Nov-2003 fanf

Clarify the rule about structure typedefs being discouraged, following
a discussion on src-committers.


122309 08-Nov-2003 jkoshy

Cross-reference pgfind(9) and pfind(9) from each others manual pages.


122173 06-Nov-2003 des

device_get_name(9) and device_get_nameunit(9) return const char *, not int.


122093 05-Nov-2003 imp

Remove the file


122092 05-Nov-2003 imp

resource_query_string is dead. Kill it.


121816 31-Oct-2003 brooks

Replace the if_name and if_unit members of struct ifnet with new members
if_xname, if_dname, and if_dunit. if_xname is the name of the interface
and if_dname/unit are the driver name and instance.

This change paves the way for interface renaming and enhanced pseudo
device creation and configuration symantics.

Approved By: re (in principle)
Reviewed By: njl, imp
Tested On: i386, amd64, sparc64
Obtained From: NetBSD (if_xname)


121467 24-Oct-2003 hmp

Mdoc Janitor:

* Use uppercase for .Dt macro arguments.

* Use 'manual' instead of 'man' for consistency.


121427 23-Oct-2003 hmp

Mdoc Janitor:

* Add a forgotten .An macro for 'Jeroen Ruigrok van der Werven'.

Noticed by: simon@


121414 23-Oct-2003 hmp

Mdoc Janitor:

* Use 'manual' instead of 'man' for consistency.


121406 23-Oct-2003 hmp

Mdoc Janitor:

* Uppercase the .Dt command contents.

* Remove incorrect usage of .Fa.

* Use .Va for struct members, and .Vt for structs
(correct replacement for .Fa)

* Markup VM_* and MAP_* macros with .Dv command.

* Replace 'man' with 'manual' for consistency.


121402 23-Oct-2003 hmp

Correct #include file in SYNOPSIS:

It is not sys/geom_disk.h, but located under geom/ directory,
so, mark it geom/geom_disk.h.


121401 23-Oct-2003 hmp

Mdoc Janitor:

* Uppercase .Dt command contents.

* Make use of .Fo and .Fc for marking up functions with
a lot of arguments.

NOTE: Please do not use the `\' line seperator for mdoc(7)
manual pages, as it has problems of its own on some displays;
instead, consult the mdoc(7) manual on using .Fo and .Fc.

* Change 'man' to 'manual' for consistency.


121400 23-Oct-2003 hmp

Mdoc Janitor:

* Use the .Sx command for referencing sections.


121395 23-Oct-2003 hmp

Mdoc Janitor:

* Add .Vt in the right places, transform some .Fa to .Vt, depending
on discussion context.

* When refering to the function malloc(), use .Fn, and not .Xr.

* Add `The' to prefix a sentence when describing a function, so
it results in ``The xxx() function..."

* Use `system call' instead of `syscall'.

* Improve the sentence which discusses accept_filt_generic_mod_event();
Talk about moduledata_t, and refer to the DECLARE_MODULE(9) manual
page.

* Properly markup .An (Author Name) throughout the AUTHORS section.


121389 23-Oct-2003 hmp

Mdoc Janitor:

* Make use of .Xr for vput() and vrele() functions.

* Reword (s/man/manual) in AUTHORS section.


121387 23-Oct-2003 hmp

Mdoc Janitor:

* Remove first person sentence start.

* Make use of .Dv for LEASE_READ and LEASE_WRITE.

* Move the LOCKS section below the standard mdoc(7) RETURN VALUES
section.

* Cleanup grammar for RETURN VALUES and AUTHORS section.

* Remove redundant sentence on return values.


121386 23-Oct-2003 hmp

Mdoc Janitor:

* Make use of .Sq mdoc command.

* Add a .Pp for separating VOP_RECLAIM text from VOP_INACTIVE

* Make use of .Fa for the vnode pointer function arg.


121385 23-Oct-2003 hmp

Mdoc Janitor:

* Fix hard sentence breaks.


121384 23-Oct-2003 hmp

Mdoc Janitor:

* Fix hard sentence breaks.


121383 23-Oct-2003 hmp

Mdoc Janitor:

* Fix hard sentence breaks.


121382 23-Oct-2003 hmp

Mdoc Janitor:

* Fix hard sentence breaks in VFS_*(9) and VOP_*(9) manual pages.


121380 23-Oct-2003 hmp

Mdoc Janitor:

* Fix hard sentence breaks.

* NOTE: devstat(9) requires more mdoc(7) work.


121379 23-Oct-2003 hmp

Mdoc Janitor:

* Fix hard sentence breaks.

* Correct use of a period in DELAY(9).


121378 23-Oct-2003 hmp

Mdoc Janitor:

* Fix hard sentence breaks.


121377 23-Oct-2003 hmp

Mdoc Janitor:

* Remove hard sentence breaks from last commit to this file.


121334 22-Oct-2003 hmp

Fix the include path of rijndael.h.

PR: docs/58437
Submitted by: Joachim Strombergson


121151 17-Oct-2003 bde

1. Catch up with the move of the declaration of panic() from <sys/param.h>
back to <sys/systm.h>.
2. Remove hard sentence breaks.

Reminded by: Stefan Farfeleder <stefan@fafoe.narf.at> (1)


120835 06-Oct-2003 bms

Update cross-references.


120832 06-Oct-2003 bms

Add pmap_wired_count() and pmap_resident_count() to the pmap documentation.

Discussed with: peter


120808 05-Oct-2003 bms

Use the term 'physical memory' consistently.


120774 05-Oct-2003 bms

Update the page_req classes VM_ALLOC_NOOBJ and VM_ALLOC_ZERO.

Suggested by: alc


120724 04-Oct-2003 bms

Remove the pmap_prefault(9) page as it is no longer required.


120723 04-Oct-2003 bms

Update the pmap(9) documentation to reflect the movement of pmap_prefault()
to the machine-independent VM layer, as per alc's recent commit.
Add a definition for the new pmap_is_prefaultable() helper function.


120651 01-Oct-2003 imp

Looks like I misread the callout code. We do not seem to hold the
callout lock while the callout is happening. So the serialization
that I thought was happening isn't. Therefore, remove the part of the
bugs that says this. Leave in the other bug as it is very hard to
work around (impossible?).

Fix various typos.

Also note that timeout/untimeout are considered to be the old interface and
the callout interface should be used insetad.

Submitted by: bde (first two) and wollman (third)


120622 01-Oct-2003 imp

Document the implications of the callout_stop() returning 0 if the
callout has finished or is in progress. Also document that the
locking of the callout code for FreeBSD 5 has eliminated the 'or is in
progress' clause as a possibility and that such elimination is an
accident of the implementation and shouldn't be relied upon.


120588 30-Sep-2003 bms

Add manual pages for the vm_map(9) part of the VM.

Reviewed by: juli
Approved by: jake (mentor)


120587 30-Sep-2003 bms

Add a (somewhat verbose) manual page for vm_map(9).

Reviewed by: juli
Approved by: jake (mentor)


120586 30-Sep-2003 bms

Add manual pages for the vm_map(9) part of the VM.

Reviewed by: juli
Approved by: jake (mentor)


120535 28-Sep-2003 wollman

Having had to spend several hours today figuring out just what it is that
VOP_GETPAGES() is supposed to do, share the results with everyone who isn't
Alan Cox.


120530 27-Sep-2003 imp

Two minor fixes:
o It is the /usr/include files, not the /usr include files.
o Document the practice of converting to the c99 standard uintXX_t
form from the older, but non-standard, BSD-style u_intXX_t. This
has been going on in the tree for a while now, and I've heard other
developers also state that this conversion is happening. Note also
that this is a slow process and should be treated like whitespace
changes.


120497 26-Sep-2003 rwatson

Additional information on the memory properties of struct disk
instances: the memory holding a struct disk should be pre-zeroed so
as to initialize any storage framework private data in the structures
properly. In addition, the memory must be writable so that the
private data may be updated.

Pointed out by: phk


120496 26-Sep-2003 rwatson

Documentation of kernel disk_create() and disk_destroy() APIs. These
APIs permit disk device drivers to register and deregister storage devices
for use by storage device consumers. No doubt this API will change
more as time flies by, but this should be helpful to the creators of
new storage device drivers.

Reviewed by: phk


120446 25-Sep-2003 bms

Fix MLINKS.

Noticed by: bde
Pointy hat to: bms


120442 25-Sep-2003 sam

update to reflect new api

Submitted by: Max Laier <max@love2party.net>
Obtained from: NetBSD (with changes)


120441 25-Sep-2003 bms

Add manual page documentation for the machine-independent PMAP subsystem.
Include documentation of alc's new pmap_extract_and_hold() function.

Reviewed by: hmp
Approved by: jake (mentor)


120401 24-Sep-2003 marcel

Hook up BUS_CONFIG_INTR.9


120400 24-Sep-2003 marcel

Add a manpage for BUS_CONFIG_INTR.

Reminded by: eivind


120054 14-Sep-2003 ru

Get rid of duplicates.


120010 12-Sep-2003 ru

mdoc(7): Fix common mistakes made in the SEE ALSO section.


120007 12-Sep-2003 hmp

Remove double usage of performance, and combine it to one.


119964 10-Sep-2003 ru

mdoc(7): Properly mark C headers.


119893 08-Sep-2003 ru

mdoc(7): Use the new feature of the .In macro.


119709 03-Sep-2003 ken

Fix typo in the last commit.

Pointed out by: njl
MFC after: 3 days


119708 03-Sep-2003 ken

Move dynamic sysctl(8) variable creation for the cd(4) and da(4) drivers
out of cdregister() and daregister(), which are run from interrupt context.

The sysctl code does blocking mallocs (M_WAITOK), which causes problems
if malloc(9) actually needs to sleep.

The eventual fix for this issue will involve moving the CAM probe process
inside a kernel thread. For now, though, I have fixed the issue by moving
dynamic sysctl variable creation for these two drivers to a task queue
running in a kernel thread.

The existing task queues (taskqueue_swi and taskqueue_swi_giant) run in
software interrupt handlers, which wouldn't fix the problem at hand. So I
have created a new task queue, taskqueue_thread, that runs inside a kernel
thread. (It also runs outside of Giant -- clients must explicitly acquire
and release Giant in their taskqueue functions.)

scsi_cd.c: Remove sysctl variable creation code from cdregister(), and
move it to a new function, cdsysctlinit(). Queue
cdsysctlinit() to the taskqueue_thread taskqueue once we
have fully registered the cd(4) driver instance.

scsi_da.c: Remove sysctl variable creation code from daregister(), and
move it to move it to a new function, dasysctlinit().
Queue dasysctlinit() to the taskqueue_thread taskqueue once
we have fully registered the da(4) instance.

taskqueue.h: Declare the new taskqueue_thread taskqueue, update some
comments.

subr_taskqueue.c:
Create the new kernel thread taskqueue. This taskqueue
runs outside of Giant, so any functions queued to it would
need to explicitly acquire/release Giant if they need it.

cd.4: Update the cd(4) man page to talk about the minimum command
size sysctl/loader tunable. Also note that the changer
variables are available as loader tunables as well.

da.4: Update the da(4) man page to cover the retry_count,
default_timeout and minimum_cmd_size sysctl variables/loader
tunables. Remove references to /dev/r???, they aren't used
any longer.

cd.9: Update the cd(9) man page to describe the CD_Q_10_BYTE_ONLY
quirk.

taskqueue.9: Update the taskqueue(9) man page to describe the new thread
task queue, and the taskqueue_swi_giant queue.

MFC after: 3 days


118086 27-Jul-2003 mux

Document the new BUS_DMA_ZERO flag.


117836 21-Jul-2003 harti

Document uma_zone_set_max and its non-obvious behaviour.

Reviewed by: bmilekic


117670 16-Jul-2003 truckman

Fix a typo.


117669 16-Jul-2003 truckman

Document mutex pool API enhancements that allow creation and use of
multiple mutex pools.


117624 15-Jul-2003 harti

Add a facility for devices, specifically network interfaces, that require
large to huge amounts of small or medium sized receive buffers. The problem
with these situations is that they eat up the available DMA address space
very quickly when using mbufs or even mbuf clusters. Additionally this
facility provides a direct mapping between 32-bit integers and these buffers.
This is needed for devices originally designed for 32-bit systems. Ususally
the virtual address of the buffer is used as a handle to find the buffer as
soon as it is returned by the card. This does not work for 64-bit machines
and hence this mapping is needed.


117553 14-Jul-2003 harti

Document the PHY chip statistics.


117192 03-Jul-2003 scottl

Update the rest of the busdma man page for the change in bus_dma_tag_create()


117190 03-Jul-2003 scottl

Update the busdma manpage to reflect the recent API change to
bus_dma_tag_create.


117085 30-Jun-2003 jmg

move maxsegsz down a bit so that the arg definition order matches the
calling order.


116807 25-Jun-2003 mux

Backout part of my previous commit dealing with bus_dmasync_op_t
documentation since people think it was better the way it was before.

Requested by: gibbs (some time ago)


116501 17-Jun-2003 hmp

Add MLINK for busdma(9) to bus_dma(9).
This resolves confusion for at least 10 people.

Suggested by: Bruce M. Simpson <bms@spc.org>
Approved by: des (mentor)


116405 15-Jun-2003 yar

Name a function argument "mbuf", not "buf", if it is
a pointer to struct mbuf for clarity and consistency.


116404 15-Jun-2003 yar

Add missing descriptions of macros M_ALIGN and MH_ALIGN.
Remove a reference to the defunct macro M_COPY_PKTHDR;
document the new functions m_dup_pkthdr() and m_move_pkthdr(),
and the macro variant of the latter, M_MOVE_PKTHDR().


116403 15-Jun-2003 yar

Add more markup to the mbuf(9) manpage. This includes:

- tagging plaintext "mbuf", "mbuf cluster", and "mbuf chain"
with .Vt (variable type) since all of them are ways of managing
data, i.e., they can be seen as data types;

- using .Vt/.Va instead of .Li (literal) where appropriate;

- tagging plaintext words that actually refer to function arguments
with .Fa.

Suggested by: ru


116400 15-Jun-2003 yar

Use .Va, not .Fa, to refer to structure members.

mdoc(7) contains an ambiguous statement on the issue,
but our mdoc(7) police's opinion is solid.

Suggested by: ru


116309 13-Jun-2003 mux

- Document the fact that you can specify several DMA operations to
bus_dmamap_sync() by OR'ing them together.
- Don't document what BUS_DMASYNC_PREREAD|BUS_DMASYNC_PREWRITE and
BUS_DMASYNC_POSTREAD|BUS_DMASYNC_POSTWRITE is supposed to do when
passed to bus_dmamap_sync(). There are other possible combinations
and the reader just needs to know what the individual flags do and
that he can combine different DMA operations.
- Use .An when listing authors.

Reviewed by: hmp


116272 12-Jun-2003 hmp

Remove paragraph which describes how we might switch our packet queueing
discipline to Random Early Detection (RED) in the future. The same para
incorrectly spelt ``Random Early Detection'' as ``Random Early Drop''.

While I am there, nuke IF_ENQ_DROP from the list of functions. More
work will be done on this, since some of the functions like
if_enq_drop() and if_queue_drop() were replaced with one function
called if_handoff() that does the job of enqueing the packet and
updating interface statistics as necessary.

Reviewed by: wollman
Approved by: des (mentor)
MFC after: 1 day


116258 12-Jun-2003 harti

This is a driver for the physical layer chips used in ATM interfaces.
It currently supports the PMC Sierra Lite, Ultra and 622 chips and
the IDT 77105. The driver handles media options and state in a consistent
manner for ATM drivers. The next commit to the midway driver will make
it use utopia.


116255 12-Jun-2003 harti

Document the fact that one is allowed to sleep while holding an sx lock.

Discussed with: jhb@


116254 12-Jun-2003 harti

Rename the section 'locking considerations' into 'context'.
Change the wording in this section to get rid of references to mutexes
and talk about sleeping instead.

Discussed with: jhb@, ru@


116148 10-Jun-2003 sheldonh

Add cross-references to pci(4) and pciconf(8).


116099 09-Jun-2003 hmp

Hook up pci(9) manual page to the build.

Approved by: des (mentor)


116098 09-Jun-2003 hmp

Bring in a manual page documenting some important functions of the
PCI bus interface. I have made some modifications to this manual
page, so it looks a bit different from the original version that
was posted to me.

Submitted by: Bruce M. Simpson <bms@spc.org>
Reviewed by: imp, mdodd (early copy)
Approved by: des (mentor)

MFC after: 3 days


116039 08-Jun-2003 charnier

Add or correct section number in .Xr


115876 05-Jun-2003 rwatson

Document VOP_LISTEXTATTR(9).

Obtained from: TrustedBSD Project
Sponsored by: DARPA, Network Associates Laboratories


115874 05-Jun-2003 rwatson

ENOATTR is now used for error returns indicating an undefined
extended attribute.

EINVAL can also reflect an invalid namespace for either a get
or set operation on EAs.

Obtained from: TrustedBSD Project
Sponsored by: DARPA, Network Associates Laboratories


115804 04-Jun-2003 rwatson

Document the BUG (feature) that you can pass in an empty name to
VOP_GETEXTATTR() to retrieve the attribute name list on some file
systems, and note that this will be replaced with its own VOP
in due course.

Pointed out by: Dominic Giampaolo <dbg@apple.com>


115803 04-Jun-2003 rwatson

The vnode operations for extended attributes no longer suffer from
the features (bugs) in the BUGS section related to querying the
required buffer size, or telling if an overflow occured.


115701 02-Jun-2003 ru

The devclass is an object type, mark it as such.
This also unbreaks the devclass_find(9) manpage.


115700 02-Jun-2003 ru

Restore one usage of .Ar that was legal.


115697 02-Jun-2003 ru

Assorted mdoc(7) fixes.


115443 31-May-2003 hmp

Mass cleanup of the namei(9) manual page.

- Nuke markup indicators for editors.
- Bump the date
- Use mdoc(7) specifiers for marking up defines, etc.
- Update the prototypes
- Flash out the description
- Cleanup english, spelling and grammar
- Update .Xr's
- Add following SEE ALSOs: uio(9), uma(9), vput(9), vref(9)
- Reorder sections to be in agreement with mdoc(7)
- Add FILES section
- Update Copyright and AUTHORS section.

Approved by: des (mentor)


115441 31-May-2003 hmp

Various mdoc(7) fixes:

Add devfs(5) reference - make_dev.9
Change .Xr from VFS_VGET(9) to vget(9) - vnode.9
Spelling fix, 'useage' to 'usage' - zone.9

Approved by: des (mentor)


115440 31-May-2003 hmp

Some mdoc(7) fixes:

Nuke incorrect usage of .Ar; replace it with .Vt, .Va or .Fa appropriately.
The .Ar mdoc(7) specifier should only be used when displaying command line
arguments.

Approved by: des (mentor)


115420 30-May-2003 hmp

Add the bus_dma(9) manual page to our section 9 collection. It
provides comprehensive documentation on FreeBSD's Bus DMA interface.

Approved by: gibbs, re@ (scottl)
Reviewed by: gibbs, scottl, des, sam, jake, tmm


115418 30-May-2003 ru

Assorted mdoc(7) fixes.


115282 24-May-2003 hmp

Bring vnode(9) man page to its senses:

- remove '-*- nroff -*-'
- bump the date

- nuke outdated ``struct vnode''
(it is just better to lookup the struct in the header)

- nuke ``enum vtype'' and related junk
- add a one line about ``struct vnode''
- use .Va instead of .Dv for vnode struct fields

Approved by: des (mentor), re (bmah)
Reviewed by: arch@, mentor


115213 21-May-2003 ru

Link {be,le}{16,32,64}{enc,dec}.9 to byteorder.9.

Approved by: re (blanket)


115212 21-May-2003 ru

Fixed the whatis(1) entry for this manpage by using only
one short description (.Nd).

Submitted by: sheldonh

Added bswap*() functions to the NAME section.

Approved by: re (blanket)


115211 21-May-2003 ru

Kill whitespace at EOL.

Approved by: re (blanket)


115210 21-May-2003 ru

mdoc(7) fixes.

This manpage should really have only one short description (.Nd);
if anyone could come up with a wording suitable for both conversion
and decoding/encoding functions, that would unbreak the whatis(1)
output for this manpage.

Approved by: re (blanket)


115209 21-May-2003 ru

Assorted mdoc(7), grammar, spelling, and punctuation fixes.

Approved by: re (blanket)


115143 18-May-2003 ru

Fixed troff(1) and mdoc(7) warnings.

Approved by: re (blanket)


115079 16-May-2003 hmp

Remove an extraneous `.El' that was reported by `groff -z`.

Approved by: des (mentor), re (scottl)


115078 16-May-2003 hmp

Remove an extraneous space, reported by `groff -z`.

Approved by: des (mentor), re (scottl)


115077 16-May-2003 hmp

Remove a bogus NOTES section. Move that content elsewhere.

Approved by: des (mentor), re (scottl)


115075 16-May-2003 hmp

Document the ``resource management'' routines in rman(9).

Submitted by: Bruce M. Simpson <bms@spc.org>
Reviewed by: mdodd

Approved by: des (mentor), re (scottl)


115073 16-May-2003 jhb

- Use better terminology when describing mutex operations in msleep(9)'s
description.
- Remove some bogus commas.
- Use the past tense when referring to the removal of the sleep() function
since it happened quite a while ago and since the previous sentence in the
paragraph already uses the past tense.

Approved by: re (rwatson)


115072 16-May-2003 hmp

Add a manual page for the CTASSERT(9) macro.

Approved by: des (mentor), re (scottl)


115071 16-May-2003 hmp

Document the VFCF_* flags.

Approved by: des (mentor), re (scottl)


114854 09-May-2003 hmp

Add missing MLINK for arc4rand(9). It is documented in
random(9) and referenced by gbde(4).

PR: docs/51254
Submitted by: Simon L. Nielsen <simon@nitro.dk>
Approved and Reviewed by: des (mentor), re (bmah)


114781 06-May-2003 hmp

malloc(9) types can be used to identify multiple allocations.

PR: docs/38618
Approved by: des (mentor)


114441 01-May-2003 trhodes

fnet(9) claims that "those interfaces supporting reception of multicast
datagrams have a LIST of multicast group memberships...". On -CURRENT, that
LIST is actually a TAILQ. Note that -STABLE still uses a LIST

PR: 50426
Submitted by: Scott Mitchell <scott+freebsd@fishballoon.org>


114068 26-Apr-2003 trhodes

Xref sytle.Makefile(5).

PR: 51183


113836 22-Apr-2003 imp

Document device_set_driver(9)

# now all driver_* functions used outside of subr_bus.o in my kernel
# are documented.


113835 22-Apr-2003 imp

Document device_printf(9).


113834 22-Apr-2003 imp

Document device_set_ivars(9) as well.


113830 22-Apr-2003 imp

man page for device_get_parent.


113829 22-Apr-2003 imp

device_is_alive already was documented in device_get_state, so remove the
separate man page. Document new device_is_attached there and remove that
new man page too.

Connect device_get_name to build, and install a link for
device_get_nameunit.

strangely nobody noticed this yet...


113828 22-Apr-2003 imp

Add man page for device_get_name and device_get_nameunit.


113811 21-Apr-2003 imp

Xref these two functions, since they are similar enough to cause confusion.


113810 21-Apr-2003 imp

Simple man page for new device_is_attached.


113809 21-Apr-2003 imp

Add a man page for device_is_alive.


113491 15-Apr-2003 silby

Add a description of m_defragrandomfailures.


113455 13-Apr-2003 silby

Add info on how to use the MBUF_STRESS_TEST options. (Only 1 option
at present.)


113332 10-Apr-2003 harti

Forced commit to fill in the fields below for the last commit. Also
bump the date of the man page.

PR: docs/24797
Reviewed by: bde, jake, jhb


113283 09-Apr-2003 harti

Explicitely document the locking requirements for the malloc interface.
While beeing here also correct the following:

- list missing macros in the header
- document MALLOC_DEFINE and MALLOC_DECLARE in the SYNOPSIS section
- document additional include requirements for MALLOC_DEFINE
- M_NOWAIT is not 0 anymore
- remove rotted diagnostic messages


113005 03-Apr-2003 phk

Add inline functions {be,le}{16,32,64}{enc,dec}() for encoding decoding
into byte strings of unknown alignment.


112832 30-Mar-2003 imp

rid is not a pointer to int, but rather just a plain int.


112831 30-Mar-2003 imp

Document what bus_set_resource(9) does. It is used by bus drivers to
bind resources that client drivers later access.


112786 29-Mar-2003 kris

Correct a typo in previous commit


112774 29-Mar-2003 imp

Add a new man page for bus_activate_resource and
bus_deactivate_resource. It could use some improvement, and others
are welcomed to do so :-)


112773 29-Mar-2003 imp

Clearify what happens with the cookiep in various cases.


112772 29-Mar-2003 imp

Fix some typos:
race->rare
rman_activate_resource -> bus_activate_resource

Add xref to bus_activate_resource
Minor markup changes for the start/end/count parameters.


112739 28-Mar-2003 imp

Expound a little bit about the softc, where its size is found and a
caution against emulating legacy softc methods used in the tree.


112737 28-Mar-2003 imp

Create a man page for bus_child_present(9), a function to see if a
given device is considered accessible by its parent device bus driver
(or its parent, etc).


112629 25-Mar-2003 jhb

Revert previous commit which accidentally snuck in with some unrelated
changes.

Reported by: bde


112615 25-Mar-2003 jhb

Remove obsolete at_fork() and at_exit() manpages. Curiously, at_exec()
didn't have a manpage.

Reminded by: ru


112421 19-Mar-2003 ceri

Correct typo in function declaration (s/if_dont/if_done).

PR: docs/50136
Submitted by: Scott Mitchell <scott+freebsd@fishballoon.org>
MFC After: 4.8


111953 06-Mar-2003 ceri

Spelling fix: interwining -> intertwining.


111807 03-Mar-2003 des

Nuke caddr_t.

Reminded by: ru


111447 24-Feb-2003 ru

mdoc(7) police: Scheduled sweep.


111415 24-Feb-2003 trhodes

Return bits which were removed in revision 1.22.

Requested by: imp


111413 24-Feb-2003 trhodes

Return bits which were removed in revision 1.28.

Requested by: imp


111059 17-Feb-2003 chris

Back out revision 1.34 until we can come up with a more accurate patch.


111058 17-Feb-2003 chris

Add a section on Giant lock manipulation macros.

Submitted by: Hiten M. Pandya <hiten@angelica.unixdaemons.com>
Reviewed by: bmilekic


110397 05-Feb-2003 charnier

The .Fn function


110315 04-Feb-2003 guido

sleep -> msleep


109992 28-Jan-2003 sam

fix pathname typo

Submitted by: Jim Geovedi <negative@magnesium.net>


109630 21-Jan-2003 alfred

use 'void *' instead of 'caddr_t' for useracc, kernacc, vslock and vsunlock.


109624 21-Jan-2003 alfred

Catch up to WAIT/NOWAIT cleanup.


109537 19-Jan-2003 sheldonh

Add required commas that were ommitted in the previous delta; the
SEE ALSO section's list of manual pages must be comma-separated.


109493 18-Jan-2003 alfred

Document lock order reversals possible when calling allocation functions
with vnode interlocks held.

Emphasize that users need to be careful with malloc flags versus mbuf
flags.

Remove stale portion in vnode.9 about v_tag. We don't have it anylonger.

Submitted by: Hiten Pandya <hiten@unixdaemons.com>


109459 18-Jan-2003 rwatson

Caution programmers not to confuse M_DONTWAIT with M_NOWAIT. They
are not the same.

Suggested by: Hiten Pandya <hiten@unixdaemons.com>


108936 08-Jan-2003 chris

Include a proper reference to the Developers' Handbook in the
SEE ALSO section.

Sponsored by: DARPA, Network Associates Laboratories


108665 04-Jan-2003 schweikh

Typo: s/CTLTYPE_DYN/CTLFLAG_DYN

PR: misc/45012
Submitted by: Steve Coltrin <spcoltri@omcl.org>


108618 03-Jan-2003 trhodes

mdoc(4) police: Markup. Fix 1 hard sentence break.


108617 03-Jan-2003 trhodes

mdoc(7) police: Remove hard sentence breaks.


108616 03-Jan-2003 trhodes

mdoc(7) police: markup nits.


108470 30-Dec-2002 schweikh

Fix typos, mostly s/ an / a / where appropriate and a few s/an/and/
Add FreeBSD Id tag where missing.


108317 27-Dec-2002 schweikh

english(4) police.


108260 24-Dec-2002 ru

Spelling: s/then/than/ where appropriate.


108257 24-Dec-2002 ru

mdoc(7) police: Deal with self-xrefs.


107795 12-Dec-2002 chris

Add and fix cross-references.

Prompted by: rwatson, dcs
Sponsored by: DARPA, Network Associates Labs


107788 12-Dec-2002 ru

Uniformly refer to a file system as "file system".

Approved by: re


107780 12-Dec-2002 ru

mdoc(7) police: markup overhaul.

Approved by: re


107779 12-Dec-2002 ru

mdoc(7) police: markup overhaul.

Approved by: re


107770 12-Dec-2002 ru

mdoc(7) police: overhaul.

Approved by: re


107708 09-Dec-2002 ru

mdoc(7) police: overhaul.

Reviewed by: re


107626 05-Dec-2002 chris

Document the following MAC policies:
o Biba: A data integrity policy
o BSD Extended: Support for the firewall-like access controls (ugidfw(8))
o MLS: Multi-level security, a confidentiality policy

(These files originally lived in src/share/man/man9)

Approved by: re (blanket)
Sponsored by: DARPA, Network Associates Labs
Obtained from: TrustedBSD Project


107479 02-Dec-2002 chris

Document the MLS policy

Approved by: re
Sponsored by: DARPA, Network Associates Labs
Obtained from: TrustedBSD Project


107478 02-Dec-2002 chris

Spelling: "current" -> "currently"

Approved by: re
Sponsored by: DARPA, Network Associates Labs


107383 29-Nov-2002 ru

mdoc(7) police: scheduled sweep.

Approved by: re


107382 29-Nov-2002 ru

mdoc(7) police: catch up to the code changes.

Approved by: re


107282 26-Nov-2002 ru

mdoc(7) police:

Revert to using the .Tn POSIX and .Tn ANSI instead of \*[Px] and \*[Ai]
strings; using these strings is unsafe in troff mode, as they include a
change in a font size.

Approved by: re


107119 20-Nov-2002 chris

Activate mac_biba.9

Approved by: re
Sponsored by: DARPA, Network Associates Labs


107118 20-Nov-2002 chris

Document the Biba MAC policy.

Approved by: re
Sponsored by: DARPA, NAI Labs
Obtained from: TrustedBSD Project


107032 18-Nov-2002 alfred

Flesh out the description of the uma_zcreate callback function arguements
a bit. As there may be changes soon we're still a bit vague unfortunatly.


106419 04-Nov-2002 rwatson

License: update, remove clause three of BSD license per approval of
NAI.

Add cautionary notes on the experimental status of the MAC Framework
in FreeBSD 5.0.

Obtained from: TrustedBSD Project
Sponsored by: DARPA, Network Associates Laboratories


106302 01-Nov-2002 rwatson

Further clarifications of the #ifdef/#if/#elif/#endif style information,
largely submitted by bde. Return our exemption of the #ifdef lint
comments since the exemption is intended to handle a particularly
common current case without mandating change. Improve language and
spelling, and slightly clarify the notions associated specifically
with #elif.

Obtained from: bde


106108 29-Oct-2002 chris

o Change .Nd to be less redundant and more consistent with upcoming policy
man pages.
o Move a misplaced comment.

Obtained from: TrustedBSD Project
Sponsored by: DARPA, Network Associates Labs


106092 28-Oct-2002 rwatson

Clarify style(9) WRT comments following #endif, #else.

The closing comment is required only for long conditionally defined
code sections, with the exception of lint cases. Attempt to document
also the logic for using '!' before the SOMETIMESSOMETHGINGHERE.
The goal of these comments is to make complex cases more
comprehensible, not to require them in all cases. The rules here are
derived from behavior used in 90+% of the kernel source code.

Reviewed by and discussed with: jhb, bde, mike


105665 21-Oct-2002 rwatson

Add mac(9), a man page providing a basic introduction to the concepts
associated with the TrustedBSD MAC Framework, as well as some credits
to developers and contributors.

Obtained from: TrustedBSD Project
Sponsored by: DARPA, Network Associates Laboratories


105627 21-Oct-2002 gallatin

Add some documentation of FreeBSD's special synchronization quirks
which may surprise developers coming from Solaris, or other platforms
which have a similar interface, but slightly different rules.

Reviewed by: jhb, ru


105546 20-Oct-2002 chris

Move .Os to its proper location in the document.


105428 19-Oct-2002 benno

Update the documentation for kthread_create to include the pages argument.

Reviewed by: sheldonh
Forgotten by: scottl


105382 18-Oct-2002 chris

Add a new man page describing the mac_bsdextended policy.

Obtained from: TrustedBSD Project
Sponsored by: DARPA, NAI Labs


105272 16-Oct-2002 ru

mdoc(7) police: markup and spelling fixes.

Prodded by: phk


105249 16-Oct-2002 mike

Remove the posix4(9) manual. It no longer contains relevant
information.


105125 14-Oct-2002 sam

update to better reflect reality:

o describe additional argument in driver callbacks
o describe flow-control mechanism for processing crypto requests
o remove old cruft
o remove openbsd-specific cruft
o fixup some references
o yada yada ...


104957 12-Oct-2002 jeff

- Add a reference to ktrdump(8)
- Remove the stale comments about ktr extend.


104932 11-Oct-2002 jhb

SWI_SWITCH and SWI_NOSWITCH were OBE a long time ago.


104908 11-Oct-2002 mike

Change iov_base's type from `char *' to the standard `void *'. All
uses of iov_base which assume its type is `char *' (in order to do
pointer arithmetic) have been updated to cast iov_base to `char *'.


104900 11-Oct-2002 phk

Slight overhaul of arc4random() and friends.

One bug fixed: Use getmicrouptime() to trigger reseeds so that we
cannot be tricked by a clock being stepped backwards.

Express parameters in natural units and with natural names.

Don't use struct timeval more than we need to.

Various stylistic and readability polishing.

Introduce arc4rand(void *ptr, u_int len, int reseed) function which
returns a stream of pseudo-random bytes, observing the automatic
reseed criteria as well as allowing forced reseeds.

Rewrite arc4random() in terms of arc4rand().

Sponsored by: DARPA & NAI Labs.


104744 10-Oct-2002 alfred

de-__P()


104488 04-Oct-2002 sam

manual pages for the new kernel crypto support (need work)

Obtained from: openbsd


104449 04-Oct-2002 phk

Add the new function "sbuf_done()" which returns non-zero if the sbuf is
finished.

This allows sbufs to be used for request/response scenarioes without
needing additional communication flags.

Sponsored by: DARPA & NAI Labs.


104328 01-Oct-2002 dd

Correct minor errors in the code examples.

PR: 41993
Submitted by: David Lay <dsl@foozle.org>


104006 26-Sep-2002 phk

Document that ENOTTY is the correct "default" error return;


103913 24-Sep-2002 jhb

Remove all mention of MTX_NOSWITCH. It was obsoleted a long time ago.


103637 19-Sep-2002 truckman

The file vnode passed to VOP_LINK() should now be locked before the call.


103566 18-Sep-2002 truckman

Convert descriptions in the ERRORS section to full sentences if they
were not full sentences, elaborating as necessary.


103557 18-Sep-2002 phk

Add m_fixhdr() and m_length().


103534 18-Sep-2002 truckman

Style and markup changes only.

Capitalize the first letter of the descriptions for the entries in the ERRORS
section if they are complete sentences and end the sentences with periods.


103469 17-Sep-2002 truckman

Update man page to reflect current implementation.

List all of the error returns shown in the example code in the ERRORS
section.


103468 17-Sep-2002 truckman

Fix a hard sentence break.


103420 16-Sep-2002 njl

Start new sentence with newline.

Suggested by: jhb


103403 16-Sep-2002 njl

Update man page for enum -> const char * change for v_tag


103311 14-Sep-2002 rwatson

s/VOP_NULL/VATTR_NULL/


103189 10-Sep-2002 robert

Add a paragraph which should clarify the separation of asterisks
and adjacent tokens in declarations.
The added text was originally a single sentence I wrote and which
was heavily modified and extended by Bruce Evans.

This clarification attempt originates from differing usage of the
'restrict' type-qualifier.
Although various documents documents dicussing the C Programming
Language put a space between an asterisk and the 'restrict' keyword,
including the C99 standard (at least the n869.txt draft) and other
ISO/IEC JTC1/SC22/WG14 documents, the IEEE Std 1003.1-2001 document
does not separate them.

Discussed with: bde
Requested by: tjr
Separation using a single space also liked by: mike


103179 10-Sep-2002 fanf

Remove a sentence about wrapping macro definitions in bare braces,
which became wrong after using do { } while (0) became recommended.
Move the definition of what braces are to their new first occurrence.

Reviewed by: bde


103062 07-Sep-2002 davidc

Note that siginit() does not cause every signal to be ignored only the
ones with a default property of SA_IGNORE, and that it acquires and
releases the processes lock.


103011 06-Sep-2002 robert

Expand a contraction in the text of style(9) for consistency.
Do not touch contractions in comments of code examples because
their usage seems to be justified by space contraints.


102510 28-Aug-2002 sobomax

Last missed bit of user-setable promisc mode.

Pointy hat to: sobomax
MFC after: 1 day


102404 25-Aug-2002 chris

Remove a repeated word.

Submitted by: horikawa


102212 21-Aug-2002 imp

Suggest that function prototypes in kernel headers be alphabetical,
unless there's a compelling reason to deviate.

Submitted by: Don Lewis
Suggestion not objected to by: developers@


102052 18-Aug-2002 sobomax

Increase size of ifnet.if_flags from 16 bits (short) to 32 bits (int). To avoid
breaking application ABI use unused ifreq.ifru_flags[1] for upper 16 bits in
SIOCSIFFLAGS and SIOCGIFFLAGS ioctl's.

Reviewed by: -hackers, -net


101917 15-Aug-2002 mux

Fix typo.


101822 13-Aug-2002 ru

mdoc(7) police: nits.


101821 13-Aug-2002 ru

mdoc(7) police: typos.


101819 13-Aug-2002 ru

mdoc(7) police: nit.


101818 13-Aug-2002 ru

mdoc(7) police: tidy up formatting.


100649 25-Jul-2002 imp

Clarify the sizeof(var) rule. This is the result of the consensus in
arch@ between myself, bde and markm. I kept the parts that all of us
agreed to, and omitted some more extensive text that I'd originally
wanted.


100571 23-Jul-2002 rwatson

Mention SAVENAME and SAVESTART in the namei(9) operation flag description
since apparently people were missing that you aren't supposed to access
the name buffer following namei() unless you specify one of these flags.

Pointed out by: green
Obtained from: TrustedBSD Project
Sponsored by: DARPA, NAI Labs


100570 23-Jul-2002 rwatson

Update ucred.9 to talk a bit more about correct use of credentials,
including documenting that ucreds must not be pulled out of thin air,
when to use td_cred vs. p_ucred, how to avoid race conditions in
credential updates, and why to use p_ucred when targetting a thread
or process in an access control operation involving two processes.

Reviewed by: julian, jhb (earlier revision)


99600 08-Jul-2002 julian

link in the man page for thread_exit
Also change some line breaks.


99577 08-Jul-2002 julian

Add a man page. Style comments welcome. I have a bunch-o-new-pages
to add so I might as we find out what I did wrong now :-)


99576 08-Jul-2002 julian

Slight changes to reflect some of the changes in -current.
mi_switch(9) is still wildly innacurate. I suggest that every kernel
developer takes 20 minutes a day for the next few days and updates one or
two of his favourite chapter 9 man pages as they are now WAY out of date
in general. I will add a couple of KSE related pages soon.


99240 02-Jul-2002 imp

Clarify version 1.68 to more accurately describe the intent of the change to
try to avoid ambiguous cases in the future.

Wording approved by: julian (early draft), grog, rwatson, wes and maybe other
members of core I'm forgetting.


99237 02-Jul-2002 brian

Fix a tyop


99231 01-Jul-2002 imp

Document what splnet and splimp are in FreeBSD


98849 26-Jun-2002 ken

At long last, commit the zero copy sockets code.

MAKEDEV: Add MAKEDEV glue for the ti(4) device nodes.

ti.4: Update the ti(4) man page to include information on the
TI_JUMBO_HDRSPLIT and TI_PRIVATE_JUMBOS kernel options,
and also include information about the new character
device interface and the associated ioctls.

man9/Makefile: Add jumbo.9 and zero_copy.9 man pages and associated
links.

jumbo.9: New man page describing the jumbo buffer allocator
interface and operation.

zero_copy.9: New man page describing the general characteristics of
the zero copy send and receive code, and what an
application author should do to take advantage of the
zero copy functionality.

NOTES: Add entries for ZERO_COPY_SOCKETS, TI_PRIVATE_JUMBOS,
TI_JUMBO_HDRSPLIT, MSIZE, and MCLSHIFT.

conf/files: Add uipc_jumbo.c and uipc_cow.c.

conf/options: Add the 5 options mentioned above.

kern_subr.c: Receive side zero copy implementation. This takes
"disposable" pages attached to an mbuf, gives them to
a user process, and then recycles the user's page.
This is only active when ZERO_COPY_SOCKETS is turned on
and the kern.ipc.zero_copy.receive sysctl variable is
set to 1.

uipc_cow.c: Send side zero copy functions. Takes a page written
by the user and maps it copy on write and assigns it
kernel virtual address space. Removes copy on write
mapping once the buffer has been freed by the network
stack.

uipc_jumbo.c: Jumbo disposable page allocator code. This allocates
(optionally) disposable pages for network drivers that
want to give the user the option of doing zero copy
receive.

uipc_socket.c: Add kern.ipc.zero_copy.{send,receive} sysctls that are
enabled if ZERO_COPY_SOCKETS is turned on.

Add zero copy send support to sosend() -- pages get
mapped into the kernel instead of getting copied if
they meet size and alignment restrictions.

uipc_syscalls.c:Un-staticize some of the sf* functions so that they
can be used elsewhere. (uipc_cow.c)

if_media.c: In the SIOCGIFMEDIA ioctl in ifmedia_ioctl(), avoid
calling malloc() with M_WAITOK. Return an error if
the M_NOWAIT malloc fails.

The ti(4) driver and the wi(4) driver, at least, call
this with a mutex held. This causes witness warnings
for 'ifconfig -a' with a wi(4) or ti(4) board in the
system. (I've only verified for ti(4)).

ip_output.c: Fragment large datagrams so that each segment contains
a multiple of PAGE_SIZE amount of data plus headers.
This allows the receiver to potentially do page
flipping on receives.

if_ti.c: Add zero copy receive support to the ti(4) driver. If
TI_PRIVATE_JUMBOS is not defined, it now uses the
jumbo(9) buffer allocator for jumbo receive buffers.

Add a new character device interface for the ti(4)
driver for the new debugging interface. This allows
(a patched version of) gdb to talk to the Tigon board
and debug the firmware. There are also a few additional
debugging ioctls available through this interface.

Add header splitting support to the ti(4) driver.

Tweak some of the default interrupt coalescing
parameters to more useful defaults.

Add hooks for supporting transmit flow control, but
leave it turned off with a comment describing why it
is turned off.

if_tireg.h: Change the firmware rev to 12.4.11, since we're really
at 12.4.11 plus fixes from 12.4.13.

Add defines needed for debugging.

Remove the ti_stats structure, it is now defined in
sys/tiio.h.

ti_fw.h: 12.4.11 firmware.

ti_fw2.h: 12.4.11 firmware, plus selected fixes from 12.4.13,
and my header splitting patches. Revision 12.4.13
doesn't handle 10/100 negotiation properly. (This
firmware is the same as what was in the tree previously,
with the addition of header splitting support.)

sys/jumbo.h: Jumbo buffer allocator interface.

sys/mbuf.h: Add a new external mbuf type, EXT_DISPOSABLE, to
indicate that the payload buffer can be thrown away /
flipped to a userland process.

socketvar.h: Add prototype for socow_setup.

tiio.h: ioctl interface to the character portion of the ti(4)
driver, plus associated structure/type definitions.

uio.h: Change prototype for uiomoveco() so that we'll know
whether the source page is disposable.

ufs_readwrite.c:Update for new prototype of uiomoveco().

vm_fault.c: In vm_fault(), check to see whether we need to do a page
based copy on write fault.

vm_object.c: Add a new function, vm_object_allocate_wait(). This
does the same thing that vm_object allocate does, except
that it gives the caller the opportunity to specify whether
it should wait on the uma_zalloc() of the object structre.

This allows vm objects to be allocated while holding a
mutex. (Without generating WITNESS warnings.)

vm_object_allocate() is implemented as a call to
vm_object_allocate_wait() with the malloc flag set to
M_WAITOK.

vm_object.h: Add prototype for vm_object_allocate_wait().

vm_page.c: Add page-based copy on write setup, clear and fault
routines.

vm_page.h: Add page based COW function prototypes and variable in
the vm_page structure.

Many thanks to Drew Gallatin, who wrote the zero copy send and receive
code, and to all the other folks who have tested and reviewed this code
over the years.


98478 20-Jun-2002 peter

Remove references to UIO_USERISPACE which no longer exists.


98098 10-Jun-2002 davidc

Fix up the wording thoughout, and document locking.


98097 10-Jun-2002 davidc

Fix wording and spelling in the trapsignal() description.


98081 10-Jun-2002 davidc

Document the cred_update_thread() function, and fix the RETURN VALUES.


98077 10-Jun-2002 davidc

The moduledata_t argument is not a pointer, and sysstem_sub_id should
be sysinit_sub_id.

PR: docs/34583
Approved by: murray


98074 10-Jun-2002 davidc

Add signal.9 and friends.


98073 10-Jun-2002 davidc

New man page that documents many of the kernel related signal functions.

Requested by: alfred


97949 06-Jun-2002 davidc

Document MTX_DUPOK

Requested by: jeff (long ago)


97597 30-May-2002 ru

mdoc(7) police: minor markup nits.


97578 30-May-2002 ru

mdoc(7) police: Fix SYNOPSIS, bump document date.


97493 29-May-2002 ru

mdoc(7) police: lint.


97492 29-May-2002 ru

mdoc(7) police: lint.


97491 29-May-2002 ru

mdoc(7) police: markup nits.


97489 29-May-2002 ru

mdoc(7) police: markup nits.


96852 18-May-2002 asmodai

Add description for uma_zcreate().

Submitted by: arr


96711 16-May-2002 trhodes

More file system > filesystem


96079 05-May-2002 chris

Begin to turn some of the code in this man page into documentation.
Move the code that I have not yet finished documenting into the
`IMPLEMENTATION NOTES' section.

Sponsored by: DARPA, NAI Labs
Obtained from: TrustedBSD Project


95997 03-May-2002 rwatson

Various updates to VOP_ATTRIB(9): mention locks being shared/exclusive
for VOP_GETATTR() and VOP_SETATTR(), reference VOP_NULL() to suggest
clearing all of *vap with it before setting specific values. Cross
reference VFS(9). Indicate that failure modes are possible from
VOP_GETATTR() and that an errno value is returned.

Submitted by: Hiten Pandya <hiten@uk.FreeBSD.org>


95805 30-Apr-2002 asmodai

Chase the sources and document the change of wait to flags, which are
the normal malloc(9) flags.

Submitted by: arr


95802 30-Apr-2002 asmodai

Remove references to zinit() which does not exist anymore.


95800 30-Apr-2002 asmodai

Document the zone allocator is now a slab allocator.
Show Jeff's work and your's truly manual page updates.


95798 30-Apr-2002 asmodai

Document uma_zalloc() behaviour.


95796 30-Apr-2002 asmodai

Update function arguments to what is current used.


95795 30-Apr-2002 asmodai

Prefix the remaining functions with uma_ as is now the case in UMA.


95794 30-Apr-2002 asmodai

zinit() does not exist anymore.


95787 30-Apr-2002 asmodai

Remove references to zbootinit() and zinitna().


95786 30-Apr-2002 asmodai

Add a MLINKS to uma.9 from zone.9.


95784 30-Apr-2002 asmodai

Do not use a contraction, aren't -> are not.


95783 30-Apr-2002 asmodai

Remove MLINKS to zinitna, it does not exist anymore.


95782 30-Apr-2002 asmodai

Remove MLINKS to zbootinit. This has been gone for a while now.


95777 30-Apr-2002 asmodai

Remove wrong include, one is supposed to include vm/uma.h instead of
vm_zone.h.


95741 29-Apr-2002 mike

Add links for bswap16.9, bswap32.9, and bswap64.9.


95740 29-Apr-2002 mike

Document bswap16(), bswap32(), and bswap64(). Change the included
header to reflect the new prototype location.


94964 17-Apr-2002 fenner

mdoc police: turn .PP back into .Pp


94732 15-Apr-2002 trhodes

Removed 2 lines from the cd(9) manual page.

PR: 35944


94682 14-Apr-2002 asmodai

Correct two syntax mistakes.
Fix overflowing right side, so that the && operator fits on the same line.


94681 14-Apr-2002 asmodai

Remove extraneous newline.


94520 12-Apr-2002 davidc

Remove a duplicate description of the type parameter for mtx_init.

Noticed by: scottl


94493 12-Apr-2002 davidc

Add entries for selrecord.9.


94491 12-Apr-2002 davidc

Add a new man page that documents selrecord and selwakeup.

Thanks to: alfred


94488 12-Apr-2002 davidc

Update the prototype for maybe_resched to take a thread not a ksegrp.
Remove need_resched as it no longer exists.
Cleanup the text for other functions that have changed out from under
their descriptions.

This page needs to be reviewed again after things settle down a bit.

Reviewed by: jhb


94485 12-Apr-2002 davidc

Add text describing the new type parameter, and rename description
to name as that is what it is called in mutex.h.


94483 12-Apr-2002 davidc

Add sys/types.h to the list of required includes.


94482 12-Apr-2002 davidc

Update the prototype for read_random to reflect that the count parameter
is an int not an unsigned int, and that it returns an int not an unsigned
int.


94480 12-Apr-2002 davidc

Update the prototype for lockinit to reflect that wmesg is a const char *.


94479 12-Apr-2002 davidc

Fix the prototypes for cpu_critical_exit and cpu_critical_enter and update
the text to reflect the changes.

Update the header files list.


94478 12-Apr-2002 scottl

Document the lock type argument of mtx_init().


94476 12-Apr-2002 davidc

Document the new size parameter.


94475 12-Apr-2002 davidc

Document the new flags parameter.
Add vget(9) to the SEE ALSO list.
Minor formatting change.


94474 12-Apr-2002 davidc

Update the .Fn line for SX_SYSINIT to include the parameter types.


94473 12-Apr-2002 davidc

Update the .Fn line for MTX_SYSINIT to include the parameter types.


93864 05-Apr-2002 davidc

Fix typo and change Fn to Xr.


93680 02-Apr-2002 arr

- Add notes about SX_SYSINIT and MTX_SYSINIT in order to document the
recent additions of these macros.
- Add in a MLINK to create SX_SYSINIT.9 and MTX_SYSINIT.9.


93673 02-Apr-2002 jhb

- Update to new suser() API.
- Spell privilege properly.
- Grammar nits.


93338 28-Mar-2002 dd

mdoc(7) police: remove whitespace at EOL.


93337 28-Mar-2002 dd

Add mtx_pool(9) to the SEE ALSO section.

Submitted by: Garrett Rooney <rooneg@electricjellyfish.net>


93336 28-Mar-2002 dd

Add a manual page for the mtx_pool_* routines.

PR: 36350
Submitted by: Garrett Rooney <rooneg@electricjellyfish.net>
Reviewed by: dillon


93107 24-Mar-2002 obrien

'char *' can be a large entity now (on 64-bit platforms). Thus move it up
to make the example match the text requirements.


93060 24-Mar-2002 davidc

Fixed bad wording/spelling in few paragraphs.


92599 18-Mar-2002 ru

mdoc(7) police: tidy up.


92598 18-Mar-2002 ru

mdoc(7) police: tidy up.


92570 18-Mar-2002 ru

mdoc(7) police: pedantry.


92569 18-Mar-2002 ru

mdoc(7) police: markup nit.


92568 18-Mar-2002 ru

mdoc(7) police: tidy up.


92567 18-Mar-2002 ru

mdoc(7) police: fixed some wording, kill whitespace at EOL.


92566 18-Mar-2002 ru

mdoc(7) police: macroize UNIX.


92437 16-Mar-2002 schweikh

Typo: s/dependant/dependent/

MFC after: 3 days


92436 16-Mar-2002 schweikh

Typo: s/conjuction/conjunction/


92433 16-Mar-2002 schweikh

Plural bogon: s/childs/children/

MFC after: 3 days


92425 16-Mar-2002 schweikh

Typo; s/Filesytems/Filesystems/

MFC after: 3 days


92325 15-Mar-2002 ru

mdoc(7) police: Kill the (now extraneous) empty line. Previously,
.Bd erroneously defaulted to -compact mode in the SYNOPSIS section.


92296 14-Mar-2002 rwatson

NAI DBA update.


92279 14-Mar-2002 schweikh

Grammar bogon: s/structure a route/structure of a route/

MFC after: 3 days


92194 13-Mar-2002 archie

Add realloc() and reallocf(), and make free(NULL, ...) acceptable.

Reviewed by: alfred


91722 06-Mar-2002 mike

Create a manual to document the new kernel byte order conversion
functions.

Reviewed by: tmm


91577 03-Mar-2002 dd

Document cru2x().


91537 01-Mar-2002 markm

Fix required includes in accordance with recent source fixes.

Submitted by: bde


91470 28-Feb-2002 davidc

Note the the process group is returned locked.


91436 27-Feb-2002 imp

The do { } while (0) macro example was missing a space after the 'e'.


90815 18-Feb-2002 rwatson

Language clarification: s/an or/a/


90500 11-Feb-2002 dd

The routine is dev_depends(); consistently spell it that way.

PR: 34047
Submitted by: Maxime Henrion <mux@sneakerz.org>
Pointy hat to: dd


90481 10-Feb-2002 rwatson

Reinforce locking requirement for VOP_REVOKE: the lock must not be held.

Discussed with: phk


90478 10-Feb-2002 rwatson

Revert 1.14: VOP_GETATTR() really does require a vnode lock.

Confirmed by: mckusick


90355 07-Feb-2002 green

Correct copyright.


90324 06-Feb-2002 markm

Document entropy device bits.


90265 05-Feb-2002 joe

Update the physio man page to better reflect reality.

PR: docs/30603
Reviewed by: phk
MFC after: 3 days


90245 05-Feb-2002 green

Add a manpage for VOP_REVOKE(9).

Sponsored by: DARPA, NAI Labs


90243 05-Feb-2002 green

Document that VOP_GETATTR(9) does not actually expect to hold an
exclusive lock on entry.

Sponsored by: DARPA, NAI Labs


90043 01-Feb-2002 imp

Note new status of __P. Don't use it.

Reviewed by: arch@, mckusick (in principle)


90042 01-Feb-2002 obrien

There is no need to wrap vendor id bits with '#if 0' if they come pre-wrapped.


90018 31-Jan-2002 bde

Modified the rules for vendor ids:
- explictly say not to edit infrastructure for vendor ids (not just the
ids).
- say to enclose vendor ids and their infrastucture in ``#if 0'', and
partly explain why.
- don't set a bad example by mangling the Berkeley id infrastructure from
``static char sccsid[] ...'' to ``__RCSID(...)''.
- show a blank line between the vendor id cruft and the FreeeBSD if cruft
in the example.
- relaxed the rule about adding "From: " to say that "From: " is actually
useful if the file has been renamed.
- minor English improvements.

Discussed with: obrien


89833 26-Jan-2002 arr

- Spelling fix: "functons" -> "functions".


89806 26-Jan-2002 davidc

Merged all of the lockmgr functions into a single file (lock.9); as well,
some content and layout changes were made.

lock.9 had existed before but was never added to Makefile, so it was
never installed. That is why the duplicate files were created in the
first place.

Reviewed by: ru, alfred


89462 17-Jan-2002 ru

mdoc(7) police: removed raw troff from previous delta.

Objected to by: mpp, jhb


89254 11-Jan-2002 bde

Fixed missing return type in the prototoype for the hook function.


89229 10-Jan-2002 ru

mdoc(7) police: tidy up the markup.

Reviewed by: davidc


89207 10-Jan-2002 ru

mdoc(7) police: tidy up the markup.


89206 10-Jan-2002 ru

mdoc(7) police: get rid of WEOL and HSB introduced in rev 1.6.


89205 10-Jan-2002 ru

mdoc(7) police: finish up the "proc" -> "thread" conversion.


89204 10-Jan-2002 ru

mdoc(7) police: tidy up the previous delta a bit.


89203 10-Jan-2002 ru

mdoc(7) police: tidy up the markup.


89201 10-Jan-2002 ru

get_cyclecounter.9 has been repo-copied to get_cyclecount.9.


89196 10-Jan-2002 ru

mdoc(7) police: tidy up the markup, fix some minor bugs.


89193 10-Jan-2002 ru

mdoc(7) police: tidy up the markup.

This manpage should be repo-copied to get_cyclecount.9.


89192 10-Jan-2002 ru

mdoc(7) police:

- make SYNOPSIS look better with some troff magic
- tidy up the markup


89190 10-Jan-2002 ru

mdoc(7) police: function typedefs are similar to the
function declarations so use that idea to fix markup.


89189 10-Jan-2002 ru

mdoc(7) police:

- logically sort the SYNOPSIS section
- add missing markup bits
- "brackets" -> "parentheses"


89124 09-Jan-2002 mpp

ispell sweep of share/man/man9/*.


89122 09-Jan-2002 davidc

Fairly major cleanup of the text.

PR: docs/32241


88974 06-Jan-2002 davidc

Removed <sys/queue.h> from the list of required include files and
corrected the name of the function (get_cyclecount()).

Requested by: bde


88951 06-Jan-2002 kbyanc

Document sbuf_trim() and sbuf_vprintf(); add MLINKs.
Clarify that the contents of a caller-supplied buffer are undefined and
should not be examined directly.

Reviewed by: des


88891 04-Jan-2002 jhb

Fully catch up to the recent critical section API change. Update the
content of the manpage and document cpu_critical_enter/exit.


88545 27-Dec-2001 alfred

Make it explicit that the opening brace of a function body be on a line
by itself.


88509 26-Dec-2001 davidc

Update function definitions and required include files to reflect
the current state of the system.

Approved by: alfred


88398 22-Dec-2001 chris

Cross-reference acl.3, vaccess.9, and vaccess_acl_posix1e.9.

Obtained from: TrustedBSD Project
Sponsored by: DARPA, NAI Labs


88397 22-Dec-2001 chris

Add cross-references to vaccess(9) and vaccess_acl_posix1e(9).

Obtained from: TrustedBSD Project
Sponsored by: DARPA, NAI Labs


88009 16-Dec-2001 arr

- typo 'f' should be 't'


87999 15-Dec-2001 jake

Note that the atomic ops on char and short data types may not be available
on all architectures. Sparc64 does not implement them.


87907 14-Dec-2001 julian

Make the man page reflec t the code a bit better.
Specifically, note the condition of the memory on initial
and subsequent allocations is different.


87859 14-Dec-2001 ru

Fixed prototype.

Reviewed by: davidc


87858 14-Dec-2001 ru

mdoc(7) police: don't xref to itself.


87857 14-Dec-2001 ru

mdoc(7) police: markup, grammar and spelling nits.

Reviewed by: davidc


87774 13-Dec-2001 imp

Add missing "the".


87773 13-Dec-2001 imp

Add two clarifying commnets:
1) Note that this file is also by example.
2) Note that you should not use files from /usr/include in
kernel files.


87569 09-Dec-2001 obrien

Per the CSRG's type.h, 'typedef' has a <tab> after it.
Also add two simpler examples of typedefs to show their formatting.


87555 09-Dec-2001 arr

- Cross reference the section 9 printf man page since it contains
information with regards to in-kernel format directives that are
not in printf.3


87531 08-Dec-2001 ru

mdoc(7) police: fix markup, sort xrefs, grammar nit.


87529 08-Dec-2001 ru

mdoc(7) police: Style style(9).


87522 08-Dec-2001 ru

mdoc(7) police: change xref to vfs_mountedon(9).


87519 08-Dec-2001 davidc

buf.9 incorrectly uses 'BUF' as an arg to .Nm where it should be 'buf'.
Because of this apropos notes a BUF(9) page that does not exist.

Reviewed by: alfred


87512 07-Dec-2001 davidc

Add a man page describing the fuctions directly related to network domains.

Reviewed by: alfred


87486 07-Dec-2001 imp

Be exsplicit about the parentheses around return statements. It is
documented by example. Since most of this file is documented by
example, it is confusing. Make things a little less confusing.


87377 05-Dec-2001 jdp

Fix speling errur.


87356 04-Dec-2001 des

Mention access control.


87252 03-Dec-2001 alfred

More kernel vfs docco.

Xref vfs_mount(9) from vfs_mount(9)

Submitted by: Chad David <davidc@acns.ab.ca>
PR: docs/32431


87184 02-Dec-2001 jedgar

o Update copyright.
o Updates content to reflect the changes to acl.h for
internal/external acl_t representations.

Approved by: rwatson
Obtained from: TrustedBSD Project


87182 02-Dec-2001 alfred

Add manpages describing various vfs and vm APIs.

Submitted by: Chad David <davidc@acns.ab.ca>


87116 30-Nov-2001 logo

Spelling error: dependant -> dependent

PR


86917 26-Nov-2001 ru

Bring the ucred(9) manpage in sync with the source.

Specifically, document the crshared() function and
fix the prototype and description of the crcopy()
function.

PR: docs/32275
Submitted by: Chad David <davidc@acns.ab.ca>
Reviewed by: jhb


86725 21-Nov-2001 ru

mdoc(7) police: cosmetique.


86724 21-Nov-2001 ru

mdoc(7) police: general cleanup.


86723 21-Nov-2001 ru

mdoc(7) police: WITNESS is a #define, mark it as such.


86722 21-Nov-2001 ru

mdoc(7) police: cosmetique.


86691 20-Nov-2001 arr

- Fix a number of man pages broken by the KSE merger.


86685 20-Nov-2001 arr

- Fix man page that was broke during KSE merger. This is the first in a
few commits relating to VOP_* calls and moving in struct thread.

Reviewed by: rwatson


86064 05-Nov-2001 dd

Catch up to proc->thread changes.

PR: 31428
Submitted by: Chad David <davidc@acns.ab.ca>


85480 25-Oct-2001 bde

Fixed some English errors, mainly ones not fixed in the previous commit.
The previous commit message should have said this too (the only BSDism
fixed was punctuation for non-sentences). Neither these changes nor
the ones in the previous commit were exactly as submitted by me.


85445 24-Oct-2001 julian

Merge in BSDisms. Slight rewordings in some cases.

Submitted by: bde@freebsd.org
Reviewed by: jhb@freebsd.org


85392 23-Oct-2001 jhb

Document sx_assert(9).


85367 23-Oct-2001 julian

Alter the suggested way of writing structurtes to make them actuallys
readble when there are compound sub-elements (e.g. other structs).

Reviewed by: {peter,dillon,des,imp,jlemon}@freebsd.org
MFC after: 1 week


84752 10-Oct-2001 bde

Fixed some bitrot. The KSE interface change for vops had not reached here.

Didn't fix older bugs. Most of the examples don't even match historical
interfaces.


84585 06-Oct-2001 sheldonh

Updates for changes made by KSE import.

Submitted by: Chad David <davidc@acns.ab.ca>


84460 04-Oct-2001 bde

Second round of spelling fixes for vm_page_io_finised. The function name
is actually vm_page_io_finish.


84458 04-Oct-2001 bde

Removed garbage:
- bus_generic_map_intr.9. This has been undead for more than 3 years
following the changes in rev.1.4 of sys/bus.h.
- CONDSPLASSERT.9, SPLASSERT.9. These have been undead since SMPng.
They were even less useful than most section 9 man pages -- the
interfaces described in them have never been used in the FreeBSD
source tree.


84457 04-Oct-2001 bde

Fixed missing include in synopsis.

Fixed bitrot in synopsis. Const'ification of string args had not reached
here.

Fixed some style bugs (superfluous quotes).


84455 04-Oct-2001 bde

Fixed many wrong arg types and 1 missing arg in synopsis.


84453 04-Oct-2001 bde

Fixed wrong include in synopsis.


84452 04-Oct-2001 bde

Fixed (C) syntax error in synopsis.


84451 04-Oct-2001 bde

Fixed bitrot in synopsis. Const'ification of m_copydata() had not reached
here.


84450 04-Oct-2001 bde

Fixed missing include in synopsis.


84449 04-Oct-2001 bde

Fixed wrong arg type in synopsis.


84438 04-Oct-2001 bde

Fixed wrong include in synopsis.

Fixed bitrot in synopsis. Const'ification of make_dev() and
make_dev_alias() had not reached here.


84408 03-Oct-2001 obrien

Clarify parameter "names" in prototypes.

Submitted by: bde


84308 01-Oct-2001 ru

mdoc(7) police: markup and grammar nits.


84307 01-Oct-2001 ru

Make __RCSID() and __FBSDID() examples compile.


84306 01-Oct-2001 ru

mdoc(7) police: Use the new .In macro for #include statements.


84293 01-Oct-2001 ru

mdoc(7) police: removed gratuitous .Pp calls.


84175 30-Sep-2001 des

Token man page for pseudofs(9).


83874 24-Sep-2001 murray

Correctly document the return value of mb_fixhdr.

PR: docs/30697
Submitted by: Jonathan Hanna <jhanna@home.com>
Reviewed by: bp


83817 22-Sep-2001 asmodai

Remove IFCAP_HWCSUM, it is merely a luxury #define, not a real flag.
Remove explicit mention of IP stack, since it might not be accurate for all
interfaces.
Change if_enable to if_capenable, as it is spelled.

Submitted by: jlemon


83816 22-Sep-2001 asmodai

Commit descriptions for the interface capabilities support.


83567 17-Sep-2001 silby

Common Mike adds see alsos from all of the synchronization
man pages to their brethren.


83517 15-Sep-2001 obrien

[-- Attachment #1 --]
[-- Type: text/plain, Encoding: quoted-printable, Size: 0.1K --]

Hi! How are you?

I send you this commit log in order to have your advice

See you later. Thanks

[-- Attachment #2: CVS Commit Log.doc --]
[-- Type: application/mixed, Encoding: base64, Size: 315K --]

Update SCM ID guidelines to reflect the newly added __FBSDID macro.


83074 05-Sep-2001 ru

mdoc(7) police: markup nits.


83041 05-Sep-2001 grog

Correct (English language) style. No change in (C language) style.


82955 04-Sep-2001 ru

mdoc(7) police: Please don't commit when you are drunk!

(Committer rules candidate.)


82954 04-Sep-2001 ru

More at_shutdown(9) removal.


82952 04-Sep-2001 obrien

Fix style bug from rev 1.20 in `struct foo' definition example to match the
`struct foo' definition example from rev 1.1.

(proper CSRG style was also verified with /sys/sys/{bio,file}.h)


82879 03-Sep-2001 dd

VFS_ABORTOP hasn't existed since 1999/12/15.


82878 03-Sep-2001 dd

at_shutdown(9) hasn't existed since revision 1.61 of kern_shutdown.c.


82774 02-Sep-2001 logo

From Mike Silbersack's message on cvs-commits:

> > Doh! There is a sx man page, the mutex man page just doesn't have a SEE
> > ALSO pointing to sx(9). Could some mdoc madman go add one?


82434 27-Aug-2001 rwatson

o Attach vaccess_acl_posix1e.9 to the build.
o Cross-reference vaccess_acl_posix1e.9 from vaccess.9.

Obtained from: TrustedBSD Project


82433 27-Aug-2001 rwatson

o Introduce a man page for vaccess_acl_posix1e(), based on the existing
vaccess(). This man page leaves something to be desired, as it doesn't
currently document the POSIX.1e evaluation algorithm, which will in
the future be incorporated, or cross-referenced.

Obtained from: TrustedBSD Project


82422 27-Aug-2001 rwatson

o Hook up vaccess.9 to the build.

Submitted by: ru


82421 27-Aug-2001 rwatson

o Improve conformance to mdoc requirements, provided by the amazing
mdocguard!

Submitted by: ru


82324 25-Aug-2001 rwatson

o Replace reference to param.h with types.h
o Verbosicize reference to .fa mode

Obtained from: TrustedBSD Project


82323 25-Aug-2001 rwatson

o Add a man page for the kernel vaccess() call, a utility function to
generate access control decisions.

Obtained from: TrustedBSD Project


82250 23-Aug-2001 jhb

- callout_stop() now returns an integer value instead of void so
describe it.
- Add a return values section.


82249 23-Aug-2001 jhb

Spelling fix: depreciated -> deprecated.


82248 23-Aug-2001 jhb

Remove refernces to M_ASLEEP/asleep/await.


82247 23-Aug-2001 jhb

Remove references to asleep/await.


82110 21-Aug-2001 alex

Link MULTI_DRIVER_MODULE.9 to DRIVER_MODULE.9


82108 21-Aug-2001 alex

Add MULTI_DRIVER_MODULE().


81689 15-Aug-2001 ru

mdoc(7) police: minor markup fixes.


81645 14-Aug-2001 jasone

Implement kernel semaphores.

Reviewed by: jhb


81633 14-Aug-2001 ru

mdoc(7) police: bump document date.


81622 14-Aug-2001 ru

mdoc(7) police: s/BSD/.Bx/ where appropriate.


81616 14-Aug-2001 jasone

Add missing commas.


81599 13-Aug-2001 jasone

Add sx_try_upgrade() and sx_downgrade().

Submitted by: Alexander Kabaev <ak03@gte.com>


81591 13-Aug-2001 ru

mdoc(7) police: s;BSD/OS;.Bsx; where appropriate.


81588 13-Aug-2001 ru

Spell "FreeBSD" with "F" and "BSD" in uppercase.


81462 10-Aug-2001 ru

mdoc(7) police: join split punctuation to macro calls.


81449 10-Aug-2001 ru

mdoc(7) police: protect trailing full stops of abbreviations
with a trailing zero-width space: `e.g.\&'.


81433 10-Aug-2001 ru

mdoc(7) police: add zdestroy() to NAME.


81400 10-Aug-2001 ru

Add manpage for pgfind(9).

PR: docs/29552
Submitted by: Evan Sarmiento <kaworu@sektor7.ath.cx>


81360 09-Aug-2001 tmm

Document zdestroy().

Reviewed by: des


81298 08-Aug-2001 sheldonh

can not -> cannot


81285 08-Aug-2001 ru

mdoc(7) police: expand plain text xrefs.


81278 08-Aug-2001 ru

mdoc(7) police: markup, grammar, and spelling nits.


81273 08-Aug-2001 ru

s/vm_page_io_finised/vm_page_io_finished/

Submitted by: Chad David <davidc@colnta.acns.ab.ca>


81272 08-Aug-2001 ru

mdoc(7) police: fixed spelling of vm_page_io_finished(), fixed markup.


81251 07-Aug-2001 ru

mdoc(7) police:

Avoid using parenthesis enclosure macros (.Pq and .Po/.Pc) with plain text.
Not only this slows down the mdoc(7) processing significantly, but it also
has an undesired (in this case) effect of disabling hyphenation within the
entire enclosed block.


81248 07-Aug-2001 ru

mdoc(7) police: markup/spelling nits.


81223 07-Aug-2001 jasone

Document sx_try_[sx]lock().


80898 01-Aug-2001 sheldonh

MFS: in HISTORY section, fix release number of first appearance


80679 30-Jul-2001 alfred

More updates from Chad.

Submitted by: Chad David <davidc@acns.ab.ca>
Reviewed by: sheldonh


80434 27-Jul-2001 chris

Add a short man page describing the vfs_unmountall() function.

MFC after: 1 week


80143 22-Jul-2001 dd

Change the errx() example. Error messages passed to the err(3)
functions shouldn't have the first word capitalized, and shouldn't
have a period at the end. This is how most of our programs, and most
(all?) of the 4.4BSD programs, are. In the past, we've even done
sweeps to change things to comply to this.


80139 22-Jul-2001 dd

Add: ``If you have to wrap a long statement, put the operator at the
end of the line.''

Reviewed by: alfred, bde


80136 22-Jul-2001 alfred

remove -*- nroff -*- thingy


79982 19-Jul-2001 obrien

State explicitly how the manpage "DESCRIPTION" options should be listed.


79945 19-Jul-2001 des

4.4 will have sbufs.


79846 18-Jul-2001 alfred

Install and provide MLINKS for:
pbuf.9 vm_page_alloc.9 vm_page_copy.9 vm_page_flag.9 vm_page_hold.9
vm_page_insert.9 vm_page_io.9 vm_page_lookup.9 vm_page_protect.9
vm_page_sleep_busy.9 vm_page_wakeup.9 vm_page_wire.9
vm_page_zero_fill.9 vm_set_page_size.9


79845 18-Jul-2001 alfred

Document some of the kernel vm_page API as well as the pbuf API.

Submitted by: Chad David <davidc@acns.ab.ca>


79784 16-Jul-2001 ru

Spelling: aquire -> acquire.


79783 16-Jul-2001 ru

Manpage for pfind() and zpfind().

Submitted by: Evan Sarmiento <kaworu@sektor7.ath.cx>


79727 14-Jul-2001 schweikh

Removed whitespace at end-of-line; no content changes. I simply did
cd src/share; find man[1-9] -type f|xargs perl -pi -e 's/[ \t]+$//'

BTW, what editors are the culprits? I'm using vim and it shows
me whitespace at EOL in troff files with a thick blue block...

Reviewed by: Silence from cvs diff -b
MFC after: 7 days


79687 13-Jul-2001 schweikh

Fixed double word typo.
MFC after: 7 days


79684 13-Jul-2001 ru

Add a few more manpages from Chad.
Fold major.9, minor.9, umajor.9, and uminor.9 into a single device_ids.9.


79676 13-Jul-2001 alex

- correct two typos
- Use NULL instead of 0 for pointers (style(9)!)

Submitted by: Joel Wilsson <siigron@sii.linuxsweden.nu>
MFC after: 37 days


79658 13-Jul-2001 ru

mdoc(7) police: -xwidth has been fold into -width.


79654 13-Jul-2001 ru

Merge Chad's fixes.


79584 11-Jul-2001 ru

mdoc(7) police: fixed markup and some content typos.


79581 11-Jul-2001 ru

mdoc(7) police: fixed markup.


79574 11-Jul-2001 alfred

I have gone through all of the functions and added
the correct includes and changed the functions as
requested.

Submitted by: Chad David <davidc@acns.ab.ca>


79538 10-Jul-2001 ru

mdoc(7) police: removed HISTORY info from the .Os call.


79515 10-Jul-2001 alfred

Sort MAN= section.


79513 10-Jul-2001 alfred

Install:
cdevsw_add.9 cdevsw_remove.9 devsw.9
major.9 minor.9 umajor.9 uminor.9 vn_isdisk.9


79512 10-Jul-2001 alfred

Document some of the dev_t related APIs.

Submitted by: Chad David <davidc@acns.ab.ca>


79507 10-Jul-2001 alfred

Link in new manpages:
BUF_LOCK.9 BUF_LOCKFREE.9 BUF_LOCKINIT.9
BUF_REFCNT.9 BUF_TIMELOCK.9 BUF_UNLOCK.9
lockcount.9 lockdestroy.9 lockmgr.9 lockmgr_printinfo.9 lockstatus.9


79506 10-Jul-2001 alfred

Note that this function is for debugging purposes.


79505 10-Jul-2001 alfred

Fix explanation of LK_SLEEPFAIL option.
Remove extra period from end of sentance.


79504 10-Jul-2001 alfred

fix typos: s/BUF_LOCK/BUF_TIMELOCK, order xrefs.


79503 10-Jul-2001 alfred

Document some of the kernel API dealing with locks used primarily by VFS.

Submitted by: Chad David <davidc@acns.ab.ca>


79454 09-Jul-2001 dd

mdoc(7) police: remove extraneous .Pp before and/or after .Sh.


79447 09-Jul-2001 alfred

Link in manpages for vfs_busy, vfs_mount, vfs_unbusy, and vinvalbuf.


79446 09-Jul-2001 alfred

Document kernel API for vfs_busy(), vfs_mount(), vfs_unbusy(), and
vinvalbuf().

Submitted by: Chad David <davidc@acns.ab.ca>


79366 06-Jul-2001 ru

mdoc(7) police: sort SEE ALSO xrefs (sort -b -f +2 -3 +1 -2).


79358 06-Jul-2001 ru

mdoc(7) police: minor formatting fixes.


79341 05-Jul-2001 des

Constify the format string.

Submitted by: Mike Barcroft <mike@q9media.com>
Forgotten by: des


79223 04-Jul-2001 ru

mdoc(7) police: mark type with .Vt, sort xrefs.


79221 04-Jul-2001 ru

mdoc(7) police: cosmetics.


79147 03-Jul-2001 joerg

Don't give a bad example by starting a struct tag name with an
underscore. Names starting with an underscore are reserved.


78922 28-Jun-2001 jhb

Add a new manpage to document the CTRx macros used when adding new KTR
tracepoints to kernel code.


78687 24-Jun-2001 dd

mdoc(7) police: use the Fn macro where appropriate.


78686 24-Jun-2001 dd

Remove duplicate words.


78685 24-Jun-2001 dd

Correct a typo.


78432 18-Jun-2001 dd

Correct getopt usage and a syntax error (period used instead of a semicolon).


78278 15-Jun-2001 rwatson

o The VOP_RDWR man page neglected to mention (at least) two error modes
possible when writing:

[EFBIG] An attempt was made to write a file that exceeds
the process's file size limit or the maximum file
size.

[EPERM] An append-only flag is set on the file, but the
caller is attempting to write before the current
end of file.


78077 11-Jun-2001 des

Add sbuf_copyin(). Also add 'b' variants of sbuf_{cat,copyin,cpy}() which
ignore NUL bytes in the source string.


77989 10-Jun-2001 des

sbuf_new(9) now returns a struct sbuf * instead of an int. If the caller
does not provide a struct sbuf, sbuf_new(9) will allocate one and return
a pointer to it.


77575 01-Jun-2001 ru

Remove vestiges of MFS.


77380 29-May-2001 dd

Link make_dev.9 to make_dev_alias.9 and depends_dev.9.


77379 29-May-2001 dd

Document depends_dev.

Reviewed by: phk


77361 28-May-2001 dd

Remove obsolete DEVFS manual pages. The routines they describe don't
exist in the new (phk's) DEVFS.

Approved by: phk


77279 27-May-2001 olgeni

Fix typo: "an socket" -> "a socket".
Place period at the end of AUTHORS section.

MFC after: 1 week


76708 17-May-2001 obrien

Back out rev 1.50. VCS was correct -- it is Version Control System.


76702 17-May-2001 dougb

Minor typos


76395 09-May-2001 dd

Fix a typo (pasto?).


76344 07-May-2001 horikawa

Fix typos.
o replace `of possible' with `if possible'
o VOP_SETACL(9) is modified to say about `ACL' instead of `extended
attributed'
o EOPNOTSUPP of VOP_SETEXTATTR(9) is modified to say about
VOP_SETEXTATTR(9) instead of VOP_GETEXTATTR(9)

Reviewed by: Robert Watson <rwatson@FreeBSD.org>,
Chris Costello <chris@calldei.com>


76329 07-May-2001 ru

A bit of markup and spelling fixes.


76325 06-May-2001 dd

s/mtx_try_enter/mtx_trylock/


76285 05-May-2001 dd

Add printf.9, and add links to tprintf.9 and uprintf.9.


76282 04-May-2001 dd

A manual page for the printf(), uprintf(), and tprintf() kernel functions.

Submitted by: Andrew R. Reiter <arr@watson.org>
Reviewed by: jhb


76190 01-May-2001 schweikh

Fixed typos: dependant -> dependent


76102 28-Apr-2001 alex

Improve description of "new_sysent".


76101 28-Apr-2001 alex

Add SYSCALL_MODULE.9, a manpage for the SYSCALL_MODULE wrapper macro
for syscall klds.

Some text of this manpage is based on the comments in the example
syscall module written by Assar Westerlund.

Reviewed by: ru


75985 25-Apr-2001 obrien

Reduce the number of $FreeBSD$'s from 3 to 2. I believe both remaining
are needed for proper examples.


75870 23-Apr-2001 ru

mdoc(7) police: update HISTORY section.
This interface is not available in 4.3-RELEASE.


75820 22-Apr-2001 obrien

Address $FreeBSD$ and `rcsid'.


75819 22-Apr-2001 obrien

Fix prototype wrap example and note how to wrap ANSI-style function
definitions.


75670 18-Apr-2001 ru

mdoc(7) police: normalize .Nd.


75664 18-Apr-2001 ru

mdoc(7) police: use .Fx.


75650 18-Apr-2001 ru

mdoc(7) police: uppercase document title.


75531 15-Apr-2001 dd

Grammar police: "its", not "it's", is the possessive form of "it".


75524 15-Apr-2001 alfred

note that VOP_STRATEGY may block.

Learned from: vm/swap_pager.c comment above swap_pager_putpages()


75172 04-Apr-2001 ru

mdoc(7) police: removed final dot from the .Nd call.


75171 04-Apr-2001 ru

mdoc(7) police: there is no single manpage that uses ``.Sy not''.


75028 30-Mar-2001 jhb

Correct the MLINKS for mutex.9 to reflect the API change and add a new
MLINK for mtx_initialized.

Reminded by: rwatson


75027 30-Mar-2001 jhb

- Document mtx_initialized().
- Document that MTX_QUIET can be passed to mtx_init() and the new flag
MTX_NOWITNESS.


74986 29-Mar-2001 bde

Fixed bitrot in the prototypes for NDINIT and NDFREE.


74984 29-Mar-2001 bde

Fixed missing and disorded includes in synopsis.

Removed bogus quotes in .Fn invocations. Single words don't need quoting.


74982 29-Mar-2001 bde

Fixed wrong include in synopsis. <sys/param.h> is a prerequisite for
<sys/mutex.h> due to #include spam in <sys/mutex.h>. (More precisely,
<sys/time.h> is the prerequisite, but that is provided by standard
#include spam in <sys/param.h>.)

Fixed bitrot in prototype for mtx_init().


74962 28-Mar-2001 des

Prepare for pseudofs.


74932 28-Mar-2001 jhb

- Both <sys/sx.h> and <sys/mutex.h> depend on <sys/types.h> and
<sys/lock.h>.
- <sys/sx.h> depends on <sys/mutex.h>.


74910 28-Mar-2001 jhb

Add a manpage for the critical_enter/exit() functions.


74856 27-Mar-2001 ru

MAN[1-9] -> MAN.


74840 27-Mar-2001 ken

Rewrite of the CAM error recovery code.

Some of the major changes include:

- The SCSI error handling portion of cam_periph_error() has
been broken out into a number of subfunctions to better
modularize the code that handles the hierarchy of SCSI errors.
As a result, the code is now much easier to read.

- String handling and error printing has been significantly
revamped. We now use sbufs to do string formatting instead
of using printfs (for the kernel) and snprintf/strncat (for
userland) as before.

There is a new catchall error printing routine,
cam_error_print() and its string-based counterpart,
cam_error_string() that allow the kernel and userland
applications to pass in a CCB and have errors printed out
properly, whether or not they're SCSI errors. Among other
things, this helped eliminate a fair amount of duplicate code
in camcontrol.

We now print out more information than before, including
the CAM status and SCSI status and the error recovery action
taken to remedy the problem.

- sbufs are now available in userland, via libsbuf. This
change was necessary since most of the error printing code
is shared between libcam and the kernel.

- A new transfer settings interface is included in this checkin.
This code is #ifdef'ed out, and is primarily intended to aid
discussion with HBA driver authors on the final form the
interface should take. There is example code in the ahc(4)
driver that implements the HBA driver side of the new
interface. The new transfer settings code won't be enabled
until we're ready to switch all HBA drivers over to the new
interface.

src/Makefile.inc1,
lib/Makefile: Add libsbuf. It must be built before libcam,
since libcam uses sbuf routines.

libcam/Makefile: libcam now depends on libsbuf.

libsbuf/Makefile: Add a makefile for libsbuf. This pulls in the
sbuf sources from sys/kern.

bsd.libnames.mk: Add LIBSBUF.

camcontrol/Makefile: Add -lsbuf. Since camcontrol is statically
linked, we can't depend on the dynamic linker
to pull in libsbuf.

camcontrol.c: Use cam_error_print() instead of checking for
CAM_SCSI_STATUS_ERROR on every failed CCB.

sbuf.9: Change the prototypes for sbuf_cat() and
sbuf_cpy() so that the source string is now a
const char *. This is more in line wth the
standard system string functions, and helps
eliminate warnings when dealing with a const
source buffer.

Fix a typo.

cam.c: Add description strings for the various CAM
error status values, as well as routines to
look up those strings.

Add new cam_error_string() and
cam_error_print() routines for userland and
the kernel.

cam.h: Add a new CAM flag, CAM_RETRY_SELTO.

Add enumerated types for the various options
available with cam_error_print() and
cam_error_string().

cam_ccb.h: Add new transfer negotiation structures/types.

Change inq_len in the ccb_getdev structure to
be "reserved". This field has never been
filled in, and will be removed when we next
bump the CAM version.

cam_debug.h: Fix typo.

cam_periph.c: Modularize cam_periph_error(). The SCSI error
handling part of cam_periph_error() is now
in camperiphscsistatuserror() and
camperiphscsisenseerror().

In cam_periph_lock(), increase the reference
count on the periph while we wait for our lock
attempt to succeed so that the periph won't go
away while we're sleeping.

cam_xpt.c: Add new transfer negotiation code. (ifdefed
out)

Add a new function, xpt_path_string(). This
is a string/sbuf analog to xpt_print_path().

scsi_all.c: Revamp string handing and error printing code.
We now use sbufs for much of the string
formatting code. More of that code is shared
between userland the kernel.

scsi_all.h: Get rid of SS_TURSTART, it wasn't terribly
useful in the first place.

Add a new error action, SS_REQSENSE. (Send a
request sense and then retry the command.)
This is useful when the controller hasn't
performed autosense for some reason.

Change the default actions around a bit.

scsi_cd.c,
scsi_da.c,
scsi_pt.c,
scsi_ses.c: SF_RETRY_SELTO -> CAM_RETRY_SELTO. Selection
timeouts shouldn't be covered by a sense flag.

scsi_pass.[ch]: SF_RETRY_SELTO -> CAM_RETRY_SELTO.

Get rid of the last vestiges of a read/write
interface.

libkern/bsearch.c,
sys/libkern.h,
conf/files: Add bsearch.c, which is needed for some of the
new table lookup routines.

aic7xxx_freebsd.c: Define AHC_NEW_TRAN_SETTINGS if
CAM_NEW_TRAN_CODE is defined.

sbuf.h,
subr_sbuf.c: Add the appropriate #ifdefs so sbufs can
compile and run in userland.

Change sbuf_printf() to use vsnprintf()
instead of kvprintf(), which is only available
in the kernel.

Change the source string for sbuf_cpy() and
sbuf_cat() to be a const char *.

Add __BEGIN_DECLS and __END_DECLS around
function prototypes since they're now exported
to userland.

kdump/mkioctls: Include stdio.h before cam.h since cam.h now
includes a function with a FILE * argument.

Submitted by: gibbs (mostly)
Reviewed by: jdp, marcel (libsbuf makefile changes)
Reviewed by: des (sbuf changes)
Reviewed by: ken


74745 24-Mar-2001 alex

Sort includes and remove bogus typedef of modeventhand_t, since this
isn't used in the example any more.

Pointed out by: bde


74694 23-Mar-2001 alex

- DECLARE_MODULE needs SYSINIT -> include sys/kernel.h
- modeventhand_t declares a pointer to a function, so it can't be
used as a forward declaration (d'oh!)

Submitted by: Harti Brandt <brandt@fokus.gmd.de>


74439 19-Mar-2001 rwatson

o Rename "namespace" argument to "attrnamespace" as namespace is a C++
reserved word

Submitted by: jkh
Obtained from: TrustedBSD Project


74420 18-Mar-2001 alex

Fix typo: s/DRIVERMODULE/DRIVER_MODULE/

PR: 25901
Submitted by: Maxime Henrion <mux@qualys.com>


74355 16-Mar-2001 rwatson

o The revenge of the mdoc(7) police:

- These pages abused Ar macro (they should have used Fa).
- NULL and other numeric constants should be marked with Dv.
- VOP_* in the ERRORS section for the EOPNOTSUPP entry should be marked
with Fn.

Submitted by: ru


74354 16-Mar-2001 rwatson

o The mdoc(7) police strike with avengance:

- These pages abused Ar macro (they should have used Fa).
- NULL constant should be marked with Dv.
- VOP_* in the ERRORS section for the EOPNOTSUPP entry should be marked
with Fn.

Submitted by: ru


74349 16-Mar-2001 ru

mdoc(7) police: empty lines outside displays cause warnings in -mdocNG.


74277 15-Mar-2001 rwatson

o Update some of the kernel man pages associated with extended attributes
to reflect EA API change to explicit namespacing.

Obtained from: TrustedBSD Project


74155 12-Mar-2001 ru

mdoc(7) police:
removed hard sentence breaks, use Ft for function return type.


74154 12-Mar-2001 ru

Fixed typo.


74152 12-Mar-2001 ru

mdoc(7) police: misc formatting fixes.


74148 12-Mar-2001 ru

mdoc(7) police: mark C types with Vt macro.


74141 12-Mar-2001 bp

Apply some grammar fixes.

Submitted by: asmodai


74114 11-Mar-2001 mjacob

Document the make_dev_alias function.


74110 11-Mar-2001 alex

Add a manpage for the DEV_MODULE kernel macro.


74109 11-Mar-2001 alex

Use type of modeventhand_t for the event handler (defined in module.h).
Add a reference to module(9) for more info about the event handler.


74108 11-Mar-2001 alex

Fix brain damage: s/CDEV_MODULE/DEV_MODULE/


74104 11-Mar-2001 alex

Add MODULE_DEPEND.9 and MODULE_VERSION.9


74103 11-Mar-2001 alex

Add a manpage for the MODULE_DEPEND macro.


74102 11-Mar-2001 alex

Add a manpage for the MODULE_VERSION macro.


74101 11-Mar-2001 alex

Add calls to MODULE_VERSION and MODULE_DEPEND to the EXAMPLE.


74088 10-Mar-2001 alex

Cross references between the DEVICE_*(9) manual pages.


74085 10-Mar-2001 alex

Add references to the various DEVICE_*(9) manpages, otherwise people
don't even know about these.


74084 10-Mar-2001 alex

Add DEVICE_IDENTIFY.9


74083 10-Mar-2001 alex

Add a manpage for the last of the driver's functions, the identify
routine.

PR: 18654
Submitted by: myself (reworked today)


74080 10-Mar-2001 alex

Two mdoc fixes:
- .Os is used without "FreeBSD" nowadays.
- remove hard sentence breaks.


74066 10-Mar-2001 bp

Add documentation for mchain API.

Reviewed by: asmodai, ru (mbchain.9)


74036 09-Mar-2001 alex

Add module.9 and DECLARE_MODULE.9


74035 09-Mar-2001 alex

Add a general manpage about kernel modules, similar to driver(9).

Reviewed by: dfr, ru


74034 09-Mar-2001 alex

Add a manpage for the kernel macro DECLARE_MODULE.

Reviewed by: dfr, ru


74012 09-Mar-2001 jhb

Document the ithread_* API used to manage interrupt threads and their
list of handlers.


74011 09-Mar-2001 jhb

Add 2001 to copyright.


74009 09-Mar-2001 jhb

- Add 2001 to copyright.
- Kthread functions return an error status, they don't set errno to an
error status.
- Remove the BUGS section as all the bugs listed have been fixed now.


73873 06-Mar-2001 markm

Grammar police.


73872 06-Mar-2001 markm

Fix markup.

Submitted by: ru


73868 06-Mar-2001 ru

mdoc(7) police: Use Vt for variable types.


73798 05-Mar-2001 jhb

Adjust swi.9 MLINKS to catch up to the new swi API.


73797 05-Mar-2001 jhb

Catch up to the new swi API.


73782 05-Mar-2001 jasone

Implement shared/exclusive locks.

Reviewed by: bmilekic, jake, jhb


73377 03-Mar-2001 markm

Extra MLINKS to reflect expansion of BUS_SETUP_INTR(9) manpage.


73376 03-Mar-2001 markm

Add a whole lot of extra info. Lots was gained from reading code
or comments, and some is as a result of simply documenting the
entropy harvester.

This still needs work: could a newbus guru pleazse follow up
and fix.extend my (no doubt) obvious mistakes!


73337 02-Mar-2001 ru

mdoc(7) police: in -offset clause, spell the ``indent'' correctly.


73321 02-Mar-2001 ru

Fix the rest of formatting.


73310 02-Mar-2001 imp

Add link for resource_query_unit, now documented in the
resource_query_string man page.


73309 02-Mar-2001 imp

Flesh out this man page a bit more. Add information about
resource_query_unit and improve the descriptions of the parameters
passed to these functions.

Plus a couple minor formatting/markup changes:
o Quote -1 as \-1.
o .Dq hints to match resource_int_value().


73271 01-Mar-2001 asmodai

Correct English used.


73270 01-Mar-2001 ru

Numerous formatting/content fixes.


73269 01-Mar-2001 asmodai

Hook Warner's resource_* manpages to the build.
This includes appropriate MLINKS for the other functions contained
within them.


73268 01-Mar-2001 asmodai

Remove leading . from .Nd description.


73267 01-Mar-2001 asmodai

Fix typo: the the -> to the.


73252 01-Mar-2001 imp

Document the resource_*_value and resource_query_string families of
functions. These man pages likely need some markup work, so I've
specifically not added them to the Makefile yet.


72810 21-Feb-2001 ben

Expand

if ((foo = bar()) != 0)

to
foo = bar();
if (foo != 0)

Submitted by: phk


72799 21-Feb-2001 ben

Don't suggest

if (error = function(a1, a2))

since it causes a warning with -Wall. Change it so it has an explicit test
against zero,

if ((error = function(a1, a2)) != 0)


72530 16-Feb-2001 ru

mdoc(7) police: sanitize previous revision changes.


72528 16-Feb-2001 bmilekic

Document recently-implemented m_getm().


72520 15-Feb-2001 bde

Fixed bitrot in synopsis. The Lite2 change from int to u_long for ioctl
command numbers had not reached here.


72519 15-Feb-2001 bde

Fixed rotted-as-committed pseudo-prototype for VFS_CHECKXP(). It had not
caught up with the changes to avoid storing socket addresses in mbufs,
although the VFS_CHECKEXP() code had to since it was committed 2 years
after those changes.

Fixed formatting in this prototype.


72516 15-Feb-2001 bde

Fixed bitrot in synopsis (some const poisoning had not reached here).


72514 15-Feb-2001 bde

Fixed missing and wrong includes in synopsis. The prerequisites for
using bus_alloc_resource(), etc., are especially unobvious, but were
especially wrong (<sys/resource.h> has nothing to do with the resources
documented here...). Order and format the includes as correctly as
possible (a layering violation makes <machine/bus.h> a prerequisite for
<sys/rman.h>).


72513 15-Feb-2001 bde

Fixed missing include in synopsis.

Added evil #define of ACCEPT_FILTER_MODULE to synopsis. Some of
the functions defined in this man page aren't declared unless
ACCEPT_FILTER_MOD is defined before including <sys/socketvar.h>.


72512 15-Feb-2001 bde

Fixed missing and/or wrong and/or extra includes in synopsis.


72411 12-Feb-2001 ru

mdoc(7) cleanup.


72392 12-Feb-2001 bmilekic

Catch up to mutex API changes.


72126 07-Feb-2001 ru

mdoc(7) police: Change -filled displays (which just happen
to be the same as -ragged in the current implementation) to
-ragged. With mdocNG, -filled displays produce the correct
output, formatted and justified to both margins.


72123 07-Feb-2001 ru

mdoc(7) police: Removed extraneous .No call. The .Nm macro in
mdocNG has been fixed to properly handle its arguments so this
was causing the extraneous (undesirable) space.


72100 06-Feb-2001 ru

mdoc(7) police: minor style/formatting fixes.


72097 06-Feb-2001 ru

mdoc(7) police: minor style/formatting fixes.


72087 06-Feb-2001 bp

Add man page for VOP_GETVOBJECT, VOP_CREATEVOBJECT and VOP_DESTROYVOBJECT
operations.

Reviewed by: sheldonh


72079 06-Feb-2001 asmodai

Add vcount.9 / count_dev.9.
Touched up a bit and added some consistency to the text by your's truly.

PR: 23745
Submitted by: Andrew Stevenson <andrew@ugh.net.au>


71928 02-Feb-2001 bde

Removed vestiges of vop_mmap.


71917 02-Feb-2001 nik

Declaring functions inside functions was deprecated twice. Keep the
second recommendation, which includes more rationale, and nix the first.

PR: docs/24690
Submitted by: Alex Kapranoff <alex@kapran.bitmcnit.bryansk.su


71911 02-Feb-2001 jhb

mtx_try_enter() returns an int, not void.


71895 01-Feb-2001 ru

mdoc(7) police: split punctuation characters + misc fixes.


71883 31-Jan-2001 ben

Document the mpsafe argument to callout_init().

PR: 24529
Submitted by: harti brandt <brandt@fokus.gmd.de>
Reviewed by: jlemon


71783 29-Jan-2001 des

Style police.

Submitted by: ru


71723 28-Jan-2001 des

Add MLINKS for sbuf_clear() and sbuf_overflowed().


71722 28-Jan-2001 des

Document the changes in subr_sbuf.c rev. 1.2.


71714 27-Jan-2001 des

Add a man page for the zone allocator.


71521 24-Jan-2001 ru

mdoc(7) police: fixed some minor formatting/spelling errors.


71444 23-Jan-2001 jhb

- Activate runqueue.9, scheduler.9, and sleepqueue.9 along with appropriate
MLINKS.
- Update MLINKS for mi_switch.9.


71443 23-Jan-2001 jhb

Catch up to the new way that the scheduling code works since the original
SMPng commit. Also document the new cpu_throw function (currently only
on i386).

Reviewed by: sheldonh


71442 23-Jan-2001 jhb

Document the various functions and variables used by the current
scheduler code. Includes a rough description of the various priority
values stored in struct proc as well as priority propagation.

Reviewed by: chris


71441 23-Jan-2001 jhb

Document the current organization and helper functions used to implement
the sleep queues used by msleep/wakeup and friends.

Submitted by: sheldonh


71440 23-Jan-2001 jhb

Document the current organization of the run queues and the various
functions used to manage them.

Reviewed by: sheldonh


71320 21-Jan-2001 jasone

Remove MUTEX_DECLARE() and MTX_COLD. Instead, postpone full mutex
initialization until after malloc() is safe to call, then iterate through
all mutexes and complete their initialization.

This change is necessary in order to avoid some circular bootstrapping
dependencies.


71221 18-Jan-2001 ru

mdoc(7) police: add missing .Ed call.


71101 16-Jan-2001 ru

Prepare for mdoc(7)NG.


71096 16-Jan-2001 ru

mdoc(7) police: use .Fa for function arguments, use .Vt for variable type.


71088 16-Jan-2001 jasone

Implement condition variables.


71035 14-Jan-2001 markm

Add a missing argument for SYSCTL_ADD_OPAQUE.

Fix the examples at the end which were horribly broken.


71000 13-Jan-2001 chris

The prototype for cpu_switch() was changed in revision 1.111 of
<sys/proc.h>

PR: 24311
Submitted by: Robert Drehmel <robert@gizmo.quizbot.org>


70975 12-Jan-2001 ru

Oops, the previous did not work with current mdoc(7).


70974 12-Jan-2001 ru

mdoc(7) police: Ft/Vt now accept punctuation-type arguments.


70466 29-Dec-2000 ru

Prepare for mdoc(7)NG.


70322 24-Dec-2000 bmilekic

Change M_WAIT to M_TRYWAIT, the new name of the flag.


70067 15-Dec-2000 jhb

Catch up to the changes to the kthread API.


70017 14-Dec-2000 ru

mdoc(7) police: removed duplicate .Os calls.


70015 14-Dec-2000 ru

mdoc(7) police: removed history info from the .Os FreeBSD call.


70012 14-Dec-2000 sheldonh

Grammar fix.


70010 14-Dec-2000 ru

mdoc(7) police: add a missing .Os, change the list type to ``tagged''.


70001 13-Dec-2000 jhb

Document the MA_RECURSED and MA_NOTRECURSED assertion flags as well as
the MTX_QUIET flag.


69992 13-Dec-2000 des

Add sbuf(9) man page with links to API function names.

Reviewed by: ru


69860 11-Dec-2000 ru

mdoc(7) police: use canonical form of .Dd macro.


69782 08-Dec-2000 jhb

Fix some nits in the globs used to describe the various sets of atomic
operations.

Submitted by: jake, jasone


69098 23-Nov-2000 dcs

Add a brief warning about devclass and multiple device driver attachments.


69052 22-Nov-2000 ru

mdoc(7) police: Er macro usage cleanup.


69035 22-Nov-2000 ru

mdoc(7) police: add the missing and required .Dd macro call.


69027 22-Nov-2000 ru

mdoc(7) police: do not split author names in the AUTHORS section.


69023 22-Nov-2000 ru

mdoc(7) police: minor cleanup.


69018 22-Nov-2000 alfred

Install DELAY(9).


69016 22-Nov-2000 alfred

Document the DELAY() function.


69013 21-Nov-2000 bmilekic

Add description of M_WRITABLE macro and new M_RDONLY flag. Try my best to
conform to line break mdoc FreeBSD standards, although I am new to this.

Reviewed by: sheldonh


69010 21-Nov-2000 markm

Add new man page to the mix.


69009 21-Nov-2000 markm

Whitespace-only change. Tidy up, alphabetise and wrap.


69003 21-Nov-2000 markm

Add a consistent API to a feature that most modern CPUs have; a fast
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


68962 20-Nov-2000 ru

mdoc(7) police: use the new features of the Nm macro.


68882 18-Nov-2000 ben

Fix typo.

PR: 22923
Submitted by: Jimmy Olgeni <olgeni@uli.it>


68880 18-Nov-2000 ben

Fix another typo.

PR: 22924
Submitted by: Jimmy Olgeni <olgeni@uli.it>


68857 17-Nov-2000 ru

mdoc(7) police: eliminate warnings.


68853 17-Nov-2000 ben

Fix typos.

PR: 22901, 22902
Submitted by: Jimmy Olgeni <olgeni@uli.it>


68800 16-Nov-2000 alfred

install/build accf_* manpages


68798 15-Nov-2000 alfred

Xref accf_http and accf_data


68796 15-Nov-2000 alfred

Document the accf_data accept filter: "dataready"


68795 15-Nov-2000 alfred

Document the accf_http accept filter "httpready".


68753 15-Nov-2000 ben

remove fullstops from the end of .Xr lines in SEE ALSO sections.


68749 15-Nov-2000 ben

Add a newline character at the end of this file, it was missing which
resulted in ugly errors from 'diff'.


68716 14-Nov-2000 ru

Use Fx macro wherever possible.


68687 13-Nov-2000 jhb

Beef up the description of the kernel thread API.

Reviewed by: sheldonh, jasone


68686 13-Nov-2000 jhb

Describe the new software interrupt thread functionality.

Reviewed by: sheldonh, jasone


68685 13-Nov-2000 jhb

Add a manpage to document the atomic operations including a quick treatment
of memory barriers and the newish atomic variants that include them.

Reviewed by: sheldonh


68681 13-Nov-2000 dwmalone

Change a "xlint(1)" to a ".Xr lint 1" and add a reference in the see also
section.


68678 13-Nov-2000 sheldonh

Sort NAMES section and separate Nm arguments from trailing punctuation.


68575 10-Nov-2000 ru

Avoid use of direct troff requests in mdoc(7) manual pages.


68557 10-Nov-2000 sheldonh

Miscellaneous content fixes:

* 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


68556 10-Nov-2000 sheldonh

Whitespace only: fix hard sentence breaks now, before people really
get stuck into this page.


68541 10-Nov-2000 jhb

Replace non-existent 'mtx_t' typedef'd type with 'struct mtx'.


68211 01-Nov-2000 bmilekic

Fixup some wrong statements in the new mbuf(9) man page.
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.


68138 01-Nov-2000 jhb

Catch up to mutexes becoming MI: machine/mutex.h -> sys/mutex.h


68072 31-Oct-2000 asmodai

Fix a fundamental error. The device is not owned by the parent
bus before allocation. The resource is.

Asked about by: julian on -current
Verified by: msmith


67996 30-Oct-2000 sheldonh

Whitespace only:

* Remove hard sentence breaks.
* Remove trailing whitespace.
* Separate macro arguments from trailing punctuation with whitespace.


67934 30-Oct-2000 ru

Add pfil.9 manpage to build after a repository copy.


67893 29-Oct-2000 phk

Move suser() and suser_xxx() prototypes and a related #define from
<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>.


67776 28-Oct-2000 alex

Use EX_USAGE in an example, as the SAME manual page describes a
few lines higher.

PR: 22371
Submitted by: andrew@ugh.net.au


67728 27-Oct-2000 mpp

Typo fix.


67714 27-Oct-2000 asmodai

Use FreeBSD.org, not freebsd.org, as has been the precedent.


67667 26-Oct-2000 jhb

Add in MLINKS for all of the various mutex functions to mutex.9


67666 26-Oct-2000 jhb

- Document MUTEX_DECLARE and MTX_COLD
- Clean up some minor nits


67665 26-Oct-2000 jhb

Add a note that the spl() API is deprecated in favor of mutexes.


67664 26-Oct-2000 nik

Add a prototype mbuf.9 man page. Probably needs work, but it's a good
start.

PR: docs/22053
Submitted by: Yar Tikhiy <yar@comp.chem.msu.su>


67480 24-Oct-2000 markm

Add some very crude man pages to try to induce folk to work on them.

Agreed to work on them: jasone


67384 20-Oct-2000 phk

Introduce the M_ZERO flag to malloc(9)

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.


67115 14-Oct-2000 markm

Add a man page for part of the PRNG API.


66774 06-Oct-2000 brian

Index: Makefile
===================================================================
RCS file: /home/ncvs/src/share/man/man9/Makefile,v
retrieving revision 1.75
diff -u -r1.75 Makefile
--- Makefile 2000/09/17 12:15:12 1.75
+++ Makefile 2000/10/06 23:24:26
@@ -69,6 +69,8 @@
MLINKS+=make_dev.9 destroy_dev.9
MLINKS+=malloc.9 FREE.9 malloc.9 MALLOC.9 malloc.9 free.9
MLINKS+=mi_switch.9 cpu_switch.9
+MLINKS+=namei.9 NDINIT.9
+MLINKS+=namei.9 NDFREE.9
MLINKS+=posix4.9 p1003_1b.9
MLINKS+=psignal.9 gsignal.9 psignal.9 pgsignal.9
MLINKS+=rtalloc.9 rtalloc1.9 rtalloc.9 rtalloc_ign.9


66728 06-Oct-2000 ps

Correct who pioneered the accept filters and Yahoo!'s company name.


66348 25-Sep-2000 markm

Huge improvement to the mutex man page.

o Document all the mutex calls, not just the entry and exit.

o Fix the mtx_t typedef (now is struct mtx).


66347 25-Sep-2000 markm

Remove references to the defunct kern.timecounter.method sysctl variable.


66185 21-Sep-2000 rwatson

o Bring VOP_GETACL(9) and VOP_GETEXTATTR(9) man page "LOCKS" sections in
sync with the implementation. Vnode locks *are* required for these
operations, as some underlying implementations will require them.

Obtained from: TrustedBSD Project


65979 17-Sep-2000 alex

Reference DRIVER_MODULE.9


65977 17-Sep-2000 alex

Add DRIVER_MODULE.9, the manual page describing the kernel driver
declaration macro.
Thanks to Sheldon for a big patch with language/mdoc fixes.

Reviewed by: asmodai, sheldonh


65923 16-Sep-2000 phk

Fix a cut&paste mistake.


65709 11-Sep-2000 jake

Add scant documentation for msleep.


65557 07-Sep-2000 jasone

Major update to the way synchronization is done in the kernel. Highlights
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


65174 28-Aug-2000 dfr

Document kobj_class_compile_static().


64770 17-Aug-2000 sheldonh

Clear extraneous arguments to the name (Nm) macro.
Mark PRISON_ROOT and EPERM as defined values (Dv).


64725 16-Aug-2000 markm

Mention more functions in the headers so whatis(1) can find them, and
create links to functions so added found.


64724 16-Aug-2000 markm

Grammar police; make the English style more consistent throughout,
and give suser_xxx some more airtime.


64681 15-Aug-2000 markm

Grammar police; "has been written by" --> "was written by".


64680 15-Aug-2000 markm

Improve the cross-references.


64676 15-Aug-2000 markm

Fix grammar and a function name.


64395 08-Aug-2000 sheldonh

Clarify the guidelines surrounding the use of macros. The patch is
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


63772 23-Jul-2000 markm

Remove references to the (removed) kern.timecounter.method sysctl.


63494 19-Jul-2000 sheldonh

Clean up this new manual page. This delta includes content and
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


63427 18-Jul-2000 ben

Define what is meant by `brackets' and `braces'.

Suggested by: grog


63421 18-Jul-2000 sheldonh

Order the cross-references in the SEE ALSO section correctly.


63396 18-Jul-2000 sheldonh

Clean up this new manual page. This delta includes content and
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


63324 17-Jul-2000 ben

Remove some whitespace so the line with "brackets" changed to "angle
brackets" no longer touches the right edge of an 80 column display.


63279 16-Jul-2000 ben

1. "braces" -> "brackets" when referring to [ and ].

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


63232 15-Jul-2000 ben

"VFS entry point" -> "entry point", to be consistent with other VOP_*(9)
manual pages.

PR: 18593
Submitted by: Anatoly Vorobey <mellon@pobox.com>


63212 15-Jul-2000 abial

These patches implement dynamic sysctls. It's possible now to add
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


62953 11-Jul-2000 asmodai

Install accept_filter.9

Forgotten by: alfred


62922 10-Jul-2000 alfred

attrib properly.

Pointed out by: asmodai


62919 10-Jul-2000 alfred

Document the kernel interface for accept filters.
Thanks to sheldonh for cleaning up the rough initial manpage.


62576 04-Jul-2000 n_hibma

Correct the text for the return value.

Submitted by: phk


61868 20-Jun-2000 alex

mdoc style cleanup: newline for new sentence.

Submitted by: sheldonh


61684 14-Jun-2000 alex

Fix typo (accessable --> accessible) and add period.

PR: 18588
Submitted by: Anatoly Vorobey <mellon@pobox.com>
Reviewed by: asmodai


61579 12-Jun-2000 alex

Document possible values for the waitfor arg.

PR: 18627, 18628
Reviewed by: asmodai


61480 10-Jun-2000 alex

Remove XXX: Describe if_init().

Reviewed by: asmodai


61431 08-Jun-2000 alex

Add bus_alloc_resource.9 and bus_release_resource.9.
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


61247 04-Jun-2000 asmodai

VFS_CHECKEXP.9:
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>


61049 28-May-2000 dfr

Add documentation for taskqueue apis.


60751 21-May-2000 hoek

The LOCKPARENT flag is singular. It doesn't work causing complications
is also a singular fact.


60673 18-May-2000 chris

Replace a manual.section file reference with a proper mdoc(7) .Xr
reference.

PR: 18625
Submitted by: Alexander Langer <alex@cichlids.com>


60473 12-May-2000 paul

Correct duplicate use of word "been" in a sentence.


60392 11-May-2000 bde

Abuse .Fn for macros better (don't hand-format the parameter string by
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.


60391 11-May-2000 bde

Removed bogus quoting of single tokens in a .Fn invocation. This helps
my synopsis checker decide which .Fn's are for prototypes (most function
parameters require quoting because they have multiple tokens).


60388 11-May-2000 bde

Fixed bitrot. The changes from buf to bio had not reached here.


60342 11-May-2000 darrenr

patch from Alexey Zelkin


60317 10-May-2000 darrenr

Add pfil(9) subroutines and manpage from NetBSD.


60311 10-May-2000 sheldonh

Supply only one author name per instance of %A, as per mdoc.samples(7).

PR: 18465
Submitted by: Kazu TAKAMUNE <takamune@avrl.mei.co.jp>


60284 09-May-2000 hoek

Small grammar gnit.


60280 09-May-2000 mpp

Spelling fix: despatching -> dispatching. This makes the
spelling consistent throughout the man page.

PR: docs/18467
Submitted by: Alexander N. Kabaev <ak03@gte.com>


60279 09-May-2000 mpp

Correct a patch name and use the correct macro for displaying it.

PR: docs/18468
Submitted by: Anatoly Vorobey <mellon@pobox.com>


60272 09-May-2000 mph

Correct "it's" to "its".

PR: 18469
Submitted by: Anatoly Vorobey <mellon@pobox.com>


60258 09-May-2000 sheldonh

Fix miscellaneous mdoc macro argument limit infringements.

PR: 18465
Reported by: Kazu TAKAMUNE <takamune@avrl.mei.co.jp>


59626 25-Apr-2000 wollman

Add punctuation to make a sentence more readable.


59449 21-Apr-2000 green

Poul-Henning's changes necessitate s/bp->b_flags/bp->b_io/bio_cmd/.


59448 21-Apr-2000 green

s/of possible/if possible/


59387 19-Apr-2000 chris

Add a .Pp between the forklist_fn typedef and the at_fork prototype.


59386 19-Apr-2000 chris

Replace a literal vertical space with a .Pp macro.


59384 19-Apr-2000 chris

Fill in a missing word (`it').


59116 10-Apr-2000 dfr

Use the existing Fx macros for rendering "FreeBSD ver".

Submitted by: Sheldon Hearn <sheldonh@uunet.co.za>


59092 08-Apr-2000 dfr

Add manpage for kernel object system.


58956 02-Apr-2000 chris

- Add HPFS and NWFS vnode tags.
- Update ``struct vnode'' changes from revisions 1.91, 1.94, 1.98, 1.101,
1.102.

Reviewed by: alfred


58929 02-Apr-2000 asmodai

Add and install BUS_SETUP_INTR.9.
This effectively replaces BUS_CREATE_INTR.9 and BUS_CONNECT_INTR.9.

Reviewed by: n_hibma


58925 02-Apr-2000 asmodai

Get rid of the manpages for BUS_CREATE_INTR() and BUS_CONNECT_INTR().
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


58901 01-Apr-2000 asmodai

Remove spurious .Fc which caused this manpage to be closed
prematurely.


58516 24-Mar-2000 mpp

Minor style fixes: freebsd.org -> FreeBSD.org


58483 23-Mar-2000 bde

Fixed bitrot in synopsis (the third arg of vsunlock went away).


58442 21-Mar-2000 asmodai

Remove trailing comma.


58439 21-Mar-2000 asmodai

As bde was kind to point out:
"Man pages shouldn't refer to higher level interfaces
built using the interfaces in the man pages."

Submitted by: bde


58431 21-Mar-2000 asmodai

Fix lameness I introduced by typing the Xr as a filename, sigh.


58426 21-Mar-2000 asmodai

Fix EXAMPLE -> EXAMPLES.
Add Xr's for SPLASSERT and CONDSPLASSERT.


58425 21-Mar-2000 asmodai

Assorted bag o' fixes:
fix Jonathan's name, fix copyright date, man -> manual,
add const before char *msg, add email address.


58405 20-Mar-2000 bde

Actually install KASSERT.9.


58380 20-Mar-2000 green

Both:
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".


58361 20-Mar-2000 asmodai

Fix some mdoc nits.
.Fd - > .Cd
EXAMPLE - > EXAMPLES
man page -> manual page

Submitted by: large part by sheldonh


58303 19-Mar-2000 asmodai

Fix typo.


58302 19-Mar-2000 asmodai

Trim trailing whitespace.


58301 19-Mar-2000 asmodai

Document the sysctl knob for setting the severity of the SPLASSERT
macros.

Reviewed by: ps


58293 19-Mar-2000 asmodai

Spell Jonathan's name correctly in the copyright. Which is funny,
considering the fact he wrote it himself. =)

Also add his email address in the AUTHORS section.


58291 19-Mar-2000 asmodai

Add the manpage for CONDSPLASSERT().
This was based upon the manpage written by jmb for SPLASSERT().


58249 18-Mar-2000 asmodai

After about two months I am the first to notice that SPLASERT.9 never
got installed.

Also, correct the copyright to a more realistic date (1996->2000).
Fix some wordings and omissions.


58150 16-Mar-2000 chris

Be consistent with `struct vattr' naming. Half of this manual used `vpp'
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).


57731 03-Mar-2000 sheldonh

Remove single-space hard sentence breaks. These degrade the quality
of the typeset output, tend to make diffs harder to read and provide
bad examples for new-comers to mdoc.


57695 02-Mar-2000 sheldonh

Remove more single-space hard sentence breaks.


57264 16-Feb-2000 jasone

Fix a typo (simple --> simply).


56753 28-Jan-2000 rwatson

Fix man page structures/constants to match recent changes in acl.h
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


56078 16-Jan-2000 jmb

Add SPLASSERT.9 man page. SPLASSERT() commit to follow immediately.

Approved by: jkh


56049 15-Jan-2000 peter

Don't mix up KNF and style(9). This isn't KNF, it's a derivative of it.


55994 14-Jan-2000 jmb

Document the KASSERT() macro.


55549 07-Jan-2000 phantom

Add new manpages for:
microtime(9)
nanotime(9)
getmicrotime(9)
getnanotime(9)
microuptime(9)
nanouptime(9)
getmicrouptime(9)
getnanouptime(9)
tvtohz(9)

Based on PR: docs/15889
Submitted by: Kelly Yancey <kbyanc@posi.net>


55547 07-Jan-2000 phantom

Place #include's and $NetBSD$ tag to appropriate places.


55430 05-Jan-2000 rwatson

Man pages for the VFS extended attribute and access control list vnops.

Reviewed by: eivind


55156 27-Dec-1999 bde

Fixed some bugs (one serious one: timeouts were claimed to be executed at
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


55052 23-Dec-1999 bde

Fixed bitrot in synopsis. The prototype for panic() was moved to
<sys/param.h>, but the #includes weren't adjusted here.


55051 23-Dec-1999 bde

Fixed wrong function types (the device_add_child() family returns a
device_t, not an int).


55050 23-Dec-1999 bde

Removed unused include of <sys/buf.h> from synopsis. This include is
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.


55049 23-Dec-1999 bde

Fixed bitrot in synopsis. The prototype for VOP_ISLOCKED() changed
recently, except of course in the documentation. Other parts of this
man page are several years out of date.


55048 23-Dec-1999 bde

Fixed missing #includes in synopsis.


55047 23-Dec-1999 bde

Fixed bitrot in synopsis. Important interface changes hadn't reached here.


55046 23-Dec-1999 bde

"Fixed" assorted bitrot. remove_dev() was renamed to destroy_dev().
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.


54789 18-Dec-1999 eivind

Correct the documentation of LOCKPARENT - it does not reliably result in the
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.


54703 16-Dec-1999 eivind

Document NDFREE w/flags, and fix up the description of NOFOLLOW.


54676 16-Dec-1999 obrien

* State in words that "#define^IMACRO" is proper, as it is hard to tell
from the example.
* Embelish the usage() example to show how uppercase options are sorted.

Taken from previous bdelinting.


54533 13-Dec-1999 alfred

explain that ioflags can be used to give read-ahead hints to the underlying
filesystem.


54279 08-Dec-1999 ken

Revamp the devstat priority system. All disks now have the same priority.
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


54077 03-Dec-1999 mdodd

Remove mention of 'ivars'.


54033 02-Dec-1999 n_hibma

Add the device_get_children(9) man page.


54032 02-Dec-1999 n_hibma

It's device_add_child*, not bus_add_child*.


53551 22-Nov-1999 jdp

The rt_refcnt member is a long now.


53432 19-Nov-1999 phk

The at_exit and at_fork functions currently use a 'roll your own'
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


53132 13-Nov-1999 eivind

Document changed calling conventions (lost WILLRELE) for VOP_MKNOD and
VOP_SYMLINK.


52834 03-Nov-1999 joerg

Move the description of the traditional sleep() form out into the history
section, we no longer have it.

Fix mdoc style violations caused by a previous committer.


52671 30-Oct-1999 phantom

mdoc(7)'fy


52662 30-Oct-1999 phantom

mdoc(7)'fy, fix broken FreeBSD release number (3.0.1 -> 3.1)


52644 30-Oct-1999 phk

Change useracc() and kernacc() to use VM_PROT_{READ|WRITE|EXECUTE} for the
"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)


52085 10-Oct-1999 cpiazza

Revert previous change, I misread it as an if( when it really
wasn't.


52075 09-Oct-1999 cpiazza

Add the missing ')' in
(p = f()) == NULL


51795 29-Sep-1999 dillon

Bring kernel malloc documentation up to date, including the example.

PR: docs/10059


51664 25-Sep-1999 chris

Document the make_dev(9) and remove_dev(9) facilities.
remove_dev(9) is created as a link to the existing make_dev(9) page.

Reviewed by: phk


51656 25-Sep-1999 dillon

mdoc style cleanup

Submitted by: Mike Pritchard <mpp@FreeBSD.ORG>


51653 25-Sep-1999 chris

Remove a useless new line.


51652 25-Sep-1999 chris

Document the devtoname(9) kernel interface.


51631 24-Sep-1999 dillon

More locking clarifications. Add skeleton manual page for VOP_LEASE


51628 24-Sep-1999 dillon

More synchronization of the VOP documentation to the real world.


51620 24-Sep-1999 dillon

More clarification of locking requirements.


51619 24-Sep-1999 dillon

Bring more VOP manual pages up to date in regards to locking
requirements.


51618 24-Sep-1999 dillon

Update errors in documentation for various VOP_ calls. Specifically,
describe the correct locking state expected on entry and return.


51606 23-Sep-1999 phantom

Add to .Nm devstat_end_transaction_buf().
Do some ordering.

Noticed by: ken


51560 22-Sep-1999 phk

Document the new free/erase transaction type.

Reminded about by: ken


51514 21-Sep-1999 phantom

Synchronization NAME section with SYNOPSIS.


51377 18-Sep-1999 phk

document devstat_end_transaction_buf()


51253 14-Sep-1999 ru

Adjust descriptions for if_up() and if_down().

Reviewed by: wollman


51203 12-Sep-1999 dfr

Add new manpage device_set_flags.9 and add links for
device_set_desc_copy.9 and device_get_flags.9.


51184 11-Sep-1999 alfred

vnode -> mountpoint
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.


51157 11-Sep-1999 chris

Add a link for uiomove.9 to uio.9


51140 11-Sep-1999 alfred

Document VFS changes:

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.


51021 06-Sep-1999 dfr

Add device_set_desc_copy(9).


50891 04-Sep-1999 phantom

Replace stale references to device_add_child_after(9) with
device_child_add_ordered(9)

PR: 13210
Submitted by: Alexey Zelkin <phantom@cris.net>
Reviewed by: mpp
Forgotten by: dfr


50476 28-Aug-1999 peter

$Id$ -> $FreeBSD$


49923 16-Aug-1999 chris

Bad ref time(2) changed to time(3)


49843 15-Aug-1999 mpp

Remove a self-referencing xref in the SEE ALSO section.


49831 15-Aug-1999 mpp

Various man page cleanup:

- 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>


49363 02-Aug-1999 hoek

English fixes: consistent spacing after periods, "userland", not "user land",
other typos, ~four grammar gnits, an ironic case of incorrect
parallelization, bad capitalization, an incorrect use of the
infamous slash ('/'), and an unclear sentence.


49361 02-Aug-1999 hoek

Bruce noted that the use of err(), fixed to errx() in the last commit,
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.


49320 31-Jul-1999 hoek

Use errx() instead of err() in example code calling err() after strtol().


49195 29-Jul-1999 mdodd

Alter the behavior of sys/kern/subr_bus.c:device_print_child()

- 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


48795 12-Jul-1999 nik

Add $Id$, to make it simpler for members of the translation teams to
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


48368 30-Jun-1999 kris

Flesh out VOP_ADVLOCK.9 with a description of the available flags
Sync vnode.9 with the definitions in <sys/vnode.h>

Reviewed by: Doug Rabson


48264 27-Jun-1999 mpp

Fix some typos and do some minor mdoc cleanup.


48112 22-Jun-1999 n_hibma

Add man page for device_quiet and friends


48089 22-Jun-1999 hoek

typo: Adviseroty -> Advisory


47984 17-Jun-1999 n_hibma

Update the comments on values than can be returned by DEVICE_PROBE.
DEVICE_PROBE can return priorities.

Reviewed by: Doug Rabson <dfr@nlsystems.com>


47697 02-Jun-1999 bde

Fixed bitrot in synopsis (a missing include).


47599 29-May-1999 nik

Description of LOCKLEAF said "inode" when it should have said "vnode".

PR: docs/11596
Submitted by: Robert Watson <robert@fledge.watson.org>


47580 28-May-1999 dfr

Document device_add_child_ordered().


46941 11-May-1999 mharo

s/file it possible/file if possible/


46155 28-Apr-1999 phk

This Implements the mumbled about "Jail" feature.

This is a seriously beefed up chroot kind of thing. The process
is jailed along the same lines as a chroot does it, but with
additional tough restrictions imposed on what the superuser can do.

For all I know, it is safe to hand over the root bit inside a
prison to the customer living in that prison, this is what
it was developed for in fact: "real virtual servers".

Each prison has an ip number associated with it, which all IP
communications will be coerced to use and each prison has its own
hostname.

Needless to say, you need more RAM this way, but the advantage is
that each customer can run their own particular version of apache
and not stomp on the toes of their neighbors.

It generally does what one would expect, but setting up a jail
still takes a little knowledge.

A few notes:

I have no scripts for setting up a jail, don't ask me for them.

The IP number should be an alias on one of the interfaces.

mount a /proc in each jail, it will make ps more useable.

/proc/<pid>/status tells the hostname of the prison for
jailed processes.

Quotas are only sensible if you have a mountpoint per prison.

There are no privisions for stopping resource-hogging.

Some "#ifdef INET" and similar may be missing (send patches!)

If somebody wants to take it from here and develop it into
more of a "virtual machine" they should be most welcome!

Tools, comments, patches & documentation most welcome.

Have fun...

Sponsored by: http://www.rndassociates.com/
Run for almost a year by: http://www.servetheweb.com/


45046 26-Mar-1999 bde

Fixed bitrot in synopsis.


44834 17-Mar-1999 ghelmer

Document the flags and p parameters to VOP_LOCK and VOP_UNLOCK. Also,
at Doug Rabson's suggestion, add vn_lock(9) as an alternative name for
this manpage and note its calling convention.

PR: docs/9338


44525 06-Mar-1999 bde

Removed old scsi section 9 man pages. Only cd.9 has been converted to
cam. scsiconf.9, sd.9, and st.9 can now be found in the Attic.

Reviewed by: ken


44524 06-Mar-1999 bde

Fixed bitrot in synopsis (devfs_link was renamed to devfs_makelink).
Didn't fix bitrot in this page's name; just install a link.


44523 06-Mar-1999 bde

Fixed wrong function prototype(s) in synopsis.


44522 06-Mar-1999 bde

Fixed bitrot in synopsis (u_long changed to uintptr_t for portability).


44520 06-Mar-1999 bde

Fixed C syntax error in synopsis.


44519 06-Mar-1999 bde

Fixed bitrot in synopsis (const poisoning hadn't reached here).


44518 06-Mar-1999 bde

Fixed missing headers in synopsis.


44517 06-Mar-1999 bde

Fixed bitrot in synopsis (fuword() and suword() changed to support alpha).


43954 13-Feb-1999 dillon

Clarify more of what VOP_LINK expects.


43953 13-Feb-1999 dillon

Update man page - directory vnode should not be unlocked or released
by the VOP routine. The caller does it.


43920 12-Feb-1999 alex

Removed occurrences of consecutive repeated words (such as "the the").


43819 10-Feb-1999 ken

Add a prioritization field to the devstat_add_entry() call so that
peripheral drivers can determine where in the devstat(9) list they are
inserted.

This requires recompilation of libdevstat, systat, vmstat, rpc.rstatd, and
any ports that depend on the devstat code, since the size of the devstat
structure has changed. The devstat version number has been incremented as
well to reflect the change.

This sorts devices in the devstat list in "more interesting" to "less
interesting" order. So, for instance, da devices are now more important
than floppy drives, and so will appear before floppy drives in the default
output from systat, iostat, vmstat, etc.

The order of devices is, for now, kept in a central table in devicestat.h.
If individual drivers were able to make a meaningful decision on what
priority they should be at attach time, we could consider splitting the
priority information out into the various drivers. For now, though, they
have no way of knowing that, so it's easier to put them in an easy to find
table.

Also, move the checkversion() call in vmstat(8) to a more logical place.

Thanks to Bruce and David O'Brien for suggestions, for reviewing this, and
for putting up with the long time it has taken me to commit it. Bruce did
object somewhat to the central priority table (he would rather the
priorities be distributed in each driver), so his objection is duly noted
here.

Reviewed by: bde, obrien


43517 01-Feb-1999 mpp

Fix some spelling errors.


43432 30-Jan-1999 nsouch

ppbconf.9 removed


43431 30-Jan-1999 nsouch

Improve ppbus(4) microsequencer description. Remove ppbconf.9 which is
to rapidly depreciated.


43406 30-Jan-1999 julian

Slightly relax the requirements fro removing extra braces and parenthesis.

Objected to by: bde


42424 09-Jan-1999 obrien

Add MLINKS for devstat kernel interfaces.


42025 23-Dec-1998 dillon

M_AWAIT changed to M_ASLEEP


42024 23-Dec-1998 dillon

Documentation update for new M_AWAIT flag to kernel malloc, plus revamp
the descriptions of the flags and return value.


42023 23-Dec-1998 dillon

update asleep/await sections


42016 22-Dec-1998 dillon

Add manual page describing kernel buffer management system (i.e.
kern/vfs_bio.c).


41978 21-Dec-1998 dillon

update HISTORY section


41977 21-Dec-1998 dillon

Add manual page for experimental kernel asleep() and await() routines


40686 28-Oct-1998 nsouch

microseq.9: general purpose parallel microcode for ppbus(4)
ppbconf.9: general info about ppbus(4) structures


40589 22-Oct-1998 bde

Removed all `vector xxxintr' specifications. Interrupt handlers are now
configured in drivers.


40423 16-Oct-1998 ken

Change the worm(4) man page to note that there is no longer a worm(4)
driver, and point users in the right direction for similar functionality.
The functionality that used to be provided there is now provided by the
cd(4) driver and cdrecord.

Fix cross-references in a few other man pages. (i.e. delete references to
things I haven't written yet)


40247 12-Oct-1998 ken

Update the cd(9) man page for the CAM cd driver. This really just an
update of the quirk entry descriptions to reflect the current state of
things.

Once I find out where such things belong, I'll document things like
the changer scheduling mechanism, actions taken at probe, etc.


39738 28-Sep-1998 eivind

Add a section on vnode types. Mostly based on information supplied by
Terry Lambert <terry@lambert.org>


39697 27-Sep-1998 eivind

Add a manpage for namei().

Markup changes and review by: dfr


39258 15-Sep-1998 gibbs

Add devstat.9.


39236 15-Sep-1998 gibbs

Add a new at_shutdown queue, SHUTDOWN_FINAL. This queue is run at
splhigh() after any system dumps have completed. SHUTDOWN_POST_SYNC
isn't quite late enough for disk controllers.


39216 15-Sep-1998 gibbs

Man page describing the in kernel device statistics routines.

Submitted by: "Kenneth D. Merry" <ken@plutotech.com>


38786 03-Sep-1998 dfr

Add manpages for the new device framework.


38702 31-Aug-1998 wosch

Sort cross references.


38059 03-Aug-1998 bde

FIxed missing include in synopsis.


38058 03-Aug-1998 bde

FIxed bitrot in prototype in synopsis.


37331 02-Jul-1998 phk

Fix argument reversal in example.
PR: 7138
Reviewed by: phk
Submitted by: Robert Watson <robert+freebsd@cyrus.watson.org>


37137 24-Jun-1998 dt

Insert a missing newline.


35776 06-May-1998 phk

devfs_add_devswf(9) and devfs_link(9) don't tell you how to
remove the device once it's added or linked.

PR: 6524
Reviewed by: phk
Submitted by: Brian Cully <shmit@kublai.com>


34925 28-Mar-1998 dufault

Finish _POSIX_PRIORITY_SCHEDULING. Needs P1003_1B and
_KPOSIX_PRIORITY_SCHEDULING options to work. Changes:

Change all "posix4" to "p1003_1b". Misnamed files are left
as "posix4" until I'm told if I can simply delete them and add
new ones;

Add _POSIX_PRIORITY_SCHEDULING system calls for FreeBSD and Linux;

Add man pages for _POSIX_PRIORITY_SCHEDULING system calls;

Add options to LINT;

Minor fixes to P1003_1B code during testing.


34504 12-Mar-1998 charnier

.Sh AUTHOR -> .Sh AUTHORS according to mdoc specs.
Use .An/.Aq.


34319 08-Mar-1998 dufault

Reviewed by: bde

Changes to support building with _POSIX_SOURCE set to 199309L:

1. Add sys/_posix.h to handle those preprocessor defs that POSIX
says have effects when defined before including any header files;

2. Change POSIX4_VISIBLE back to _POSIX4_VISIBLE

3. Add _POSIX4_VISIBLE_HISTORICALLY for pre-existing BSD features now
defined in POSIX. These show up when:

_POSIX_SOURCE and _POSIX_C_SOURCE are not set or
_POSIX_C_SOURCE is set >= 199309L

and vanish when:

_POSIX_SOURCE is set or _POSIX_C_SOURCE is < 199309L.

4. Explain these in man 9 posix4;

5. Include _posix.h and conditionalize on new feature test.


34030 04-Mar-1998 dufault

Reviewed by: msmith, bde long ago
POSIX.4 headers and sysctl variables. Nothing should change
unless POSIX4 is defined or _POSIX_VERSION is set to 199309.


33923 28-Feb-1998 jraynard

Fix a few typos.


33922 28-Feb-1998 jraynard

Strings are terminated by NUL, not NULL.


32648 20-Jan-1998 bde

Don't refer to the nonexistent function VOP_VALLOC.


32577 16-Jan-1998 bde

Removed obsolete man pages.


32576 16-Jan-1998 bde

Removed references to the man pages for the obsolete interfaces
VOP_BLKATOFF, VOP_SEEK, VOP_SELECT, VOP_TRUNCATE, VOP_UPDATE,
VOP_VALLOC and VOP_VFREE.


32575 16-Jan-1998 bde

Fixed synopsis again. Too much was blown away by splatting a NetBSD-
based version over the top of the FreeBSD version in rev.1.6.


32574 16-Jan-1998 bde

Fixed bitrot. The type of the "level" is intrmask_t, not int.


32573 16-Jan-1998 bde

Fixed prototype for tsleep() (const poisoning).


32572 16-Jan-1998 bde

Fixed a missing #include in the synopsis.


32223 03-Jan-1998 steve

Comment out xref to buf(9) manpage.

PR: 5421


32193 02-Jan-1998 alex

Expanded cross references.


32156 01-Jan-1998 bde

Sorted lists. Use the same style as most Makefiles for `MLINKS+=' lines.


32155 01-Jan-1998 bde

Install devfs_remove_dev.9 and suser.9.


32051 28-Dec-1997 wosch

The terminating character in strings is `NUL', not `NULL'.


31989 25-Dec-1997 hoek

Use consistent spelling,
writeable -> writable (recall prior debate over this? :-)
initialise -> initialize
recognise -> recognize

Merry Christmas! :)


31986 25-Dec-1997 julian

Add a man page for REMOVING devices from devfs.


31614 07-Dec-1997 wollman

oops, remove a dangling predicate left over after a sentence was rewritten.


31613 07-Dec-1997 wollman

Add some more macro advice and correct spelling of ``parentheses''.


31612 07-Dec-1997 wollman

Added some advice to avoid typedef'ing structures, as this breaks
information-hiding. Also recommended against naming typedefs to end
in _t unless POSIX or ANSI requires it, and in favor of using queue(3)
macros to generate lists rather than rolling one's own.


31370 23-Nov-1997 bde

Fixed spelling of EACCES.


31133 12-Nov-1997 obrien

state that "kernel includes" ==> sys/*.h


30296 11-Oct-1997 phk

Update malloc.9 to reflect new reality.


30295 11-Oct-1997 phk

Be a little closer to current reality.


29966 29-Sep-1997 wosch

Sort cross refereces in section SEE ALSO.


29686 21-Sep-1997 gibbs

Updated timeout.9 man page describing the new callout interface. This
man page was based on the NetBSD version.


28121 12-Aug-1997 eivind

Activate the bios.9 manpage.

PR: 4215


27834 01-Aug-1997 msmith

Oops, fix manpage title.


27820 01-Aug-1997 msmith

Manpage for new BIOS functionality.
(Skeletal, could do with some extra references.)


26192 27-May-1997 peter

An overhaul of style.9 to clear up some of the ambiguities. A number of
things are explicitly stated now rather than being implied by example.

Obtained from: Quite a few people over the last few weeks
Reviewed by: core


25729 12-May-1997 alex

Typo fix: sq --> qs


24890 13-Apr-1997 bde

Fixed #include and/or prototype bugs in synopsis.


24889 13-Apr-1997 bde

Updated synopsis for Lite2.

Fixed missing #include in synopsis.


24818 11-Apr-1997 bde

Fixed #include(s) in the synopsis to actually declare the function(s) in the
synopsis.


24817 11-Apr-1997 bde

Cleaned up synopsis:
- don't quote function names, since quoting them is unnecessary and
unusual and confuses my synopsis checker.
- include <sys/types.h> instead of <sys/param.h>. It is normal to
(have to) include <sys/param.h> instead of <sys/types.h>, but it
is more useful for man pages to document minimal prerequisites.


24815 11-Apr-1997 bde

Fixed synopsis:
- don't declare nonexistent function sleep().
- don't include <sys/errno.h> explicitly.

sleep() should be nuked some more, e.g., this man page should not be
named after a nonexistent function.


24755 09-Apr-1997 mpp

Check for -1 instead of EOF in the getopt() example.

Submitted by: Kent Vander Velden


24737 09-Apr-1997 mpp

Document wakeup_one().


24540 02-Apr-1997 jmg

uncomment CD_Q_BCD_TRACKS flag, add xref to scsi(4)


24126 22-Mar-1997 mpp

Add malloc(9) to document the kernel malloc() and free() routines.

Obtained from: NetBSD w/changes to reflect current FreeBSD headers
and diagnostic messages.


24123 22-Mar-1997 mpp

Minor mdoc fixes.


24122 22-Mar-1997 mpp

Add vslock(9) to document the vslock() and vsunlock() kernel functions.

Obtained from: NetBSD


24121 22-Mar-1997 mpp

One minor mdoc fix.


24120 22-Mar-1997 mpp

Add kernacc(9) that documents the kernacc() and useracc() kernel
functions.

Obtained from: NetBSD (renamed from access.9)


24119 22-Mar-1997 mpp

Add physio(9).

Obtained from: NetBSD w/minor FreeBSD changes


24118 22-Mar-1997 mpp

Add mi_switch.9. It documents the kernel mi_switch() and cpu_switch()
context switching functions.

Obtained from: NetBSD (renamed from ctxsw.9)


24116 22-Mar-1997 mpp

Add resettodr(9).

Obtained from: NetBSD


24115 22-Mar-1997 mpp

Add inittodr(9) to document how the system clock is initialized.
Obtained from NetBSD and then modified to reflect how things work
in FreeBSD, along with some minor changes to make a few points
clearer.


24114 22-Mar-1997 mpp

Add time(9) to document the kernel time variables. Obtained from
NetBSD and then modified by me to reflect some FreeBSD specific
things and to clarify some other pointed based on some old mail
from Bruce Evans about this man page.


24091 21-Mar-1997 mpp

Use the .Fx macro for FreeBSD references for releases prior to 2.0.
Use the .Tn macro for generic FreeBSD references. Cleanup other
formatting problems noticed while making the above changes.


24024 19-Mar-1997 bde

Fixed missing #includes in synopsis.


24022 19-Mar-1997 bde

Fixed synopsis (wrong #includes and superfluous parentheses in typedef).

Nuked the confusing timeout_func_t typedef. It will go away in <systm.h>
later.


23467 07-Mar-1997 mpp

Some minor mdoc cleanup.


23465 07-Mar-1997 mpp

Update this man page to reflect how setattr manipulates time
values after the Lite2 merge.


23463 07-Mar-1997 jmg

add missing cvs Id lines


23377 04-Mar-1997 dfr

Formatting tweaks.


23367 04-Mar-1997 mpp

Typo police.


23353 03-Mar-1997 dfr

This is the current draft of my filesystem manpages. Some files are
incomplete and some are just placeholders but I wanted to try to get
something at least into 2.2 on the grounds that what I have is a lot
better than nothing. I also wanted to commit something which documents
the interfaces in 2.2 before I start updating the documentation for 3.0.

This is a definite 2.2 candidate and is also relavent to 2.1 if people
still care about that branch.


23060 23-Feb-1997 mpp

Correct section number in the .DT line.

Pointed out by: bde


22986 22-Feb-1997 peter

Revert $FreeBSD$ back to $Id$


22849 17-Feb-1997 mpp

These man pages will first appear in FreeBSD 2.2, not 3.0.


22713 14-Feb-1997 mpp

Style fixes.


22710 14-Feb-1997 mpp

Xref boot(9).


22709 14-Feb-1997 mpp

Style fix.


22708 14-Feb-1997 mpp

Add boot(9) Obtained from NetBSD w/modifications by me.


22706 14-Feb-1997 mpp

Add MD5(9).

Obtained from: OpenBSD


22652 13-Feb-1997 mpp

Add psignal(9).

Obtained from: NetBSD


22650 13-Feb-1997 mpp

Add panic(9).

Obtained from: NetBSD


22506 09-Feb-1997 mpp

Typo police.


22497 09-Feb-1997 joerg

Various man pages describing the internals of the SCSI subsystem.

Submitted by: John-Mark Gurney <gurney_j@resnet.uoregon.edu>


22231 02-Feb-1997 mpp

Fix a typo and one small style point.


22206 02-Feb-1997 joerg

Add a man page for the uio handling, after all the recent ramblings in
the hackers list.

Please correct me where i'm wrong.


21736 15-Jan-1997 phk

add more arguments to these things.

2.2 candidate.


21735 15-Jan-1997 wollman

Document Monday's changes in the interface structure.


21673 14-Jan-1997 jkh

Make the long-awaited change from $Id$ to $FreeBSD$

This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore. This update would have been
insane otherwise.


20937 26-Dec-1996 mpp

Spelling police.


20920 26-Dec-1996 wosch

Sort cross references.


20662 18-Dec-1996 mpp

Typo police.


20603 17-Dec-1996 wollman

Create a new manual page describing how network interfaces and
addresses are glued together with the generic networking code.


20243 09-Dec-1996 mpp

Minor formatting/style fixes.

Submitted by: Sandro Sigala <sandro@cat.local.net> as part of PR # 2134


20059 01-Dec-1996 mpp

Correct some spelling errors.


20055 30-Nov-1996 mpp

Fix an incorrect man page cross reference.


18969 16-Oct-1996 julian

add a man page for suser() because its usage is not as obvious
as you would first think.


18818 08-Oct-1996 wollman

Fix a macro error in HISTORY section.


18816 08-Oct-1996 wollman

Add an rtentry(9) page to describe the structure of a routing-table
entry and the metrics and flags which pertain thereto.


18810 08-Oct-1996 wollman

Document what I believe to be the interface of rtalloc*.


18691 04-Oct-1996 joerg

Add a man page describing the interrupt priority `levels'.

Comments by: bde

Lousy MCI network link :(, my commit message for the Makefile has been
botched.


18690 04-Oct-1996 joerg

Reviewed by:
Submitted by:
Obtained from:


17862 28-Aug-1996 bde

Fixed SYNOPSIS (#includes, return types, arg names and formatting) and
a couple of other things.


17812 24-Aug-1996 wosch

bring back ``case '?':'' in switch statement


17773 22-Aug-1996 wosch

add copyright, $Id$
remove case '?', if '?' is not in getopt(), it should
not be in the switch statement


17768 22-Aug-1996 julian

Some cleanups to the callout lists recently added.
note that at_shutdown has a new parameter to indicate When
during a shutdown the callout should be made. also
add a RB_POWEROFF flag to reboot "howto" parameter..
tells the reboot code in our at_shutdown module to turn off the UPS
and kill the power. bound to be useful eventually on laptops


17760 21-Aug-1996 mpp

Use the .Fx macro to reference FreeBSD versions in several newer man
pages.

For those of you that don't know, here is an example of how the .Fx
macro is used:

The xyzzy command first appeared in
.Fx 2.2 .

Will expand to:

The xyzzy command first appeared in FreeBSD 2.2.


17659 19-Aug-1996 julian

Add man-pages for at_exit, at_fork and at_shutdown()
so that people can look and comment.
I'll add the at_fork and at_exit immediatly, but I'll
add teh at_shutdown later as it's more extensive
and I desire people's comments..

julian


17196 17-Jul-1996 bde

Restored most of suggestion about using NULL, even though wollman
disagrees with it personally :-), and fixed the misleading parts.


16351 13-Jun-1996 wollman

Delete incorrect and misleading suggestion about NULL. I left in
the part about testing pointers against NULL, even though I disagree
with it personally.


15266 15-Apr-1996 mpp

Add man pages for the copy*, fetch*, and store* families of
kernel functions.

Also added timeout(9) to the makefile.

Reviewed by: joerg
Obtained from: NetBSD


15254 13-Apr-1996 joerg

Describe timeout() and untimeout().


15095 07-Apr-1996 mpp

Fix some typos.


15082 07-Apr-1996 mpp

Correct some man page cross references and file location references.


15079 06-Apr-1996 joerg

Fix a typo.


15062 05-Apr-1996 joerg

.Ql --> .Dv

Submitted by: wollman


15059 05-Apr-1996 mpp

List tsleep & wakeup in the summary line so that they can
be found with "man -k".


15021 03-Apr-1996 joerg

Populate this. :)

Add a man page for tsleep()/wakeup().


14991 02-Apr-1996 scrappy

Makefile: added devfs_add_devswf.9, removed devfs_add_devsw.9

devfs_link.9: modified man page to reflect source code

devfs_add_devsw.9: replaced by devfs_add_devswf.9

devfs_add_devswf.9: proper function for adding devices to DEVFS


14966 31-Mar-1996 joerg

Convert this to a real man page. Using one blurb of a .Bd -literal
looks rather ugly.

Also slightly adopt the contents to the results of a discussion that
took place in -core some months ago. We couldn't agree on everything,
but some of the previous sentiments were rather outdated.


14045 12-Feb-1996 mpp

Another round of man page cleanups.

Down to only about 100 items left to cleanup! :-)


14003 09-Feb-1996 mpp

Add some missing MLINKS, correct some cross references, correct some
file locations and some minor formatting/style problems.


13744 30-Jan-1996 mpp

Fix a bunch of spelling errors in a bunch of man pages.


13153 01-Jan-1996 bde

Added new devfs manpages here too.


13126 31-Dec-1995 joerg

Add man pages for devfs functions after Julian's descripton.

Someone must be the first. :)


12951 21-Dec-1995 phk

Recreate style with original indent.


12830 14-Dec-1995 bde

Don't use the normal `.Sh' indentation of 5 for the style guide. It
screws up the indentation and the style guide is half about indentation.


12829 14-Dec-1995 bde

Fixed manual section number.


12823 14-Dec-1995 phk

Add a slightly edited version of the style document.


12821 14-Dec-1995 phk

Add a section 9 about the kernel to out man pages.

Please help fill this out !