git: 4b3c72402e3a - main - vm_object: use iterators in list_handle()
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 24 Apr 2025 19:22:19 UTC
The branch main has been updated by dougm:
URL: https://cgit.FreeBSD.org/src/commit/?id=4b3c72402e3a26070d74f230b8c5f9ed3000e423
commit 4b3c72402e3a26070d74f230b8c5f9ed3000e423
Author: Doug Moore <dougm@FreeBSD.org>
AuthorDate: 2025-04-24 19:21:23 +0000
Commit: Doug Moore <dougm@FreeBSD.org>
CommitDate: 2025-04-24 19:21:23 +0000
vm_object: use iterators in list_handle()
Replace the listq pointers with iterators in vm_object_list_handle().
Reviewed by: kib
Differential Revision: https://reviews.freebsd.org/D49946
---
sys/vm/vm_object.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c
index 6a13cc1fd2b5..e1a4143458a3 100644
--- a/sys/vm/vm_object.c
+++ b/sys/vm/vm_object.c
@@ -2494,6 +2494,7 @@ vm_object_is_active(vm_object_t obj)
static int
vm_object_list_handler(struct sysctl_req *req, bool swap_only)
{
+ struct pctrie_iter pages;
struct kinfo_vmobject *kvo;
char *fullpath, *freepath;
struct vnode *vp;
@@ -2553,7 +2554,8 @@ vm_object_list_handler(struct sysctl_req *req, bool swap_only)
kvo->kvo_inactive = 0;
kvo->kvo_flags = 0;
if (!swap_only) {
- TAILQ_FOREACH(m, &obj->memq, listq) {
+ vm_page_iter_init(&pages, obj);
+ VM_RADIX_FOREACH(m, &pages) {
/*
* A page may belong to the object but be
* dequeued and set to PQ_NONE while the