2402 Commits

Author SHA1 Message Date
brueffer
35ba897ce6 Add an MLINK for m_collapse.
PR:		204205
Submitted by:	avos
MFC after:	1 week
2015-12-07 19:08:33 +00:00
cem
55c3b70608 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
2015-12-05 17:01:38 +00:00
jhb
f4698eb999 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
2015-12-02 18:27:30 +00:00
ngie
03748657c2 Bump .Dd 2015-11-22 23:16:15 +00:00
ngie
fbd480eb53 Recommend cc -Wall instead of gcc -Wall
MFC after: 1 week
2015-11-22 23:15:44 +00:00
jtl
f2aa140123 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
2015-11-19 14:04:53 +00:00
markj
afc7726a46 Add vlog(9).
Reviewed by:	cem, jhb
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D4183
2015-11-19 05:50:22 +00:00
rrs
dc494194a2 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.
2015-11-13 22:51:35 +00:00
cem
b1520c743c 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
2015-11-12 18:42:06 +00:00
rrs
e6b2e28c4c Some basic documentation (a man page) on kern_testfrwk 2015-11-12 11:42:01 +00:00
rrs
330433bf80 Add the MLINK for async_drain Thanks Edward for the pointer.
MFC after:	1 month
2015-11-11 23:10:09 +00:00
rrs
24a4335f25 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
2015-11-10 14:49:32 +00:00
markj
73191e3c1a Add a manual page for PHOLD() and friends.
MFC after:	1 week
2015-11-08 01:41:44 +00:00
cem
ca367cb477 Another follow-up to r290475: Bump .Dd in sysctl_add_oid.9
Sponsored by:	EMC / Isilon Storage Division
2015-11-07 01:58:17 +00:00
cem
65f14c5699 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
2015-11-07 01:43:01 +00:00
adrian
3a037752e6 remove \, it confuses things. 2015-11-05 22:50:21 +00:00
jhb
fa7f239637 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
2015-11-05 21:27:25 +00:00
jhb
0c12e4753b 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
2015-11-05 21:26:06 +00:00
imp
35a45e42cd 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.
2015-10-28 19:11:06 +00:00
cem
f317ccd8a1 sysctl(9): Document U8/U16 types from r289773
Suggested by:	ngie
Sponsored by:	EMC / Isilon Storage Division
2015-10-23 15:08:16 +00:00
cem
e7b0d63251 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
2015-10-22 16:46:30 +00:00
cem
f7c12e6bb7 cpuset.9: Link to/from the new page
A follow-up to r289667.

Sponsored by:	EMC / Isilon Storage Division
2015-10-20 23:52:37 +00:00
cem
b7af74b7e7 Document cpuset(9)
A follow-up to r289467.

Coerced by:	jhb
Sponsored by:	EMC / Isilon Storage Division
2015-10-20 23:48:14 +00:00
cem
bb2ba2b058 Document bitset(9) 2015-10-17 19:55:58 +00:00
ngie
c45ac96cb3 Remove MLINKS to more non-existent mbuf(9) macros
X-MFC with: r288295
MFC after: 3 days
Sponsored by: EMC / Isilon Storage Division
2015-09-27 04:55:43 +00:00
ngie
5d0f31382f Posthumously remove all references to MFREE(9)
The macro was removed in r90227

MFC after: 3 days
Sponsored by: EMC / Isilon Storage Division
2015-09-27 04:40:54 +00:00
markj
ee7e5381c8 Document the interface for applying advice up to the end of a file.
MFC after:	3 days
2015-09-26 22:20:11 +00:00
cem
3508a4fb1f Document bus_get_resource(9).
Suggested by:	Francois Tigeot
Obtained from:	DragonFlyBSD 09301a2b29f3ae5edd39a858f909f8770372f71e
Sponsored by:	EMC / Isilon Storage Division
2015-09-26 14:52:47 +00:00
hselasky
d198450d08 Revert r287780 until more developers have their say.
Differential Revision:	https://reviews.freebsd.org/D3521
Requested by:		gnn
2015-09-22 06:51:55 +00:00
pluknet
50caf2bee2 Bump .Dd. 2015-09-15 13:24:52 +00:00
hselasky
1a99c0928d 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
2015-09-14 10:52:26 +00:00
markj
899d16104d 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
2015-09-11 03:56:04 +00:00
delphij
db0a2c953d 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
2015-09-04 00:14:20 +00:00
markj
4b928cd56c nv.h lives in sys/ as of r279439. 2015-08-28 00:12:59 +00:00
imp
05c9f26dff 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)
2015-08-27 23:33:38 +00:00
bdrewery
ade43a0fe3 Remove reference to non-existent kern_openat(9).
MFC after:	3 days
Sponsored by:	EMC / Isilon Storage Division
2015-08-20 22:14:43 +00:00
bdrewery
1a3d75b62d Add link for rw_unlock(9) to rwlock(9).
MFC after:	3 days
Sponsored by:	EMC / Isilon Storage Division
2015-08-20 18:22:06 +00:00
oshogbo
fe707ca6b5 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)
2015-08-15 06:34:49 +00:00
alc
66c058ca9c 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
2015-08-14 17:49:03 +00:00
brueffer
a00534bfeb Fix mandoc warnings/errors.
MFC after:	1 week
2015-08-12 11:56:19 +00:00
oshogbo
d2f6c2a9e3 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)
2015-08-11 17:41:32 +00:00
alc
8de2d0e833 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
2015-08-09 07:45:15 +00:00
jah
4352c8acdf 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
2015-08-07 12:13:15 +00:00
trasz
6c4d3c91de Revert r286236; vgonel() is a static function.
Sponsored by:	The FreeBSD Foundation
2015-08-04 08:16:18 +00:00
trasz
b3cc954757 Document vgonel(9).
MFC after:	1 month
Sponsored by:	The FreeBSD Foundation
2015-08-03 16:30:47 +00:00
jmg
8381f029a6 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
2015-08-02 00:22:14 +00:00
jmg
3ff460ef8b 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..
2015-07-31 03:28:02 +00:00
imp
5f3e1e3c1b 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
2015-07-29 02:34:25 +00:00
trasz
bd230b9731 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
2015-07-25 15:56:49 +00:00
ed
653d10f967 Fix a small typo: "the the".
Spotted by:	wblock
2015-07-16 15:43:55 +00:00