Commit Graph

2170 Commits

Author SHA1 Message Date
John-Mark Gurney
2a6b4327c2 add missing sections, de-Xr non-existent page, properly space
punctuation..

Approved by:	re (joel)
MFC after:	3 days
2013-10-07 16:49:53 +00:00
Konstantin Belousov
5dc5cbb274 Document LK_TRYUPGRADE.
Sponsored by:	The FreeBSD Foundation
MFC after:	3 days
Approved by:	re (marius)
2013-10-06 15:59:06 +00:00
Joel Dahl
0e75d62e8b mdoc: fix list width.
Approved by:	re (blanket)
2013-09-13 19:08:10 +00:00
John Baldwin
60a774426c - 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
2013-09-12 20:49:20 +00:00
John Baldwin
83506d1a4f 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)
2013-09-12 19:51:40 +00:00
John-Mark Gurney
7f3bdd0831 add links for the various vmem functions... 2013-09-04 17:48:41 +00:00
Antoine Brodin
0c4367400d Hook vm_page_busy.9 to the build 2013-08-26 16:38:40 +00:00
Joel Dahl
ec76d29f81 Remove EOL whitespace. 2013-08-25 06:59:30 +00:00
Joel Dahl
082dbcbf5e mdoc fixes. 2013-08-25 06:58:51 +00:00
Andre Oppermann
6e3e14fe44 Fix BUGS section after botched modify in r254772.
Reported by:	bjk
2013-08-24 21:30:35 +00:00
Mark Johnston
29f4e216f2 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
2013-08-24 21:13:38 +00:00
Andre Oppermann
2c4e923de2 Adjust for the pfil_func_t typedef added in r254769. 2013-08-24 11:57:02 +00:00
Andre Oppermann
bacda5aaa9 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.
2013-08-24 10:38:02 +00:00
Davide Italiano
ad0947c3a4 - Bump date.
- Small mdoc fix.

Submitted by:	pluknet
2013-08-23 14:33:56 +00:00
Davide Italiano
246fb6b232 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)
2013-08-23 14:12:39 +00:00
Konstantin Belousov
00cf6892bb Update the manual page for vm_page_grab(9).
Reviewed and edited by:	alc
Sponsored by:	The FreeBSD Foundation
2013-08-22 22:01:56 +00:00
Joel Dahl
0678b9b1d6 Minor mdoc nit. 2013-08-22 16:00:09 +00:00
Jung-uk Kim
8a1ee2d346 Implement atomic_swap() and atomic_testandset().
Reviewed by:	arch, bde, jilles, kib
2013-08-21 22:03:06 +00:00
Mark Johnston
c6cb04a463 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
2013-08-17 22:06:30 +00:00
Matt Jacob
193ecaecfa Correct sentence syntax too. 2013-08-17 01:17:51 +00:00
David E. O'Brien
d1834020c6 Correct spelling. 2013-08-17 01:02:04 +00:00
Mark Johnston
f0e6364ef8 Fix a typo.
MFC after:	3 days
2013-08-15 04:10:15 +00:00
Mark Johnston
12ede07ab8 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
2013-08-14 00:42:21 +00:00
Mark Johnston
c9b645b50b 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
2013-08-13 03:07:49 +00:00
Joel Dahl
cbf572d018 Minor mdoc nits. 2013-08-10 06:39:42 +00:00
Joel Dahl
5b63fb798b mdoc: document title should be all caps. 2013-08-10 06:37:53 +00:00
Attilio Rao
ac6b769be9 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
2013-08-09 11:24:29 +00:00
Attilio Rao
c7aebda8a1 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
2013-08-09 11:11:11 +00:00
Brooks Davis
f1bd660622 Document the sbinuptime() and getsbinuptime() functions introduced in
r247452.

Sponsored by:	DARPA, AFRL
2013-07-25 20:53:15 +00:00
Jim Harris
a073133cdf Add bus_dmamap_load_bio and bus_dmamap_load_ccb to bus_dma(9).
Sponsored by:	Intel
Reviewed by:	kib
MFC after:	3 days
2013-07-17 19:41:16 +00:00
Sergey Kandaurov
eeeb863ff0 - mdoc: remove superfluous paragraph macros.
- fix typo in xref manual section number.
2013-07-12 15:08:37 +00:00
Gleb Smirnoff
e7ce237f3c Remove non existent in FreeBSD reference. 2013-07-12 14:46:40 +00:00
Gleb Smirnoff
1b746e62ae Add manual page for vmem(9). Obtained from NetBSD, modified to match
our implementation.

Obtained from:	NetBSD
2013-07-12 14:25:58 +00:00
Joel Dahl
dc67be5395 mdoc: remove superfluous paragraph macros. 2013-07-08 05:58:09 +00:00
Mark Johnston
98491bfaa4 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
2013-07-06 20:31:22 +00:00
Benjamin Kaduk
10038699fb Grammar tweaks for locking.9
Reviewed by:	jhb
Approved by:	hrs (mentor)
2013-06-30 19:33:07 +00:00
Joel Dahl
a9ca77e055 mdoc: remove EOL whitespace. 2013-06-29 16:05:44 +00:00
John Baldwin
ca6829ab99 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
2013-06-28 16:33:45 +00:00
John Baldwin
cd32bd7ad1 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
2013-06-25 18:44:15 +00:00
Lawrence Stewart
036beed93a Non-virtualised hhook points are supported as of r251732.
MFC after:	1 week
X-MFC with:	251732
2013-06-21 03:37:35 +00:00
John Baldwin
a2feb19b26 Document RA_RECURSED and RA_NOTRECURSED.
MFC after:	3 days
2013-06-20 17:26:25 +00:00
Xin LI
40670f19e2 Remove vfs_mount(9), it have been died since 2004.
Noticed by:	git via alfred
MFC after:	2 weeks
2013-06-17 03:32:27 +00:00
Mark Johnston
563d463961 The functions are called pci_{msi,msix}_count(), not pci_count_{msi,msix}().
MFC after:	3 days
2013-06-14 01:12:59 +00:00
Sergey Kandaurov
8830b71de2 Update locking scheme, mostly transition from sched_lock. 2013-06-08 18:16:41 +00:00
Ed Maste
5aa42cabe0 Remove reference to removed !MPSAFE filesystem support 2013-05-22 16:33:28 +00:00
Gleb Smirnoff
a63fedfda7 Document constantness of dst argument to if_output.
Submitted by:	pluknet
2013-04-26 13:18:07 +00:00
Gleb Smirnoff
2d875db321 On those machines that use critical(9) for counter(9) we need to
include systm.h.
2013-04-26 13:02:11 +00:00
Edward Tomasz Napierala
5c6aba2c44 Make DELAY(9) reference pause(9). 2013-04-20 12:36:53 +00:00
Edward Tomasz Napierala
8818042ff2 Fix usage for soreceive(9) - uio must always be non-NULL.
MFC after:	1 week
2013-04-12 16:36:18 +00:00
Mikolaj Golub
f02db7b4e5 Document sbuf_start_section() and sbuf_end_section() functions.
MFC after:	1 month
2013-04-11 19:51:53 +00:00