<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/lib/libmemstat, branch release/13.1.0</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=release%2F13.1.0</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=release%2F13.1.0'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2022-01-14T16:17:30Z</updated>
<entry>
<title>sys/bitset.h: reduce visibility of BIT_* macros</title>
<updated>2022-01-14T16:17:30Z</updated>
<author>
<name>Stefan Eßer</name>
<email>se@FreeBSD.org</email>
</author>
<published>2021-12-05T21:27:33Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=379bfb2aa9e940d1ddb6ed3fd113a543c0db3572'/>
<id>urn:sha1:379bfb2aa9e940d1ddb6ed3fd113a543c0db3572</id>
<content type='text'>
(cherry picked from commit 5e04571cf3cf4024be926976a6abf19626df30be)
</content>
</entry>
<entry>
<title>malloc: move malloc_type_internal into malloc_type</title>
<updated>2020-11-06T21:33:59Z</updated>
<author>
<name>Mateusz Guzik</name>
<email>mjg@FreeBSD.org</email>
</author>
<published>2020-11-06T21:33:59Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=bdcc2226441ed191f614ed854f6ea7cb06986cd2'/>
<id>urn:sha1:bdcc2226441ed191f614ed854f6ea7cb06986cd2</id>
<content type='text'>
According to code comments the original motivation was to allow for
malloc_type_internal changes without ABI breakage. This can be trivially
accomplished by providing spare fields and versioning the struct, as
implemented in the patch below.

The upshots are one less memory indirection on each alloc and disappearance
of mt_zone.

Reviewed by:	markj
Differential Revision:	https://reviews.freebsd.org/D27104
</content>
</entry>
<entry>
<title>malloc: export kernel zones instead of relying on them being power-of-2</title>
<updated>2020-11-02T17:38:08Z</updated>
<author>
<name>Mateusz Guzik</name>
<email>mjg@FreeBSD.org</email>
</author>
<published>2020-11-02T17:38:08Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=828afdda17cae119594b21cac689bbe681b5aa58'/>
<id>urn:sha1:828afdda17cae119594b21cac689bbe681b5aa58</id>
<content type='text'>
Reviewed by:	markj (previous version)
Differential Revision:	https://reviews.freebsd.org/D27026
</content>
</entry>
<entry>
<title>memstat_kvm_uma: fix reading of uma_zone_domain structures</title>
<updated>2020-08-28T19:50:40Z</updated>
<author>
<name>Eric van Gyzen</name>
<email>vangyzen@FreeBSD.org</email>
</author>
<published>2020-08-28T19:50:40Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=a2e194654f9c9db1e1fbb03d651d57ffc1a2aa9e'/>
<id>urn:sha1:a2e194654f9c9db1e1fbb03d651d57ffc1a2aa9e</id>
<content type='text'>
Coverity flagged the scaling by sizeof(uzd).  That is the type
of the pointer, so the scaling was already done by pointer arithmetic.
However, this was also passing a stack frame pointer to kvm_read,
so it was doubly wrong.

Move ZDOM_GET into the !_KERNEL section and use it in libmemstat.

Reported by:	Coverity
Reviewed by:	markj
MFC after:	2 weeks
Sponsored by:	Dell EMC Isilon
Differential Revision:	https://reviews.freebsd.org/D26213
</content>
</entry>
<entry>
<title>Use per-domain locks for the bucket cache.</title>
<updated>2020-02-19T18:48:46Z</updated>
<author>
<name>Jeff Roberson</name>
<email>jeff@FreeBSD.org</email>
</author>
<published>2020-02-19T18:48:46Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=c6fd3e23f753ef90d75fd706a2a39dfc1d5425c2'/>
<id>urn:sha1:c6fd3e23f753ef90d75fd706a2a39dfc1d5425c2</id>
<content type='text'>
This gives much better concurrency when there are a large number of
cores per-domain and multiple domains.  Avoid taking the lock entirely
if it will not be productive.  ROUNDROBIN domains will have mixed
memory in each domain and will load balance to all domains.

While here refactor the zone/domain separation and bucket limits to
simplify callers.

Reviewed by:	markj
Differential Revision:	https://reviews.freebsd.org/D23673
</content>
</entry>
<entry>
<title>libmemstat: Catch up with r357776.</title>
<updated>2020-02-11T20:15:49Z</updated>
<author>
<name>Mark Johnston</name>
<email>markj@FreeBSD.org</email>
</author>
<published>2020-02-11T20:15:49Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=25aa4a3c078bea25d748a491b3ff3317a36d8004'/>
<id>urn:sha1:25aa4a3c078bea25d748a491b3ff3317a36d8004</id>
<content type='text'>
Reported by:	O. Hartmann &lt;ohartmann@walstatt.org&gt;
</content>
</entry>
<entry>
<title>Fix libmemstat_uma build after r357485.</title>
<updated>2020-02-04T05:27:45Z</updated>
<author>
<name>Jeff Roberson</name>
<email>jeff@FreeBSD.org</email>
</author>
<published>2020-02-04T05:27:45Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=7f38506ff96ca0b4a46ff8abf580de362d85da88'/>
<id>urn:sha1:7f38506ff96ca0b4a46ff8abf580de362d85da88</id>
<content type='text'>
Submitted by:	cy
</content>
</entry>
<entry>
<title>Use per-domain keg locks.  This provides both a lock and separate space</title>
<updated>2020-01-04T03:30:08Z</updated>
<author>
<name>Jeff Roberson</name>
<email>jeff@FreeBSD.org</email>
</author>
<published>2020-01-04T03:30:08Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=8b987a77691da95fa2da8ceb05a496fbd02066df'/>
<id>urn:sha1:8b987a77691da95fa2da8ceb05a496fbd02066df</id>
<content type='text'>
accounting for each NUMA domain.  Independent keg domain locks are important
with cross-domain frees.  Hashed zones are non-numa and use a single keg
lock to protect the hash table.

Reviewed by:	markj, rlibby
Differential Revision:	https://reviews.freebsd.org/D22829
</content>
</entry>
<entry>
<title>Optimize fast path allocations by storing bucket headers in the per-cpu</title>
<updated>2019-12-25T20:50:53Z</updated>
<author>
<name>Jeff Roberson</name>
<email>jeff@FreeBSD.org</email>
</author>
<published>2019-12-25T20:50:53Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=376b1ba394688c30627199725cd8f9a133164364'/>
<id>urn:sha1:376b1ba394688c30627199725cd8f9a133164364</id>
<content type='text'>
cache area.  This allows us to check on bucket space for all per-cpu
buckets with a single cacheline access and fewer branches.

Reviewed by:	markj, rlibby
Differential Revision:	https://reviews.freebsd.org/D22825
</content>
</entry>
<entry>
<title>Revert r355706 &amp; r355710</title>
<updated>2019-12-13T11:21:28Z</updated>
<author>
<name>Ryan Libby</name>
<email>rlibby@FreeBSD.org</email>
</author>
<published>2019-12-13T11:21:28Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=d82c8ffb169b4db774e2e82013fae2cdb50bef2a'/>
<id>urn:sha1:d82c8ffb169b4db774e2e82013fae2cdb50bef2a</id>
<content type='text'>
The quick fix didn't work.  I'll sort it out tomorrow.

Revert r355710: "libmemstat: unbreak build"
Revert r355706: "uma dbg: flexible size for slab debug bitset too"
</content>
</entry>
</feed>
