Commit Graph

54 Commits

Author SHA1 Message Date
Jonathan T. Looney
1067a2ba68 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
Joel Dahl
d4d112e34a 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.
2014-11-23 21:00:00 +00:00
Gleb Smirnoff
ba82ceef53 Remove notes about historical mbuf(9) allocator flags from documentation.
Sponsored by:	Nginx, Inc.
2014-01-16 13:58:55 +00:00
Joel Dahl
788c8ebcb5 Remove trailing whitespace. 2012-11-16 11:56:53 +00:00
Alan Cox
96509a1fd9 M_USE_RESERVE is no longer deprecated. It is once again supported.
Reviewed by:	kib
2012-11-16 06:40:40 +00:00
Kevin Lo
d14fdb79fe Put parenthesis around sizeof args. 2012-07-17 02:05:39 +00:00
Eitan Adler
50d675f7a9 Remove trailing whitespace per mdoc lint warning
Disussed with:	gavin
No objection from:	doc
Approved by:	joel
MFC after:	3 days
2012-03-29 05:02:12 +00:00
Kip Macy
c3bd46fe5b update .Dd 2012-01-28 23:30:39 +00:00
Kip Macy
986e5ec7af document M_NODUMP flag 2012-01-28 17:21:12 +00:00
Joel Dahl
c0de7d2f15 The NetBSD Foundation has granted permission to remove clause 3 and 4 from
their software.

Obtained from:	NetBSD
2010-03-02 21:50:36 +00:00
Dag-Erling Smørgrav
1ede983cc9 Retire the MALLOC and FREE macros. They are an abomination unto style(9).
MFC after:	3 months
2008-10-23 15:53:51 +00:00
Ruslan Ermilov
eb085c43f0 s/M_TRYWAIT/M_WAIT/ 2008-03-25 15:44:49 +00:00
Christian Brueffer
a3256b8880 Xref memguard(9) 2005-02-22 17:20:20 +00:00
Ruslan Ermilov
9cbda59000 Sort sections. 2005-01-21 08:36:40 +00:00
Mike Pritchard
2988974b58 Spelling fixes. 2004-06-21 14:11:45 +00:00
Joseph Koshy
d7f29ce72b Cross-reference contigmalloc(9). 2004-03-06 02:13:03 +00:00
Dag-Erling Smørgrav
497ddd5807 Back out previous commit due to objections. 2004-02-16 21:36:59 +00:00
Dag-Erling Smørgrav
6f29aba23f Document the change in M_WAITOK semantics. 2004-02-16 18:46:16 +00:00
Ruslan Ermilov
fe08efe680 mdoc(7): Use the new feature of the .In macro. 2003-09-08 19:57:22 +00:00
Hartmut Brandt
eb74baf398 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@
2003-06-12 09:03:15 +00:00
Ruslan Ermilov
c8185672b2 Assorted mdoc(7), grammar, spelling, and punctuation fixes.
Approved by:	re (blanket)
2003-05-21 15:49:01 +00:00
Hiten Pandya
73692bebe4 malloc(9) types can be used to identify multiple allocations.
PR: docs/38618
Approved by: des (mentor)
2003-05-06 19:10:17 +00:00
Hartmut Brandt
7081c47416 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
2003-04-10 10:18:56 +00:00
Hartmut Brandt
473e34ce22 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
2003-04-09 08:27:32 +00:00
Tom Rhodes
1e73455ba1 Return bits which were removed in revision 1.28.
Requested by:	imp
2003-02-24 05:53:27 +00:00
Philippe Charnier
60dca836a7 The .Fn function 2003-02-05 14:00:46 +00:00
Alfred Perlstein
2a62ffb72d Catch up to WAIT/NOWAIT cleanup. 2003-01-21 08:57:35 +00:00
Sheldon Hearn
63264a559f Add required commas that were ommitted in the previous delta; the
SEE ALSO section's list of manual pages must be comma-separated.
2003-01-19 15:44:32 +00:00
Alfred Perlstein
79525d59b2 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>
2003-01-18 19:51:52 +00:00
Robert Watson
eef9bd4c3f Caution programmers not to confuse M_DONTWAIT with M_NOWAIT. They
are not the same.

Suggested by:	Hiten Pandya <hiten@unixdaemons.com>
2003-01-18 03:25:40 +00:00
Ruslan Ermilov
074ad11567 Spelling: s/then/than/ where appropriate. 2002-12-24 16:52:31 +00:00
Ruslan Ermilov
c2f7105cd0 mdoc(7) police: fixed some wording, kill whitespace at EOL. 2002-03-18 10:52:09 +00:00
Archie Cobbs
44a8ff315e Add realloc() and reallocf(), and make free(NULL, ...) acceptable.
Reviewed by:	alfred
2002-03-13 01:42:33 +00:00
Ruslan Ermilov
32eef9aeb1 mdoc(7) police: Use the new .In macro for #include statements. 2001-10-01 16:09:29 +00:00
John Baldwin
a63e78202c Spelling fix: depreciated -> deprecated. 2001-08-23 23:41:53 +00:00
John Baldwin
e6f6e49f5c Remove refernces to M_ASLEEP/asleep/await. 2001-08-23 23:40:53 +00:00
Jens Schweikhardt
c1f3e4bf21 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
2001-07-14 19:41:16 +00:00
Ruslan Ermilov
3d45e180f4 mdoc(7) police: removed HISTORY info from the .Os call. 2001-07-10 15:31:11 +00:00
Ruslan Ermilov
b74e63f284 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.
2001-02-07 10:11:57 +00:00
Ruslan Ermilov
3136363f3e Prepare for mdoc(7)NG. 2000-12-29 09:18:45 +00:00
Poul-Henning Kamp
1921a06d6a 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.
2000-10-20 17:54:55 +00:00
Sheldon Hearn
1111b49c35 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.
2000-03-03 14:05:08 +00:00
Matthew Dillon
cc4a02e299 Bring kernel malloc documentation up to date, including the example.
PR:	docs/10059
1999-09-29 16:49:18 +00:00
Peter Wemm
7f3dea244c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
Nik Clayton
5bf6ab8369 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
1999-07-12 21:02:10 +00:00
Mike Pritchard
5d70612b3f Fix some typos and do some minor mdoc cleanup. 1999-06-27 02:38:46 +00:00
Alexander Langer
43d1df332e Removed occurrences of consecutive repeated words (such as "the the"). 1999-02-12 02:12:08 +00:00
Matthew Dillon
557d5a1caa M_AWAIT changed to M_ASLEEP 1998-12-23 01:06:57 +00:00
Matthew Dillon
367f1374e1 Documentation update for new M_AWAIT flag to kernel malloc, plus revamp
the descriptions of the flags and return value.
1998-12-23 01:05:06 +00:00
Poul-Henning Kamp
0b014ec5ac Fix argument reversal in example.
PR:		7138
Reviewed by:	phk
Submitted by:	Robert Watson <robert+freebsd@cyrus.watson.org>
1998-07-02 05:37:33 +00:00