<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/lib/libmemstat, branch release/10.3.0</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=release%2F10.3.0</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=release%2F10.3.0'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2013-06-18T04:50:20Z</updated>
<entry>
<title>Refine UMA bucket allocation to reduce space consumption and improve</title>
<updated>2013-06-18T04:50:20Z</updated>
<author>
<name>Jeff Roberson</name>
<email>jeff@FreeBSD.org</email>
</author>
<published>2013-06-18T04:50:20Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=fc03d22b177ff18f9ce8ef220480581fdcadb298'/>
<id>urn:sha1:fc03d22b177ff18f9ce8ef220480581fdcadb298</id>
<content type='text'>
performance.

 - Always free to the alloc bucket if there is space.  This gives LIFO
   allocation order to improve hot-cache performance.  This also allows
   for zones with a single bucket per-cpu rather than a pair if the entire
   working set fits in one bucket.
 - Enable per-cpu caches of buckets.  To prevent recursive bucket
   allocation one bucket zone still has per-cpu caches disabled.
 - Pick the initial bucket size based on a table driven maximum size
   per-bucket rather than the number of items per-page.  This gives
   more sane initial sizes.
 - Only grow the bucket size when we face contention on the zone lock, this
   causes bucket sizes to grow more slowly.
 - Adjust the number of items per-bucket to account for the header space.
   This packs the buckets more efficiently per-page while making them
   not quite powers of two.
 - Eliminate the per-zone free bucket list.  Always return buckets back
   to the bucket zone.  This ensures that as zones grow into larger
   bucket sizes they eventually discard the smaller sizes.  It persists
   fewer buckets in the system.  The locking is slightly trickier.
 - Only switch buckets in zalloc, not zfree, this eliminates pathological
   cases where we ping-pong between two buckets.
 - Ensure that the thread that fills a new bucket gets to allocate from
   it to give a better upper bound on allocation time.

Sponsored by:	EMC / Isilon Storage Division
</content>
</entry>
<entry>
<title>Const-ify the zone name argument to uma_zcreate(9).</title>
<updated>2012-10-26T17:51:05Z</updated>
<author>
<name>Matthew D Fleming</name>
<email>mdf@FreeBSD.org</email>
</author>
<published>2012-10-26T17:51:05Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=bb196eb4805e3df02e4ce377f918ff94bde40c1a'/>
<id>urn:sha1:bb196eb4805e3df02e4ce377f918ff94bde40c1a</id>
<content type='text'>
MFC after:	3 days
</content>
</entry>
<entry>
<title>Fix various typos in manual pages.</title>
<updated>2012-02-25T14:31:25Z</updated>
<author>
<name>Glen Barber</name>
<email>gjb@FreeBSD.org</email>
</author>
<published>2012-02-25T14:31:25Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=3102cfe2e21aaea969dcc5245c0b70d9ae643e34'/>
<id>urn:sha1:3102cfe2e21aaea969dcc5245c0b70d9ae643e34</id>
<content type='text'>
Submitted by:	amdmi3
PR:		165431
MFC after:	1 week
</content>
</entry>
<entry>
<title>Cosmetic cleanup: remove #define LIBMEMSTAT used to prevent a nested</title>
<updated>2011-09-02T14:10:42Z</updated>
<author>
<name>Sergey Kandaurov</name>
<email>pluknet@FreeBSD.org</email>
</author>
<published>2011-09-02T14:10:42Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=cfc9e655bacc58c2098f47f52302884beb1453c1'/>
<id>urn:sha1:cfc9e655bacc58c2098f47f52302884beb1453c1</id>
<content type='text'>
include of opt_vmpage.h from vm/vm_page.h.  opt_vmpage.h was retired
before 7.0 together with options PQ_NOOPT.

Approved by:	re (kib)
MFC after:	3 days
</content>
</entry>
<entry>
<title>Get rid of MAXCPU knowledge used for internal needs only. Switch to</title>
<updated>2011-08-01T09:43:35Z</updated>
<author>
<name>Sergey Kandaurov</name>
<email>pluknet@FreeBSD.org</email>
</author>
<published>2011-08-01T09:43:35Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=1882360b9b0fbd7f4ddcd6fb35674ec309b2a738'/>
<id>urn:sha1:1882360b9b0fbd7f4ddcd6fb35674ec309b2a738</id>
<content type='text'>
dynamic memory allocation to hold per-CPU memory types data (sized to
mp_maxid for UMA, and to mp_maxcpus for malloc to match the kernel).

That fixes libmemstat with arbitrary large MAXCPU values and therefore
eliminates MEMSTAT_ERROR_TOOMANYCPUS error type.

Reviewed by:	jhb
Approved by:	re (kib)
</content>
</entry>
<entry>
<title>Revert r222363, as bde@ pointed out the initial solution was far more</title>
<updated>2011-05-31T20:59:53Z</updated>
<author>
<name>Attilio Rao</name>
<email>attilio@FreeBSD.org</email>
</author>
<published>2011-05-31T20:59:53Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=1de471dfee9267dde6b33dd262faefffb2b71bc9'/>
<id>urn:sha1:1de471dfee9267dde6b33dd262faefffb2b71bc9</id>
<content type='text'>
correct.
</content>
</entry>
<entry>
<title>Style fix: cast to size_t rather than u_long when comparing to sizeof()</title>
<updated>2011-05-27T16:01:51Z</updated>
<author>
<name>Attilio Rao</name>
<email>attilio@FreeBSD.org</email>
</author>
<published>2011-05-27T16:01:51Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=d361ed4b1ca199522f067ecf7b9fd66d10642d1e'/>
<id>urn:sha1:d361ed4b1ca199522f067ecf7b9fd66d10642d1e</id>
<content type='text'>
rets.

Requested by:	kib
</content>
</entry>
<entry>
<title>Sync with -CURRENT</title>
<updated>2011-05-10T18:01:53Z</updated>
<author>
<name>Attilio Rao</name>
<email>attilio@FreeBSD.org</email>
</author>
<published>2011-05-10T18:01:53Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=d40d5f64a2f17d7f00658f6f04c8b65b746ee3fa'/>
<id>urn:sha1:d40d5f64a2f17d7f00658f6f04c8b65b746ee3fa</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix a mismerge.</title>
<updated>2011-05-08T14:45:53Z</updated>
<author>
<name>Attilio Rao</name>
<email>attilio@FreeBSD.org</email>
</author>
<published>2011-05-08T14:45:53Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=be720a4061f9da8e1844da27b17fbb50322a293b'/>
<id>urn:sha1:be720a4061f9da8e1844da27b17fbb50322a293b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Revert MAXCPU introduction. In userland it is always 1.</title>
<updated>2011-05-08T14:29:25Z</updated>
<author>
<name>Attilio Rao</name>
<email>attilio@FreeBSD.org</email>
</author>
<published>2011-05-08T14:29:25Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=34e4a6f408ae92e30d943f1083807e2932497371'/>
<id>urn:sha1:34e4a6f408ae92e30d943f1083807e2932497371</id>
<content type='text'>
Noted by:	marcel
</content>
</entry>
</feed>
