History log of /freebsd/sys/vm/vm_object.c (Results 1 – 25 of 1245)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# c1d12b92 08-Dec-2024 Doug Moore <dougm@FreeBSD.org>

vm_page: pass page to iter_remove

Pass the to-be-freed page to vm_page_iter_remove as a parameter,
rather than computing it from the iterator parameter, to improve
performance.

Reviewed by: alc
Dif

vm_page: pass page to iter_remove

Pass the to-be-freed page to vm_page_iter_remove as a parameter,
rather than computing it from the iterator parameter, to improve
performance.

Reviewed by: alc
Differential Revision: https://reviews.freebsd.org/D47730

show more ...


Revision tags: release/14.2.0
# c296ac7e 27-Nov-2024 Alan Cox <alc@FreeBSD.org>

vm: Optimize page rename

Rename vm_page_rename() to vm_page_iter_rename() to reflect its
reimplementation using iterators, and pass the page to this function
rather than spending clock cycles lookin

vm: Optimize page rename

Rename vm_page_rename() to vm_page_iter_rename() to reflect its
reimplementation using iterators, and pass the page to this function
rather than spending clock cycles looking it up. Change its return
value from 0/1 to a bool.

Reviewed by: dougm, markj
Differential Revision: https://reviews.freebsd.org/D47829

show more ...


# ff4c19bb 25-Nov-2024 Doug Moore <dougm@FreeBSD.org>

vm_page: pass page to iter_free

Pass the to-be-freed page to vm_page_iter_free as a parameter, rather
than computing it from the iterator parameter, to improve performance.

Sort declarations of pag

vm_page: pass page to iter_free

Pass the to-be-freed page to vm_page_iter_free as a parameter, rather
than computing it from the iterator parameter, to improve performance.

Sort declarations of page_iter functions in vm_page.h.

Reviewed by: alc
Differential Revision: https://reviews.freebsd.org/D47727

show more ...


# 5b78ff83 20-Nov-2024 Doug Moore <dougm@FreeBSD.org>

vm_page: remove pages with iterators

Use pctrie iterators for removing some page sequences from radix
trees, to avoid repeated searches from the tree root.

Rename vm_page_object_remove to vm_page_r

vm_page: remove pages with iterators

Use pctrie iterators for removing some page sequences from radix
trees, to avoid repeated searches from the tree root.

Rename vm_page_object_remove to vm_page_remove_radixdone, and remove
from it the responsibility for removing a page from its radix tree,
and pass that responsibility on to its callers.

For one of those callers, vm_page_rename, pass a pages pctrie_iter,
rather than a page, and use the iterator to remove the page from its
radix tree.

Define functions vm_page_iter_remove() and vm_page_iter_free() that
are like vm_page_remove() and vm_page_free(), respectively, except
that they take an iterator as parameter rather than a page, and use
the iterator to remove the page from the radix tree instead of
searching the radix tree. Function vm_page_iter_free() assumes that
the page is associated with an object, and calls
vm_page_free_object_prep to do the part of vm_page_free_prep that is
object-related.

In functions vm_object_split and vm_object_collapse_scan, use a
pctrie_iter to walk over the pages of the object, and use
vm_page_rename and vm_radix_iter_remove modify the radix tree without
searching for pages. In vm_object_page_remove and _kmem_unback, use a
pctrie_iter and vm_page_iter_free to remove the page from the radix
tree.

Reviewed by: markj (prevoius version)
Tested by: pho
Differential Revision: https://reviews.freebsd.org/D46724

show more ...


# 580340db 04-Nov-2024 Konstantin Belousov <kib@FreeBSD.org>

vm_object: do not assume that un_pager.devp.dev is cdev

It is subtype-specific handle. Mark OBJT_DEVICE that do fill cdev into
the handle, with a new object flag OBJ_CDEVH.

PR: 282533
Reviewed by:

vm_object: do not assume that un_pager.devp.dev is cdev

It is subtype-specific handle. Mark OBJT_DEVICE that do fill cdev into
the handle, with a new object flag OBJ_CDEVH.

PR: 282533
Reviewed by: markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D47443

show more ...


# f0c07fe3 04-Nov-2024 Konstantin Belousov <kib@FreeBSD.org>

device_pager: rename the un_pager.devp.dev field to handle

because it is not neccessary struct cdev *.

Reviewed by: markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revisio

device_pager: rename the un_pager.devp.dev field to handle

because it is not neccessary struct cdev *.

Reviewed by: markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D47443

show more ...


# 34951b0b 24-Oct-2024 Doug Moore <dougm@FreeBSD.org>

swap_pager: move scan_all_shadowed, use iterators

Move vm_object_scan_all_shadowed from vm_object.c to swap_pager.c, and
rename it. In the moved function, use vm_page and swblk iterators to
advance

swap_pager: move scan_all_shadowed, use iterators

Move vm_object_scan_all_shadowed from vm_object.c to swap_pager.c, and
rename it. In the moved function, use vm_page and swblk iterators to
advance through the objects. Avoid checking a backing page for
busyness or validity more than once, or when it is beyond the upper
bound of the scan.

Reviewed by: kib, markj
Tested by: pho
Differential Revision: https://reviews.freebsd.org/D47150

show more ...


# a86373bc 22-Oct-2024 Mark Johnston <markj@FreeBSD.org>

vm_object: Report laundry pages in kinfo_vmobject

Reviewed by: bnovkov, kib
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D47214


# 5fc34379 21-Oct-2024 Mark Johnston <markj@FreeBSD.org>

vm_object: Assert that managed pages are on pagequeues when freeing

Reviewed by: dougm, kib
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D46945


# d9daa28c 10-Oct-2024 Konstantin Belousov <kib@FreeBSD.org>

sysctl vm.vm_objects: report cdev name for device-backed objects

Reviewed by: emaste. markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/

sysctl vm.vm_objects: report cdev name for device-backed objects

Reviewed by: emaste. markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D47038

show more ...


# b0b18b57 07-Oct-2024 Konstantin Belousov <kib@FreeBSD.org>

sysctl vm.objects: report objects backing posix shm segments

Add the KVMO_FLAG_POSIXSHM flag. Fill the path.

Reviewed by: markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential

sysctl vm.objects: report objects backing posix shm segments

Add the KVMO_FLAG_POSIXSHM flag. Fill the path.

Reviewed by: markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D46970

show more ...


# 71a66883 07-Oct-2024 Konstantin Belousov <kib@FreeBSD.org>

kinfo_{vmobject,vmentry}: move copy of pathes into the vnode handling scope

Reviewed by: markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.o

kinfo_{vmobject,vmentry}: move copy of pathes into the vnode handling scope

Reviewed by: markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D46970

show more ...


# 6a3fbdc7 05-Oct-2024 Konstantin Belousov <kib@FreeBSD.org>

kinfo_vmobject: report backing object of the SysV shm segments

Use reserved work for kvo_flags.
Mark such object with KVMO_FLAG_SYSVSHM.
Provide segment key in kvo_vn_fileid, vnode never can back sh

kinfo_vmobject: report backing object of the SysV shm segments

Use reserved work for kvo_flags.
Mark such object with KVMO_FLAG_SYSVSHM.
Provide segment key in kvo_vn_fileid, vnode never can back shm mapping.
Provide sequence number in kvo_vn_fsid_freebsd11.

Reviewed by: markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D46959

show more ...


# c3d743a6 19-Sep-2024 Doug Moore <dougm@FreeBSD.org>

vm_object: use reclaim callback to free pages

Instead of iterating over object->memq to free pages, use a callback
in VM_RADIX_PCTRIE_RECLAIM_CALLBACK to do it.

Reviewed by: rlibby
Differential Rev

vm_object: use reclaim callback to free pages

Instead of iterating over object->memq to free pages, use a callback
in VM_RADIX_PCTRIE_RECLAIM_CALLBACK to do it.

Reviewed by: rlibby
Differential Revision: https://reviews.freebsd.org/D45588

show more ...


Revision tags: release/13.4.0
# 6d86bdf1 02-Aug-2024 Doug Moore <dougm@FreeBSD.org>

vm_pageout: shrink pageout array

The array passed to vm_pageout_flush, and constructed in a middle-out
fashion, can never use array element zero. Shrink the array by one,
and reduce indices by one,

vm_pageout: shrink pageout array

The array passed to vm_pageout_flush, and constructed in a middle-out
fashion, can never use array element zero. Shrink the array by one,
and reduce indices by one, to save that bit of stack space. In the
vm_object version, make the accounting look more like the pageout
version.

Reported by: alc
Reviewed by: kib
Differential Revision: https://reviews.freebsd.org/D46208

show more ...


# 4113ea34 29-Jul-2024 Doug Moore <dougm@FreeBSD.org>

vm_object: speed up page collect flush

vm_pageout_cluster prepares an array for passing to vm_pageout_flush
by starting in the middle of a double-sized array and working out from
the middle. Using t

vm_object: speed up page collect flush

vm_pageout_cluster prepares an array for passing to vm_pageout_flush
by starting in the middle of a double-sized array and working out from
the middle. Using the same technique in vm_object_page_collect_flush
saves one loop that traverses a piece of linked list, and 80 bytes of
amd64 binary code.

Reviewed by: kib
Differential Revision: https://reviews.freebsd.org/D46173

show more ...


# 60847070 05-Jun-2024 Alan Cox <alc@FreeBSD.org>

vm: Eliminate a redundant call to vm_reserv_break_all()

When vm_object_collapse() was changed in commit 98087a0 to call
vm_object_terminate(), rather than destroying the object directly, its
call to

vm: Eliminate a redundant call to vm_reserv_break_all()

When vm_object_collapse() was changed in commit 98087a0 to call
vm_object_terminate(), rather than destroying the object directly, its
call to vm_reserv_break_all() should have been removed, as
vm_object_terminate() calls vm_reserv_break_all().

Reviewed by: kib, markj
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D45495

show more ...


Revision tags: release/14.1.0, release/13.3.0
# 38f5f2a4 13-Jan-2024 Konstantin Belousov <kib@FreeBSD.org>

sysctl vm.objects/vm.swap_objects: do not fill vnode info if jailed

Reported by: Shawn Webb via markj
Reviewed by: jhb, markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week


# 69748e62 13-Jan-2024 Konstantin Belousov <kib@FreeBSD.org>

vm/vm_object.c: minor cleanup

Remove sys/cdefs.h and sys/socket.h includes.
Order sys/ includes alphabetically.
Do not check for NULL before free().

Reviewed by: markj
Sponsored by: The FreeBSD Fou

vm/vm_object.c: minor cleanup

Remove sys/cdefs.h and sys/socket.h includes.
Order sys/ includes alphabetically.
Do not check for NULL before free().

Reviewed by: markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
DIfferential revision: https://reviews.freebsd.org/D43444

show more ...


# 6f3e9bac 16-Dec-2023 Pawel Jakub Dawidek <pjd@FreeBSD.org>

vm: Plug umtx shm object leak.

Reviewed by: kib
Approved by: oshogbo
MFC after: 1 week
Sponsored by: Fudo Security
Differential Revision: https://reviews.freebsd.org/D43073


# 29363fb4 23-Nov-2023 Warner Losh <imp@FreeBSD.org>

sys: Remove ancient SCCS tags.

Remove ancient SCCS tags from the tree, automated scripting, with two
minor fixup to keep things compiling. All the common forms in the tree
were removed with a perl s

sys: Remove ancient SCCS tags.

Remove ancient SCCS tags from the tree, automated scripting, with two
minor fixup to keep things compiling. All the common forms in the tree
were removed with a perl script.

Sponsored by: Netflix

show more ...


Revision tags: release/14.0.0
# 685dc743 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

sys: Remove $FreeBSD$: one-line .c pattern

Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/


# 3e04ae43 14-Jul-2023 Doug Moore <dougm@FreeBSD.org>

vm_radix_init: use initializer

Several vm_radix tries are not initialized with vm_radix_init. That
works, for now, since static initialization zeroes the root field
anyway, but if initialization cha

vm_radix_init: use initializer

Several vm_radix tries are not initialized with vm_radix_init. That
works, for now, since static initialization zeroes the root field
anyway, but if initialization changes, these tries will fail. Add
missing initializer calls.

Reviewed by: alc, kib, markj
Differential Revision: https://reviews.freebsd.org/D40971

show more ...


Revision tags: release/13.2.0
# c3821149 15-Feb-2023 Ed Maste <emaste@FreeBSD.org>

Drop space in "vm object" lock name to improve wchan

Lock names are shown in top as a `*` followed by the first five
characters of the name. `*vmobj` a little more obvious and easier to
search for

Drop space in "vm object" lock name to improve wchan

Lock names are shown in top as a `*` followed by the first five
characters of the name. `*vmobj` a little more obvious and easier to
search for than `*vm ob`.

Differential Revision: https://reviews.freebsd.org/D36264

show more ...


# 6189672e 18-Jan-2023 Konstantin Belousov <kib@FreeBSD.org>

Handle ERELOOKUP from VOP_FSYNC() in several other places

We need to repeat the operation if the vnode was relocked.

Reported and reviewed by: markj
Tested by: pho
Sponsored by: The FreeBSD Foundat

Handle ERELOOKUP from VOP_FSYNC() in several other places

We need to repeat the operation if the vnode was relocked.

Reported and reviewed by: markj
Tested by: pho
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D38114

show more ...


12345678910>>...50