<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/vm, branch releng/13.3</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=releng%2F13.3</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=releng%2F13.3'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2024-01-24T13:04:38Z</updated>
<entry>
<title>sysctl vm.objects/vm.swap_objects: do not fill vnode info if jailed</title>
<updated>2024-01-24T13:04:38Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2024-01-13T01:46:04Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=5c4e6fd30bbc859e06af1bdaa42eed32a5418b04'/>
<id>urn:sha1:5c4e6fd30bbc859e06af1bdaa42eed32a5418b04</id>
<content type='text'>
(cherry picked from commit 38f5f2a4af5daeec7f13d39cad1ff4dc90da52d8)
</content>
</entry>
<entry>
<title>vm/vm_object.c: minor cleanup</title>
<updated>2024-01-20T00:32:53Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2024-01-13T01:44:39Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=edef4d715eead740df4278cea9822aa29254a2a0'/>
<id>urn:sha1:edef4d715eead740df4278cea9822aa29254a2a0</id>
<content type='text'>
(cherry picked from commit 69748e62e82a1f5ef77fd3e1b0c9d7e6a89d22b2)
</content>
</entry>
<entry>
<title>Add vnode_pager_clean_{a,}sync(9)</title>
<updated>2024-01-18T01:02:52Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2024-01-08T05:18:40Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=282fd2c39ee6df6104d54388f622471fe3e7ab3a'/>
<id>urn:sha1:282fd2c39ee6df6104d54388f622471fe3e7ab3a</id>
<content type='text'>
(cherry picked from commit b068bb09a1a82d9fef0e939ad6135443a959e290)
</content>
</entry>
<entry>
<title>vnode_pager_generic_putpages(): rename maxblksz local to max_offset</title>
<updated>2024-01-18T01:02:52Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2024-01-09T11:32:39Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=8f0d5a7eb1b08e6175093fdc5fc4803f6a7bb638'/>
<id>urn:sha1:8f0d5a7eb1b08e6175093fdc5fc4803f6a7bb638</id>
<content type='text'>
(cherry picked from commit ed1a88a3116a59b4fd37912099a575b4c8f559dc)
</content>
</entry>
<entry>
<title>vnode_pager_generic_putpages(): correctly handle clean block at EOF</title>
<updated>2024-01-18T01:02:52Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2024-01-08T13:21:06Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=bfa9a16569bab5240a6fdebcd407fd143d0d5ac4'/>
<id>urn:sha1:bfa9a16569bab5240a6fdebcd407fd143d0d5ac4</id>
<content type='text'>
PR:	276191

(cherry picked from commit bdb46c21a3e68d4395d6e0b6a205187e655532b0)
</content>
</entry>
<entry>
<title>uma: Permit specifying max of cache line and some custom alignment</title>
<updated>2023-12-21T13:40:09Z</updated>
<author>
<name>Olivier Certner</name>
<email>olce.freebsd@certner.fr</email>
</author>
<published>2023-10-13T15:05:34Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=6e4b7753610d2594740d73120fe6251ce7f66a61'/>
<id>urn:sha1:6e4b7753610d2594740d73120fe6251ce7f66a61</id>
<content type='text'>
To be used for structures for which we want to enforce that pointers to
them have some number of lower bits always set to 0, while still
ensuring we benefit from cache line alignment to avoid false sharing
between structures and fields within the structures (provided they are
properly ordered).

First candidate consumer that comes to mind is 'struct thread', see next
commit.

Reviewed by:            markj, kib
Sponsored by:           The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D42265

(cherry picked from commit 733e0abd2897289e2acf70f7c72e31a5a560394a)

Approved by:    markj (mentor)
</content>
</entry>
<entry>
<title>uma: New check_align_mask(): Validate alignments (INVARIANTS)</title>
<updated>2023-12-21T13:40:09Z</updated>
<author>
<name>Olivier Certner</name>
<email>olce.freebsd@certner.fr</email>
</author>
<published>2023-10-13T14:09:51Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=27199e55a4d568659d3a4b9985e736e8e5ee3dfe'/>
<id>urn:sha1:27199e55a4d568659d3a4b9985e736e8e5ee3dfe</id>
<content type='text'>
New function check_align_mask() asserts (under INVARIANTS) that the mask
fits in a (signed) integer (see the comment) and that the corresponding
alignment is a power of two.

Use check_align_mask() in uma_set_align_mask() and also in uma_zcreate()
to replace the KASSERT() there (that was checking only for a power of
2).

Reviewed by:            kib, markj
Sponsored by:           The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D42263

(cherry picked from commit 87090f5e5a7b927a2ab30878435f6dcba0705a1d)

Approved by:    markj (mentor)
</content>
</entry>
<entry>
<title>uma: Make the cache alignment mask unsigned</title>
<updated>2023-12-21T13:39:53Z</updated>
<author>
<name>Olivier Certner</name>
<email>olce.freebsd@certner.fr</email>
</author>
<published>2023-10-13T12:49:11Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=9121202fcb27e981bc4d2a7695fbba463361df93'/>
<id>urn:sha1:9121202fcb27e981bc4d2a7695fbba463361df93</id>
<content type='text'>
In uma_set_align_mask(), ensure that the passed value doesn't have its
highest bit set, which would lead to problems since keg/zone alignment
is internally stored as signed integers.  Such big values do not make
sense anyway and indicate some programming error.  A future commit will
introduce checks for this case and other ones.

Reviewed by:            kib, markj
Sponsored by:           The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D42262

(cherry picked from commit 3d8f548b9e5772ff6890bdc01f7ba7b76203857d)

Approved by:    markj (mentor)
</content>
</entry>
<entry>
<title>uma: UMA_ALIGN_CACHE: Resolve the proper value at use point</title>
<updated>2023-12-21T13:39:34Z</updated>
<author>
<name>Olivier Certner</name>
<email>olce.freebsd@certner.fr</email>
</author>
<published>2023-10-13T12:13:30Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=4e00940e9f1f7dc1210a094d916ef930ff447e4a'/>
<id>urn:sha1:4e00940e9f1f7dc1210a094d916ef930ff447e4a</id>
<content type='text'>
Having a special value of -1 that is resolved internally to
'uma_align_cache' provides no significant advantages and prevents
changing that variable to an unsigned type, which is natural for an
alignment mask.  So suppress it and replace its use with a call to
uma_get_align_mask().  The small overhead of the added function call is
irrelevant since UMA_ALIGN_CACHE is only used when creating new zones,
which is not performance critical.

Reviewed by:            markj, kib
Sponsored by:           The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D42259

(cherry picked from commit e557eafe7233f8231c1f5f5b098e4bab8e818645)

Approved by:    markj (mentor)
</content>
</entry>
<entry>
<title>uma: Hide 'uma_align_cache'; Create/rename accessors</title>
<updated>2023-12-21T13:39:26Z</updated>
<author>
<name>Olivier Certner</name>
<email>olce.freebsd@certner.fr</email>
</author>
<published>2023-10-13T09:52:28Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=56c53cc8fb3edaed82678440da5cf8e0dc482d03'/>
<id>urn:sha1:56c53cc8fb3edaed82678440da5cf8e0dc482d03</id>
<content type='text'>
Create the uma_get_cache_align_mask() accessor and put it in a separate
private header so as to minimize namespace pollution in header/source
files that need only this function and not the whole 'uma.h' header.

Make sure the accessors have '_mask' as a suffix, so that callers are
aware that the real alignment is the power of two that is the mask plus
one.  Rename the stem to something more explicit.  Rename
uma_set_cache_align_mask()'s single parameter to 'mask'.

Hide 'uma_align_cache' to ensure that it cannot be set in any other way
then by a call to uma_set_cache_align_mask(), which will perform sanity
checks in a further commit.  While here, rename it to
'uma_cache_align_mask'.

This is also in preparation for some further changes, such as improving
the sanity checks, eliminating internal resolving of UMA_ALIGN_CACHE and
changing the type of the 'uma_cache_align_mask' variable.

Reviewed by:            markj, kib
Sponsored by:           The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D42258

(cherry picked from commit dc8f7692fd1de628814f4eaf4a233dccf4c92199)

Approved by:    markj (mentor)
</content>
</entry>
</feed>
