<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/vm/vm_init.c, branch stable/13</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=stable%2F13</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=stable%2F13'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2024-06-06T15:54:35Z</updated>
<entry>
<title>Adjust comments referencing vm_mem_init()</title>
<updated>2024-06-06T15:54:35Z</updated>
<author>
<name>Mitchell Horne</name>
<email>mhorne@FreeBSD.org</email>
</author>
<published>2024-05-27T21:37:40Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=8490d5ec8e0e642de1cf8d1ed474bdd45edb7dbc'/>
<id>urn:sha1:8490d5ec8e0e642de1cf8d1ed474bdd45edb7dbc</id>
<content type='text'>
I cannot find a time where the function was not named this.

Reviewed by:	kib, markj
MFC after:	3 days
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D45383

(cherry picked from commit deab57178f0b06eab56d7811674176985a8ea98d)
</content>
</entry>
<entry>
<title>sys: Remove $FreeBSD$: one-line .c pattern</title>
<updated>2023-08-23T17:43:25Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2023-08-22T01:31:27Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=3bc80996974a61a4223eae4c1ccd47b6ee32a48a'/>
<id>urn:sha1:3bc80996974a61a4223eae4c1ccd47b6ee32a48a</id>
<content type='text'>
Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/

Similar commit in current:
(cherry picked from commit 685dc743dc3b)
</content>
</entry>
<entry>
<title>vm: Initialize the transient buffer mapping arena with M_WAITOK</title>
<updated>2022-04-21T13:18:04Z</updated>
<author>
<name>Mark Johnston</name>
<email>markj@FreeBSD.org</email>
</author>
<published>2022-04-14T19:46:14Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=9a4e70157834ecfaebe8ec4bf89dff261deaf60d'/>
<id>urn:sha1:9a4e70157834ecfaebe8ec4bf89dff261deaf60d</id>
<content type='text'>
The wait flag is passed to UMA when allocating boundary tags for the
initial span, and UMA expects either M_WAITOK or M_NOWAIT to be present.

Reported by:	cperciva
Sponsored by:	The FreeBSD Foundation

(cherry picked from commit f82177b8cfd2269aed060fe72e672ad4115ec8c3)
</content>
</entry>
<entry>
<title>Make MAXPHYS tunable.  Bump MAXPHYS to 1M.</title>
<updated>2020-11-28T12:12:51Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2020-11-28T12:12:51Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=cd8537910406e68d4719136a5b0cf6d23bb1b23b'/>
<id>urn:sha1:cd8537910406e68d4719136a5b0cf6d23bb1b23b</id>
<content type='text'>
Replace MAXPHYS by runtime variable maxphys. It is initialized from
MAXPHYS by default, but can be also adjusted with the tunable kern.maxphys.

Make b_pages[] array in struct buf flexible.  Size b_pages[] for buffer
cache buffers exactly to atop(maxbcachebuf) (currently it is sized to
atop(MAXPHYS)), and b_pages[] for pbufs is sized to atop(maxphys) + 1.
The +1 for pbufs allow several pbuf consumers, among them vmapbuf(),
to use unaligned buffers still sized to maxphys, esp. when such
buffers come from userspace (*).  Overall, we save significant amount
of otherwise wasted memory in b_pages[] for buffer cache buffers,
while bumping MAXPHYS to desired high value.

Eliminate all direct uses of the MAXPHYS constant in kernel and driver
sources, except a place which initialize maxphys.  Some random (and
arguably weird) uses of MAXPHYS, e.g. in linuxolator, are converted
straight.  Some drivers, which use MAXPHYS to size embeded structures,
get private MAXPHYS-like constant; their convertion is out of scope
for this work.

Changes to cam/, dev/ahci, dev/ata, dev/mpr, dev/mpt, dev/mvs,
dev/siis, where either submitted by, or based on changes by mav.

Suggested by: mav (*)
Reviewed by:	imp, mav, imp, mckusick, scottl (intermediate versions)
Tested by:	pho
Sponsored by:	The FreeBSD Foundation
Differential revision:	https://reviews.freebsd.org/D27225
</content>
</entry>
<entry>
<title>Remove the VM map zone.</title>
<updated>2020-08-17T13:02:01Z</updated>
<author>
<name>Mark Johnston</name>
<email>markj@FreeBSD.org</email>
</author>
<published>2020-08-17T13:02:01Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=7dd979dfef808a62a0f1092ac6772f489ca6b0ac'/>
<id>urn:sha1:7dd979dfef808a62a0f1092ac6772f489ca6b0ac</id>
<content type='text'>
Today, the zone is only used to allocate a trio of kernel maps: the
kernel map itself, and the exec and pipe submaps.  Maps for user
processes are dynamically allocated but are embedded in the vmspace
structure, which is allocated from its own zone.  Make the
aforementioned kernel maps statically allocated and get rid of the zone.

While here, remove a stale comment above vmspace_alloc() and change the
names of locks initialized in vm_map_init() to match vmspace_zinit().

Reported by:	alc
Reviewed by:	alc, kib
MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D26052
</content>
</entry>
<entry>
<title>Simplify VM and UMA startup by eliminating boot pages.  Instead use careful</title>
<updated>2020-01-16T05:01:21Z</updated>
<author>
<name>Jeff Roberson</name>
<email>jeff@FreeBSD.org</email>
</author>
<published>2020-01-16T05:01:21Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=a81c400e753c30a7e50e7b5b878d0248696b8b23'/>
<id>urn:sha1:a81c400e753c30a7e50e7b5b878d0248696b8b23</id>
<content type='text'>
ordering to allocate early pages in the same way boot pages were but only
as needed.  After the KVA allocator has started up we allocate the KVA that
we consumed during boot.  This also makes the boot pages freeable since they
have vm_page structures allocated with the rest of memory.

Parts of this patch were written and tested by markj.

Reviewed by:	glebius, markj
Differential Revision:	https://reviews.freebsd.org/D23102
</content>
</entry>
<entry>
<title>Do not reserve KVA for paging bufs in vm_ksubmap_init(), since now</title>
<updated>2019-01-16T20:14:16Z</updated>
<author>
<name>Gleb Smirnoff</name>
<email>glebius@FreeBSD.org</email>
</author>
<published>2019-01-16T20:14:16Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=46b0292a826b6042291e3191c7150d197162ef85'/>
<id>urn:sha1:46b0292a826b6042291e3191c7150d197162ef85</id>
<content type='text'>
they allocate it in pbuf_init(). This should have been done together
with r343030.
</content>
</entry>
<entry>
<title>Fix some problems that manifest when NUMA domain 0 is empty.</title>
<updated>2018-10-30T17:57:40Z</updated>
<author>
<name>Mark Johnston</name>
<email>markj@FreeBSD.org</email>
</author>
<published>2018-10-30T17:57:40Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=920239efdee0fd217045fd6b15802374f1c43570'/>
<id>urn:sha1:920239efdee0fd217045fd6b15802374f1c43570</id>
<content type='text'>
- In uma_prealloc(), we need to check for an empty domain before the
  first allocation attempt, not after.  Fix this by switching
  uma_prealloc() to use a vm_domainset iterator, which addresses the
  secondary issue of using a signed domain identifier in round-robin
  iteration.
- Don't automatically create a page daemon for domain 0.
- In domainset_empty_vm(), recompute ds_cnt and ds_order after
  excluding empty domains; otherwise we may frequently specify an empty
  domain when calling in to the page allocator, wasting CPU time.
  Convert DOMAINSET_PREF() policies for empty domains to round-robin.
- When freeing bootstrap pages, don't count them towards the per-domain
  total page counts for now: some vm_phys segments are created before
  the SRAT is parsed and are thus always identified as being in domain 0
  even when they are not.  Then, when bootstrap pages are freed, they
  are added to a domain that we had previously thought was empty.  Until
  this is corrected, we simply exclude them from the per-domain page
  count.

Reported and tested by:	Rajesh Kumar &lt;rajfbsd@gmail.com&gt;
Reviewed by:	gallatin
MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D17704
</content>
</entry>
<entry>
<title>Initialize static domainsets regardless of whether an SRAT is present.</title>
<updated>2018-10-23T18:07:16Z</updated>
<author>
<name>Mark Johnston</name>
<email>markj@FreeBSD.org</email>
</author>
<published>2018-10-23T18:07:16Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=87ab1a10b13c63b905186c2c2e5def95a530373a'/>
<id>urn:sha1:87ab1a10b13c63b905186c2c2e5def95a530373a</id>
<content type='text'>
Reported by:	yuripv
X-MFC with:	r339452
Sponsored by:	The FreeBSD Foundation
</content>
</entry>
<entry>
<title>Move kernel vmem arena initialization to vm_kern.c.</title>
<updated>2018-09-19T19:13:43Z</updated>
<author>
<name>Mark Johnston</name>
<email>markj@FreeBSD.org</email>
</author>
<published>2018-09-19T19:13:43Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=1aed6d48a8b08d7ce7a981085d3b7379fa77d470'/>
<id>urn:sha1:1aed6d48a8b08d7ce7a981085d3b7379fa77d470</id>
<content type='text'>
This keeps the initialization coupled together with the kmem_* KPI
implementation, which is the main user of these arenas.

No functional change intended.

Reviewed by:	alc
Approved by:	re (gjb)
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D17247
</content>
</entry>
</feed>
