#
f3895e98 |
| 09-Nov-2024 |
Doug Moore <dougm@FreeBSD.org> |
vm_radix: Add iter lookup_le interface
Add a function to the vm_radix interface to lookup the greatest page less than or equal to some given page.
Reviewed by: alc Differential Revision: https://re
vm_radix: Add iter lookup_le interface
Add a function to the vm_radix interface to lookup the greatest page less than or equal to some given page.
Reviewed by: alc Differential Revision: https://reviews.freebsd.org/D47046
show more ...
|
#
c71c41da |
| 10-Oct-2024 |
Doug Moore <dougm@FreeBSD.org> |
vm_radix: add iter insert and remove interfaces
Add functions in the vm_radix style for using iterators to insert or remove a page from a radix tree.
Reviewed by: alc Differential Revision: https:/
vm_radix: add iter insert and remove interfaces
Add functions in the vm_radix style for using iterators to insert or remove a page from a radix tree.
Reviewed by: alc Differential Revision: https://reviews.freebsd.org/D47021
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 ...
|
#
450a6690 |
| 19-Sep-2024 |
Doug Moore <dougm@FreeBSD.org> |
vm_radix: offer pctrie_iterator access
Add to the vm_radix and vm_page interfaces methods to use pctrie iterators with vm_radix tries.
Reviewed by: markj Differential Revision: https://reviews.free
vm_radix: offer pctrie_iterator access
Add to the vm_radix and vm_page interfaces methods to use pctrie iterators with vm_radix tries.
Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D46663
show more ...
|
Revision tags: release/13.4.0 |
|
#
7658d153 |
| 06-Jun-2024 |
Ryan Libby <rlibby@FreeBSD.org> |
vm_radix: define vm_radix_insert_lookup_lt and use in vm_page_rename
Use the new pctrie combined lookup/insert. This is an easy application of the new facility. There are other places where we do
vm_radix: define vm_radix_insert_lookup_lt and use in vm_page_rename
Use the new pctrie combined lookup/insert. This is an easy application of the new facility. There are other places where we do this for pages that may need more plumbing to use combined lookup/insert.
Reviewed by: kib (previous version), dougm, markj Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D45396
show more ...
|
Revision tags: release/14.1.0, release/13.3.0, release/14.0.0 |
|
#
429c871d |
| 12-Sep-2023 |
Doug Moore <dougm@FreeBSD.org> |
radix_trie: have vm_radix use pctrie code
Implement everything currently in vm_radix.c with calls to functions in subr_pctrie.c, asccessed via the interface provided by the DEFINE_PCTRIE_SMR macro.
radix_trie: have vm_radix use pctrie code
Implement everything currently in vm_radix.c with calls to functions in subr_pctrie.c, asccessed via the interface provided by the DEFINE_PCTRIE_SMR macro.
Add back some #includes removed in the first attempt, and avoid the use of a discontinued type in a bit of conditionally compiled code.
Reviewed by: alc, markj Tested by: pho Differential Revision: https://reviews.freebsd.org/D41344
show more ...
|
#
6cec93da |
| 11-Sep-2023 |
Doug Moore <dougm@FreeBSD.org> |
Revert "radix_trie: have vm_radix use pctrie code"
This reverts commit a494d30465f21e8cb014a5c788a43001397325d7.
|
#
a494d304 |
| 11-Sep-2023 |
Doug Moore <dougm@FreeBSD.org> |
radix_trie: have vm_radix use pctrie code
Implement everything currently in vm_radix.c with calls to functions in subr_pctrie.c, asccessed via the interface provided by the DEFINE_PCTRIE_SMR macro.
radix_trie: have vm_radix use pctrie code
Implement everything currently in vm_radix.c with calls to functions in subr_pctrie.c, asccessed via the interface provided by the DEFINE_PCTRIE_SMR macro.
Reviewed by: alc, markj Tested by: pho Differential Revision: https://reviews.freebsd.org/D41344
show more ...
|
#
95ee2897 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: two-line .h pattern
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
|
#
2d2bcba7 |
| 28-Jul-2023 |
Doug Moore <dougm@FreeBSD.org> |
Every path in a radix trie ends with a leaf or a NULL. By replacing NULL (non-leaf) pointers with NULL leaves, there is a NULL test removed from every iteration of an index-based search loop.
This s
Every path in a radix trie ends with a leaf or a NULL. By replacing NULL (non-leaf) pointers with NULL leaves, there is a NULL test removed from every iteration of an index-based search loop.
This speeds up radix trie searches by few percent. If there are any radix tries that are not initialized with the init() function, but instead depend on zeroing everything being proper initialization, this will break those tries.
Reviewed by: alc, kib Tested by: pho (as part of a larger change) Differential Revision: https://reviews.freebsd.org/D41171
show more ...
|
#
1efa7dbc |
| 21-Jun-2023 |
Doug Moore <dougm@FreeBSD.org> |
vm_radix: drop unused function; use bool.
Replace boolean_t with bool in vm_radix.c. Drop the unused function vm_radix_is_singleton, which is unused and has no corresponding function in subr_pctrie.
vm_radix: drop unused function; use bool.
Replace boolean_t with bool in vm_radix.c. Drop the unused function vm_radix_is_singleton, which is unused and has no corresponding function in subr_pctrie.c. Reviewed by: alc Differential Revision: <https://reviews.freebsd.org/D40586>
show more ...
|
#
4d846d26 |
| 10-May-2023 |
Warner Losh <imp@FreeBSD.org> |
spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD
The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of
spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD
The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of BSD-2-Clause.
Discussed with: pfg MFC After: 3 days Sponsored by: Netflix
show more ...
|
Revision tags: release/13.2.0, release/12.4.0, release/13.1.0, release/12.3.0, release/13.0.0, release/12.2.0, release/11.4.0 |
|
#
43c7dd6b |
| 19-Feb-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r358075 through r358130.
|
#
1ddda2eb |
| 19-Feb-2020 |
Jeff Roberson <jeff@FreeBSD.org> |
Use SMR to provide a safe unlocked lookup for vm_radix.
The tree is kept correct for readers with store barriers and careful ordering. The existing object lock serializes writers. Consumers will b
Use SMR to provide a safe unlocked lookup for vm_radix.
The tree is kept correct for readers with store barriers and careful ordering. The existing object lock serializes writers. Consumers will be introduced in later commits.
Reviewed by: markj, kib Differential Revision: https://reviews.freebsd.org/D23446
show more ...
|
Revision tags: release/12.1.0, release/11.3.0, release/12.0.0, release/11.2.0 |
|
#
fe267a55 |
| 27-Nov-2017 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
sys: general adoption of SPDX licensing ID tags.
Mainly focus on files that use BSD 2-Clause license, however the tool I was using misidentified many licenses so this was mostly a manual - error pro
sys: general adoption of SPDX licensing ID tags.
Mainly focus on files that use BSD 2-Clause license, however the tool I was using misidentified many licenses so this was mostly a manual - error prone - task.
The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts.
No functional change intended.
show more ...
|
#
f8190300 |
| 10-Nov-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Merge ^/head r325505 through r325662.
|
#
8d6fbbb8 |
| 08-Nov-2017 |
Jeff Roberson <jeff@FreeBSD.org> |
Replace manyinstances of VM_WAIT with blocking page allocation flags similar to the kernel memory allocator.
This simplifies NUMA allocation because the domain will be known at wait time and races b
Replace manyinstances of VM_WAIT with blocking page allocation flags similar to the kernel memory allocator.
This simplifies NUMA allocation because the domain will be known at wait time and races between failure and sleeping are eliminated. This also reduces boilerplate code and simplifies callers.
A wait primitive is supplied for uma zones for similar reasons. This eliminates some non-specific VM_WAIT calls in favor of more explicit sleeps that may be satisfied without new pages.
Reviewed by: alc, kib, markj Tested by: pho Sponsored by: Netflix, Dell/EMC Isilon
show more ...
|
Revision tags: release/10.4.0 |
|
#
531c2d7a |
| 24-Jul-2017 |
Enji Cooper <ngie@FreeBSD.org> |
MFhead@r320180
|
#
bca9d05f |
| 23-Jul-2017 |
Hans Petter Selasky <hselasky@FreeBSD.org> |
Merge ^/head r319973 through 321382.
|
Revision tags: release/11.1.0 |
|
#
7a0f2789 |
| 20-Jul-2017 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r321239 through r321306.
|
#
cd1241fb |
| 19-Jul-2017 |
Konstantin Belousov <kib@FreeBSD.org> |
Add pctrie_init() and vm_radix_init() to initialize generic pctrie and vm_radix trie.
Existing vm_radix_init() function is renamed to vm_radix_zinit(). Inlines moved out of the _ headers.
Reviewed
Add pctrie_init() and vm_radix_init() to initialize generic pctrie and vm_radix trie.
Existing vm_radix_init() function is renamed to vm_radix_zinit(). Inlines moved out of the _ headers.
Reviewed by: alc, markj (previous version) Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D11661
show more ...
|
#
1bde3b70 |
| 09-Dec-2016 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r309519 through r309757.
|
#
e94965d8 |
| 08-Dec-2016 |
Alan Cox <alc@FreeBSD.org> |
Previously, vm_radix_remove() would panic if the radix trie didn't contain a vm_page_t at the specified index. However, with this change, vm_radix_remove() no longer panics. Instead, it returns NUL
Previously, vm_radix_remove() would panic if the radix trie didn't contain a vm_page_t at the specified index. However, with this change, vm_radix_remove() no longer panics. Instead, it returns NULL if there is no vm_page_t at the specified index. Otherwise, it returns the vm_page_t. The motivation for this change is that it simplifies the use of radix tries in the amd64, arm64, and i386 pmap implementations. Instead of performing a lookup before every remove, the pmap can simply perform the remove.
Reviewed by: kib, markj Differential Revision: https://reviews.freebsd.org/D8708
show more ...
|
Revision tags: release/11.0.1, release/11.0.0, release/10.3.0, release/10.2.0, release/10.1.0, release/9.3.0 |
|
#
3b8f0845 |
| 28-Apr-2014 |
Simon J. Gerraty <sjg@FreeBSD.org> |
Merge head
|
#
84e51a1b |
| 23-Apr-2014 |
Alan Somers <asomers@FreeBSD.org> |
IFC @264767
|