git: 9cb6ba29cb70 - main - vm: centralize VM_BATCHQUEUE_SIZE definition
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 21 Jan 2023 19:30:55 UTC
The branch main has been updated by gallatin:
URL: https://cgit.FreeBSD.org/src/commit/?id=9cb6ba29cb704c180d5b82f409e280377a641a28
commit 9cb6ba29cb704c180d5b82f409e280377a641a28
Author: Andrew Gallatin <gallatin@FreeBSD.org>
AuthorDate: 2023-01-21 19:26:25 +0000
Commit: Andrew Gallatin <gallatin@FreeBSD.org>
CommitDate: 2023-01-21 19:30:00 +0000
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
---
sys/amd64/include/vmparam.h | 6 ------
sys/powerpc/include/vmparam.h | 8 --------
sys/vm/vm_pagequeue.h | 4 +++-
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
@@ -289,12 +289,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.
*/
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
@@ -258,14 +258,6 @@ extern int vm_level_0_order;
#define ZERO_REGION_SIZE (64 * 1024) /* 64KB */
#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.
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