aboutsummaryrefslogtreecommitdiff
path: root/sys/vm
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2024-09-27 16:20:31 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2024-10-05 07:08:56 +0000
commitb0e45fea61a53bf7831e9a8de356cfda055e1d44 (patch)
tree5ad6fe65c3c1c25903e70b76f645304ed42e1408 /sys/vm
parenta5943b6e503df1b75436f85ca7efa7e94c631a24 (diff)
Diffstat (limited to 'sys/vm')
-rw-r--r--sys/vm/vm_page.c5
-rw-r--r--sys/vm/vm_page.h2
2 files changed, 4 insertions, 3 deletions
diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c
index 8496a39154de..fe104e1e87af 100644
--- a/sys/vm/vm_page.c
+++ b/sys/vm/vm_page.c
@@ -3993,14 +3993,14 @@ vm_page_free_toq(vm_page_t m)
* from any VM object. In other words, this is equivalent to
* calling vm_page_free_toq() for each page of a list of VM objects.
*/
-void
+int
vm_page_free_pages_toq(struct spglist *free, bool update_wire_count)
{
vm_page_t m;
int count;
if (SLIST_EMPTY(free))
- return;
+ return (0);
count = 0;
while ((m = SLIST_FIRST(free)) != NULL) {
@@ -4011,6 +4011,7 @@ vm_page_free_pages_toq(struct spglist *free, bool update_wire_count)
if (update_wire_count)
vm_wire_sub(count);
+ return (count);
}
/*
diff --git a/sys/vm/vm_page.h b/sys/vm/vm_page.h
index a1df6f736aee..68f68d62d2be 100644
--- a/sys/vm/vm_page.h
+++ b/sys/vm/vm_page.h
@@ -706,7 +706,7 @@ int vm_page_is_valid(vm_page_t, int, int);
void vm_page_test_dirty(vm_page_t);
vm_page_bits_t vm_page_bits(int base, int size);
void vm_page_zero_invalid(vm_page_t m, boolean_t setvalid);
-void vm_page_free_pages_toq(struct spglist *free, bool update_wire_count);
+int vm_page_free_pages_toq(struct spglist *free, bool update_wire_count);
void vm_page_dirty_KBI(vm_page_t m);
void vm_page_lock_KBI(vm_page_t m, const char *file, int line);