diff options
author | Kurt Miller <kurt@cvs.openbsd.org> | 2008-08-22 10:41:38 +0000 |
---|---|---|
committer | Kurt Miller <kurt@cvs.openbsd.org> | 2008-08-22 10:41:38 +0000 |
commit | e364aeeaa92456126da89cd19096f18f388d1c76 (patch) | |
tree | c7cd01c3b7ccae7aced8b751375df5b9e3a94e93 /sys | |
parent | 36694beb0abb8a4ac82dee69e4672a1ef73d5ec3 (diff) |
Set PIE address range to avoid or minimize mmap pressure due to limited
address space. The space between PAGE_SIZE and the non-pie fixed link
address creates no mmap pressure so use that space for PIE. However on
hppa the non-pie fixed link address is PAGE_SIZE so just use a small range
for PIE to minimize mmap pressure.
okay miod@
Diffstat (limited to 'sys')
-rw-r--r-- | sys/arch/hppa/include/vmparam.h | 6 | ||||
-rw-r--r-- | sys/arch/mips64/include/vmparam.h | 6 | ||||
-rw-r--r-- | sys/arch/sh/include/vmparam.h | 6 |
3 files changed, 15 insertions, 3 deletions
diff --git a/sys/arch/hppa/include/vmparam.h b/sys/arch/hppa/include/vmparam.h index 6e3657028f8..6519c8601aa 100644 --- a/sys/arch/hppa/include/vmparam.h +++ b/sys/arch/hppa/include/vmparam.h @@ -1,4 +1,4 @@ -/* $OpenBSD: vmparam.h,v 1.33 2006/06/04 17:21:24 miod Exp $ */ +/* $OpenBSD: vmparam.h,v 1.34 2008/08/22 10:41:37 kurt Exp $ */ /* * Copyright (c) 1988-1994, The University of Utah and @@ -77,6 +77,10 @@ #define VM_MIN_KERNEL_ADDRESS ((vaddr_t)0xc0001000) #define VM_MAX_KERNEL_ADDRESS ((vaddr_t)0xef000000) +/* use a small range for PIE to minimize mmap pressure */ +#define VM_PIE_MIN_ADDR PAGE_SIZE +#define VM_PIE_MAX_ADDR 0x40000UL + /* virtual sizes (bytes) for various kernel submaps */ #define VM_PHYS_SIZE (USRIOSIZE*PAGE_SIZE) diff --git a/sys/arch/mips64/include/vmparam.h b/sys/arch/mips64/include/vmparam.h index 354421b5b16..17f75734fc8 100644 --- a/sys/arch/mips64/include/vmparam.h +++ b/sys/arch/mips64/include/vmparam.h @@ -1,4 +1,4 @@ -/* $OpenBSD: vmparam.h,v 1.15 2008/07/25 21:25:25 miod Exp $ */ +/* $OpenBSD: vmparam.h,v 1.16 2008/08/22 10:41:37 kurt Exp $ */ /* $NetBSD: vmparam.h,v 1.5 1994/10/26 21:10:10 cgd Exp $ */ /* @@ -101,6 +101,10 @@ #define VM_MIN_KERNEL_ADDRESS ((vaddr_t)0xffffffffc0000000L) #define VM_MAX_KERNEL_ADDRESS ((vaddr_t)0xfffffffffffff000L) +/* map PIE below 256MB (non-pie link address) to avoid mmap pressure */ +#define VM_PIE_MIN_ADDR PAGE_SIZE +#define VM_PIE_MAX_ADDR 0x10000000UL + #ifndef VM_NFREELIST #define VM_NFREELIST 1 #endif diff --git a/sys/arch/sh/include/vmparam.h b/sys/arch/sh/include/vmparam.h index 5934b9edac3..bdc7fa5990c 100644 --- a/sys/arch/sh/include/vmparam.h +++ b/sys/arch/sh/include/vmparam.h @@ -1,4 +1,4 @@ -/* $OpenBSD: vmparam.h,v 1.6 2008/06/26 05:42:13 ray Exp $ */ +/* $OpenBSD: vmparam.h,v 1.7 2008/08/22 10:41:37 kurt Exp $ */ /* $NetBSD: vmparam.h,v 1.17 2006/03/04 01:55:03 uwe Exp $ */ /*- @@ -41,6 +41,10 @@ #define VM_MIN_KERNEL_ADDRESS ((vaddr_t)0xc0000000) #define VM_MAX_KERNEL_ADDRESS ((vaddr_t)0xe0000000) +/* map PIE below 4MB (non-pie link address) to avoid mmap pressure */ +#define VM_PIE_MIN_ADDR PAGE_SIZE +#define VM_PIE_MAX_ADDR 0x400000UL + /* top of stack */ #define USRSTACK VM_MAXUSER_ADDRESS |