2578 Commits

Author SHA1 Message Date
emaste
71b3f58512 sysctl.9: document CTLFLAG_CAPRD and CTLFLAG_CAPWR
Reported by:	Shawn Webb
MFC after:	1 week
Sponsored by:	The FreeBSD Foundation
2017-10-10 23:54:25 +00:00
glebius
a9152a7f99 Shorten list of arguments to mbuf external storage freeing function.
All of these arguments are stored in m_ext, so there is no reason
to pass them in the argument list.  Not all functions need the second
argument, some don't even need the first one.  The second argument
lives in next cache line, so not dereferencing it is a performance
gain.  This was discovered in sendfile(2), which will be covered by
next commits.

The second goal of this commit is to bring even more flexibility
to m_ext mbufs, allowing to create more fields in m_ext, opaque to
the generic mbuf code, and potentially set and dereferenced by
subsystems.

Reviewed by:	gallatin, kbowling
Differential Revision:	https://reviews.freebsd.org/D12615
2017-10-09 20:35:31 +00:00
ian
69fb8e033a 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
2017-10-08 17:21:16 +00:00
markj
08a37c1513 Let stack_create(9) take a malloc flags argument.
Reviewed by:	cem
Sponsored by:	Dell EMC Isilon
Differential Revision:	https://reviews.freebsd.org/D12614
2017-10-06 21:52:28 +00:00
mjg
1b521971f3 Remove manpage entries about crshared(9)
The function itself was removed years ago in r272546

Submitted by:	Paulm <paulm tetrardus.net>
MFC after:	2 weeks
2017-09-27 01:12:47 +00:00
oshogbo
35bc9d19ca Add missing links to the nv man page.
MFC after:	1 week
2017-09-16 17:52:25 +00:00
oshogbo
590636b731 Fix names of the array functions in the nv man page.
Submitted by:	def@
MFC after:	1 week
2017-09-16 17:50:24 +00:00
lstewart
0923281ac1 Implement simple record boundary tracking in sbuf(9) to avoid record splitting
during drain operations. When an sbuf is configured to use this feature by way
of the SBUF_DRAINTOEOR sbuf_new() flag, top-level sections started with
sbuf_start_section() create a record boundary marker that is used to avoid
flushing partial records.

Reviewed by:	cem,imp,wblock
MFC after:	2 weeks
Sponsored by:	Netflix, Inc.
Differential Revision:	https://reviews.freebsd.org/D8536
2017-08-17 07:20:09 +00:00
ian
3dabf0d777 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
2017-08-13 18:10:24 +00:00
imp
9164f4bf81 Expose API to allow disks to ask for alias names in devfs.
Implement disk_add_alias to allow aliases to be added to disks. All
disk have a primary name (say "foo") can also have secondary names
(say "bar") such that all instances of "foo" also have a "bar"
alias. So if you have foo0, foo0p1, foo1, foo1s1 and foo1s1a nodes
created by the foo driver and gpart, device nodes bar0, bar0p1, bar1,
bar1s1 and bar1s1a will appear as symlinks back to the original nodes.
This generalizes to multiple aliases. However, since the unit number
follows the primary name, multiple device drivers can't create the
same aliases unless those drives coorinate the unit number space (eg
you couldn't add an alias 'disk' to both 'da' and 'ada' because it's
possible to have da0 and ada0, because 'disk0' is ambiguous).

Differential Revision: https://reviews.freebsd.org/D11873
2017-08-07 21:12:38 +00:00
ian
91a53253d4 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.
2017-07-31 00:54:50 +00:00
kib
fbee636f7a Improve BIT_FLS() documentation.
Submitted by:	Sebastian Huber <sebastian.huber@embedded-brains.de>
MFC after:	6 days
2017-07-07 05:43:44 +00:00
kib
0b10b7d8fd Add BIT_FLS() analogous to BIT_FFS().
The benefit of BIT_FLS() is that ffsl() can be implemented with a
count leading zeros instruction which is more widespread available.

Submitted by:	Sebastian Huber <sebastian.huber@embedded-brains.de>
MFC after:	1 week
2017-07-06 21:47:17 +00:00
vangyzen
4a517f153e copy(9): clarify that copystr() does not return EFAULT
The previous wording implied that copystr() could return EFAULT.

MFC after:	6 weeks
Sponsored by:	Dell EMC
2017-06-15 21:34:43 +00:00
jtl
8fd8757603 Add the infrastructure to support loading multiple versions of TCP
stack modules.

It adds support for mangling symbols exported by a module by prepending
a string to them. (This avoids overlapping symbols in the kernel linker.)

It allows the use of a macro as the module name in the DECLARE_MACRO()
and MACRO_VERSION() macros.

It allows the code to register stack aliases (e.g. both a generic name
["default"] and version-specific name ["default_10_3p1"]).

With these changes, it is trivial to compile TCP stack modules with
the name defined in the Makefile and to load multiple versions of the
same stack simultaneously. This functionality can be used to enable
side-by-side testing of an old and new version of the same TCP stack.
It also could support upgrading the TCP stack without a reboot.

Reviewed by:	gnn, sjg (makefiles only)
Sponsored by:	Netflix
Differential Revision:	https://reviews.freebsd.org/D11086
2017-06-08 20:41:28 +00:00
vangyzen
ef088732f2 getenv(9): rename to "kern_getenv", etc.
Update the documentation to catch up with r273174, which renamed
      getenv -> kern_getenv
      setenv -> kern_setenv
    unsetenv -> kern_unsetenv

Leave the old links in place to support finger memory.

MFC after:	3 days
Sponsored by:	Dell EMC
2017-06-01 21:07:25 +00:00
gjb
52288fdf3c Update the "first appeared in" version in several manual pages.
MFC after:	3 days
Sponsored by:	The FreeBSD Foundation
2017-05-24 17:47:49 +00:00
kib
ac8326156f Add BIT_OR2(), BIT_AND2(), BIT_NAND2(), BIT_XOR() and BIT_XOR2().
Submitted by:	Sebastian Huber <sebastian.huber@embedded-brains.de>
MFC after:	2 weeks
2017-05-24 10:09:54 +00:00
kevlo
5f05351c98 Add missing MLINKS for functions decribed in iflibdd(9), iflibdi(9), and
iflibtxrx(9).
2017-05-24 01:03:30 +00:00
kevlo
4319f6518f Remove duplicate definition of iflib_led_create(). 2017-05-24 01:01:43 +00:00
jhb
43f3b24abc 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
2017-05-16 23:31:52 +00:00
bjk
f1e6f57b1c Bring VOP_GETPAGES.9 more up-to-date
Attempt to catch up to the KPI changes from r292373, and perform
some other tidying while in the area.

Reviewed by:	kib
Differential Revision:	https://reviews.freebsd.org/D10579
2017-05-07 19:01:08 +00:00
brooks
ae1be2973a More ATM and NATM removal
Submitted by:	ak
Reviewed by:	ngie
Differential Revision:	https://reviews.freebsd.org/D10511
2017-04-27 16:05:12 +00:00
glebius
dce26e08f3 UMA_ZONE_REFCNT was removed.
PR:		209715
Submitted by:	Fabian Keil <fk fabiankeil.de>
MFC after:	3 days
2017-04-26 17:55:43 +00:00
ngie
5eb8344a00 sbuf(9): add MLINKS for sbuf_{clear,get,set}_flags(9)
These functions were added in r279992.

MFC after:	2 months
Sponsored by:	Dell EMC Isilon
2017-04-06 05:02:03 +00:00
ngie
029336c916 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.

MFC after:	2 months
Sponsored by:	Dell EMC Isilon
2017-04-06 02:46:09 +00:00
ngie
ceb18bba6b 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.

MFC after:	2 months
Sponsored by:	Dell EMC Isilon
2017-04-06 02:40:52 +00:00
ngie
8041e43366 Add sys/types.h #include to EXAMPLE to provide a complete functional
standalone example program

MFC after:	2 months
Sponsored by:	Dell EMC Isilon
2017-04-06 02:03:35 +00:00
trasz
aad01cf5c1 Document EVENTHANDLER_DEFINE(9).
MFC after:	2 weeks
Sponsored by:	DARPA, AFRL
2017-03-27 20:32:12 +00:00
trasz
e98316cbf4 The cn_consume was removed in r296716.
MFC after:	2 weeks
Sponsored by:	DARPA, AFRL
2017-03-27 20:28:56 +00:00
pluknet
714884b2ca Fix pfil_add_hook() and pfil_remove_hook() type. 2017-03-27 14:32:34 +00:00
rwatson
b7147b1830 Slightly improve consistency of "fooint" vs "foo_int" in DPCPU(9) examples.
MFC after:	3 days
2017-03-26 20:24:27 +00:00
rwatson
0a9cef3867 Add a man page for the kernel's dynamic per-CPU memory allocator.
MFC after: 3 days
2017-03-26 20:15:08 +00:00
ngie
ba0c053962 Try polishing up iflib manpages a bit (basically all the low hanging fruit)
igor:
- Fix typos.
- Delete trailing whitespace.

manlint:
- Use .Fo/.Fc/.Fa when describing functions.
- Use .Xr.
- Fill in SEE ALSO section.
- Fix .Dt use: the section was specified incorrectly and the name
  had a lowercase character.
- Continue new sentences on new lines.

Miscellaneous:
- Remove unnecessary quotes around "SEE ALSO" section headers.
- Sprinkle .Dv use in spots with constants.

Reported by:	igor, make manlint
Sponsored by:	Dell EMC Isilon
2017-03-23 07:36:38 +00:00
ngie
c9e551899a 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.

MFC after:	1 week
Reported by:	make manlint
Sponsored by:	Dell EMC Isilon
2017-03-23 06:11:31 +00:00
ngie
8638402b37 memguard(9): fix igor/manlint warnings
- Expand a contraction [1].
- Add a missing section number when referring to uma(9) with .Xr .

MFC after:	1 week
Reported by:	igor [1], make manlint [2]
Sponsored by:	Dell EMC Isilon
2017-03-23 06:08:01 +00:00
ngie
963ec5c240 ifnet(9): fix some igor/manlint warnings
- Fix typos (queueing -> queuing) [1].
- Add missing section number for polling .Xr reference [2].

MFC after:	1 week
Reported by:	igor [1], make manlint [2]
Sponsored by:	Dell EMC Isilon
2017-03-23 06:02:23 +00:00
ngie
1bc9c52187 dnv(9): fix use of commas with .Nm in NAME section
MFC after:	1 week
Reported by:	make manlint
Sponsored by:	Dell EMC Isilon
2017-03-23 05:54:07 +00:00
ngie
1184858ee1 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].

MFC after:	1 week
Reported by:	igor [1], make manlint [2]
Sponsored by:	Dell EMC Isilon
2017-03-23 05:51:54 +00:00
ngie
9931e06ead DB_COMMAND(9): fix mandoc markup
Start new sentences on new lines.

MFC after:	1 week
Reported by:	make manlint
Sponsored by:	Dell EMC Isilon
2017-03-23 05:44:18 +00:00
ngie
a19505d2f8 buf_ring(9): fix mandoc markup
Remove spurious trailing comma after `buf_ring_peek` in the NAME
section.

MFC after:	1 week
Sponsored by:	Dell EMC Isilon
2017-03-23 05:41:56 +00:00
ngie
4ec8dbc1a6 bus_alloc_resource(9): fix mandoc markup
Add missing comma after `.Nm bus_alloc_resource_any` in NAME section.

MFC after:	1 week
Reported by:	make manlint
Sponsored by:	Dell EMC Isilon
2017-03-23 05:38:57 +00:00
ngie
d67bd01e7f alq(9): fix mandoc markup
Start new sentence on a new line.

MFC after:	1 week
Sponsored by:	Dell EMC Isilon
2017-03-23 05:37:04 +00:00
markj
c4e0ff355e Add support for 8- and 16-bit atomic_(f)cmpset to x86.
Reviewed by:	kib
MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D10068
2017-03-22 17:29:04 +00:00
bjk
6c869ffdd6 Tidy up mdoc formatting for "etc.)" at end of line
man(1) has some logic to use two spaces after a full stop, which is
useful for spotting sentence breaks in monospace fonts.  However,
this logic is very simple, treating almost all '.' characters as
end-of-sentence markers, unless followed by certain other
characters.  For example, '.,' is not end-of-sentence, and neither
is ".) ", but ".)" at the end of a line triggers the sentence-end
detection.

Apply a zero-width space to a few instances of this in share/man,
and also supply a missing full stop for an instance that occurred at
the end of a sentence.

Leave untouched several instances that are at the end of a sentence
or list element.

Reported by:	0mp (ieee80211.9)
2017-03-19 01:24:18 +00:00
vangyzen
47fc9e6df6 Add missing pieces of r315280
I moved this branch from github to a private server, and pulled from the
wrong one when committing r315280, so I failed to include two recent commits.
Thankfully, they were only cosmetic and were included in the review.
Specifically:

Add documentation, polish comments, and improve style(9).

Tested by:	pho (r315280)
MFC after:	2 weeks
Sponsored by:	Dell EMC
Differential Revision:	https://reviews.freebsd.org/D9791
2017-03-14 22:02:02 +00:00
ian
15ec52739d Document uiomove_frombuf(9). 2017-03-11 22:22:51 +00:00
jmg
fb27e6a8e4 add missing MLINKS for functions that this man page documents.
This page should be renamed to eliminate an unneeded inode.

Forgotten by: markm
2017-03-05 18:37:25 +00:00
ngie
0408aba5ad 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.

MFC after:	1 week
X-MFC with:	r313437
Sponsored by:	Dell EMC Isilon
2017-03-03 06:31:47 +00:00
scottl
0a68260784 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.

Reviewed by:	ken, imp
Sponsored by:	Netflix
2017-02-28 18:25:06 +00:00