Commit Graph

41 Commits

Author SHA1 Message Date
Joel Dahl
b1edef175b Remove contractions. 2013-04-11 18:46:41 +00:00
Gleb Smirnoff
ad97af7ebd 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.
2013-04-08 19:10:45 +00:00
Gleb Smirnoff
b7e2b86cec 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.
2013-03-21 16:19:46 +00:00
Gleb Smirnoff
07f490ac97 Document uma_find_refcnt(). 2013-03-21 16:04:34 +00:00
Pawel Jakub Dawidek
2f891cd504 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
2012-12-07 22:27:13 +00:00
Edward Tomasz Napierala
2864c799d6 Make it clear that NULL can only be returned when M_NOWAIT was used. 2012-10-28 21:01:32 +00:00
Glen Barber
3102cfe2e2 Fix various typos in manual pages.
Submitted by:	amdmi3
PR:		165431
MFC after:	1 week
2012-02-25 14:31:25 +00:00
Ed Schouten
6b99842ada 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
2012-02-12 18:29:56 +00:00
Ulrich Spörlein
6e18fca127 Re-encode files from ISO-8859-1 to UTF-8 2011-05-22 14:03:30 +00:00
Matthew D Fleming
20ed0cb0c6 uma_zfree(zone, NULL) should do nothing, to match free(9).
Noticed by:	Ron Steinke <rsteinke at isilon dot com>
MFC after:	3 days
2010-10-19 16:06:00 +00:00
Lawrence Stewart
1c6cae9711 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
2010-10-16 04:41:45 +00:00
Lawrence Stewart
c4ae7908a7 - 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
2010-10-16 04:14:45 +00:00
Remko Lodder
6a4c41d1bb Document the _arg versions of the uma_zalloc and uma_zfree functions.
PR:		docs/120357
Submitted by:	gahr
MFC after:	3 days
2008-06-19 18:33:38 +00:00
Ruslan Ermilov
aa7331bf20 Bump document date for the previous change. 2006-10-21 16:08:21 +00:00
Konstantin Belousov
7251f55777 Remove long untrue note about storing state information inside free items.
OKed by:	rwatson, tegge
Approved by:	pjd (mentor)
MFC after:	1 week
2006-10-02 07:27:00 +00:00
Dag-Erling Smørgrav
09e0653941 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.
2004-01-25 11:39:42 +00:00
Hartmut Brandt
d7bbb21a9d Document uma_zone_set_max and its non-obvious behaviour.
Reviewed by:	bmilekic
2003-07-21 14:20:58 +00:00
Hiten Pandya
e07f1d5fd7 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)
2003-05-31 14:20:30 +00:00
Ruslan Ermilov
d962d52ac0 mdoc(7) police: scheduled sweep.
Approved by:	re
2002-11-29 11:39:20 +00:00
Alfred Perlstein
4919e8cbe9 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.
2002-11-18 01:11:58 +00:00
Ruslan Ermilov
9be1948fa4 mdoc(7) police: Fix SYNOPSIS, bump document date. 2002-05-30 11:37:39 +00:00
Jeroen Ruigrok van der Werven
382682b2a4 Add description for uma_zcreate().
Submitted by:	arr
2002-05-18 11:12:02 +00:00
Jeroen Ruigrok van der Werven
acff84fb0e Chase the sources and document the change of wait to flags, which are
the normal malloc(9) flags.

Submitted by:	arr
2002-04-30 16:30:19 +00:00
Jeroen Ruigrok van der Werven
5540755955 Remove references to zinit() which does not exist anymore. 2002-04-30 15:04:41 +00:00
Jeroen Ruigrok van der Werven
9a79558313 Document the zone allocator is now a slab allocator.
Show Jeff's work and your's truly manual page updates.
2002-04-30 14:56:44 +00:00
Jeroen Ruigrok van der Werven
1437c79a4a Document uma_zalloc() behaviour. 2002-04-30 14:26:22 +00:00
Jeroen Ruigrok van der Werven
f1de92e633 Update function arguments to what is current used. 2002-04-30 13:03:28 +00:00
Jeroen Ruigrok van der Werven
7c32182e06 Prefix the remaining functions with uma_ as is now the case in UMA. 2002-04-30 12:45:31 +00:00
Jeroen Ruigrok van der Werven
2f91527664 zinit() does not exist anymore. 2002-04-30 12:29:59 +00:00
Jeroen Ruigrok van der Werven
77776e8c7a Remove references to zbootinit() and zinitna(). 2002-04-30 09:47:50 +00:00
Jeroen Ruigrok van der Werven
008080bd8b Do not use a contraction, aren't -> are not. 2002-04-30 09:38:52 +00:00
Jeroen Ruigrok van der Werven
3a347a6e4e Remove wrong include, one is supposed to include vm/uma.h instead of
vm_zone.h.
2002-04-30 08:51:42 +00:00
Ruslan Ermilov
ced699e370 mdoc(7) police: get rid of WEOL and HSB introduced in rev 1.6. 2002-01-10 13:02:55 +00:00
Chad David
f16b3c0de4 Update function definitions and required include files to reflect
the current state of the system.

Approved by: alfred
2001-12-26 23:14:04 +00:00
Julian Elischer
90d83886e1 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.
2001-12-14 19:19:31 +00:00
Ruslan Ermilov
32eef9aeb1 mdoc(7) police: Use the new .In macro for #include statements. 2001-10-01 16:09:29 +00:00
Ruslan Ermilov
2f7ac3085a mdoc(7) police: add zdestroy() to NAME. 2001-08-10 10:53:10 +00:00
Thomas Moestl
5ca0c84eaa Document zdestroy().
Reviewed by:	des
2001-08-09 16:01:27 +00:00
Bruce Evans
2ba5bb1ff5 Fixed missing and/or wrong and/or extra includes in synopsis. 2001-02-15 11:47:31 +00:00
Dag-Erling Smørgrav
f5fccbbcb4 Style police.
Submitted by:	ru
2001-01-29 08:59:30 +00:00
Dag-Erling Smørgrav
0aa028ffe9 Add a man page for the zone allocator. 2001-01-27 19:13:08 +00:00