aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Gallatin <gallatin@FreeBSD.org>2023-01-21 19:26:25 +0000
committerAndrew Gallatin <gallatin@FreeBSD.org>2023-01-21 19:30:00 +0000
commit9cb6ba29cb704c180d5b82f409e280377a641a28 (patch)
tree907631ff00553a7b4fe8d0d8e037358ea1feb05b
parent10f2a38769c7b2fa210a3ea077d3185448479013 (diff)
downloadsrc-9cb6ba29cb704c180d5b82f409e280377a641a28.tar.gz
src-9cb6ba29cb704c180d5b82f409e280377a641a28.zip
vm: centralize VM_BATCHQUEUE_SIZE definition
Remove the platform-specific definitions of VM_BATCHQUEUE_SIZE for amd64 and powerpc64, and instead treat all 64-bit platforms identically. This has the effect of increasing the arm64 and riscv VM_BATCHQUEUE_SIZE to match that of other platforms. Reviewed by: jhb, markj Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D37707
-rw-r--r--sys/amd64/include/vmparam.h6
-rw-r--r--sys/powerpc/include/vmparam.h8
-rw-r--r--sys/vm/vm_pagequeue.h4
3 files changed, 3 insertions, 15 deletions
diff --git a/sys/amd64/include/vmparam.h b/sys/amd64/include/vmparam.h
index 205848489644..880c46bba84d 100644
--- a/sys/amd64/include/vmparam.h
+++ b/sys/amd64/include/vmparam.h
@@ -290,12 +290,6 @@
#define ZERO_REGION_SIZE (2 * 1024 * 1024) /* 2MB */
/*
- * Use a fairly large batch size since we expect amd64 systems to have lots of
- * memory.
- */
-#define VM_BATCHQUEUE_SIZE 63
-
-/*
* The pmap can create non-transparent large page mappings.
*/
#define PMAP_HAS_LARGEPAGES 1
diff --git a/sys/powerpc/include/vmparam.h b/sys/powerpc/include/vmparam.h
index 1b9873aede4a..0f3321379b47 100644
--- a/sys/powerpc/include/vmparam.h
+++ b/sys/powerpc/include/vmparam.h
@@ -259,14 +259,6 @@ extern int vm_level_0_order;
#endif
/*
- * Use a fairly large batch size since we expect ppc64 systems to have lots of
- * memory.
- */
-#ifdef __powerpc64__
-#define VM_BATCHQUEUE_SIZE 63
-#endif
-
-/*
* On 32-bit OEA, the only purpose for which sf_buf is used is to implement
* an opaque pointer required by the machine-independent parts of the kernel.
* That pointer references the vm_page that is "mapped" by the sf_buf. The
diff --git a/sys/vm/vm_pagequeue.h b/sys/vm/vm_pagequeue.h
index 268d53a391db..9624d31a75b7 100644
--- a/sys/vm/vm_pagequeue.h
+++ b/sys/vm/vm_pagequeue.h
@@ -74,7 +74,9 @@ struct vm_pagequeue {
uint64_t pq_pdpages;
} __aligned(CACHE_LINE_SIZE);
-#ifndef VM_BATCHQUEUE_SIZE
+#if __SIZEOF_LONG__ == 8
+#define VM_BATCHQUEUE_SIZE 63
+#else
#define VM_BATCHQUEUE_SIZE 15
#endif