summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libpager/pager-memcpy.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/libpager/pager-memcpy.c b/libpager/pager-memcpy.c
index e5f4cdac..f2be5585 100644
--- a/libpager/pager-memcpy.c
+++ b/libpager/pager-memcpy.c
@@ -23,9 +23,10 @@
#include <assert.h>
#include <string.h>
-/* Start using vm_copy over memcpy when we have at a page. (This
- value *cannot* be less than vm_page_size.) */
-#define VMCOPY_BETTER_THAN_MEMCPY (vm_page_size)
+/* Start using vm_copy over memcpy when we have that many page. This is
+ roughly the L1 cache size. (This value *cannot* be less than
+ vm_page_size.) */
+#define VMCOPY_BETTER_THAN_MEMCPY (8*vm_page_size)
/* Try to copy *SIZE bytes between the region OTHER points to
and the region at OFFSET in the pager indicated by PAGER and MEMOBJ.
@@ -42,8 +43,8 @@ pager_memcpy (struct pager *pager, memory_object_t memobj,
error_t err;
size_t n = *size;
-#define VMCOPY_WINDOW_DEFAULT_SIZE (16 * vm_page_size)
-#define MEMCPY_WINDOW_DEFAULT_SIZE (8 * vm_page_size)
+#define VMCOPY_WINDOW_DEFAULT_SIZE (32 * vm_page_size)
+#define MEMCPY_WINDOW_DEFAULT_SIZE (32 * vm_page_size)
vm_address_t window;
vm_size_t window_size;