summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Braun <rbraun@sceen.net>2011-12-17 21:43:48 +0000
committerRichard Braun <rbraun@sceen.net>2011-12-17 22:13:05 +0000
commit88382234bb540544a3550d1ddfb84e0d17eec971 (patch)
tree7b9e9c006914f275b38c311171330cdd25847eb6
parentaef06eb95fdb3e5f5b857a8b641723759e850a85 (diff)
Remove arbitrary limits used by the zone system
The zone allocator could limit the size of its zones to an arbitrary value set at zinit() time. There is no such parameter with the slab module. As a result of removing those limits, the kern/mach_param.h header becomes empty, and is simply removed altogether. * Makefrag.am (libkernel_a_SOURCES): Remove kern/mach_param.h. * i386/i386/fpu.c: Remove #include <kern/mach_param.h>. * i386/i386/machine_task.c: Likewise. * i386/i386/pcb.c: Likewise. * ipc/ipc_init.c: Likewise. (ipc_space_max): Remove variable. (ipc_tree_entry_max): Likewise. (ipc_port_max): Likewise. (ipc_pset_max): Likewise. * ipc/ipc_init.h (IPC_ZONE_TYPE): Remove macro. (ipc_space_max): Remove extern declaration. (ipc_tree_entry_max): Likewise. (ipc_port_max): Likewise. (ipc_pset_max): Likewise. * ipc/ipc_hash.c (ipc_hash_init): Don't use ipc_tree_entry_max to compute ipc_hash_global_size. * ipc/ipc_marequest.c: Remove #include <kern/mach_param.h>. (ipc_marequest_max): Remove variable. (ipc_marequest_init): Don't use ipc_marequest_max to compute ipc_marequest_size. (ipc_marequest_info): Return (unsigned int)-1 in maxp. * kern/act.c: Remove #include <kern/mach_param.h>. * kern/mach_clock.c: Likewise. * kern/priority.c: Likewise. * kern/task.c: Likewise. * kern/thread.c: Likewise. * vm/memory_object_proxy.c: Likewise. * vm/vm_fault.c: Likewise.
-rw-r--r--Makefrag.am1
-rw-r--r--i386/i386/fpu.c1
-rw-r--r--i386/i386/machine_task.c1
-rw-r--r--i386/i386/pcb.c1
-rw-r--r--ipc/ipc_hash.c7
-rw-r--r--ipc/ipc_init.c6
-rw-r--r--ipc/ipc_init.h8
-rw-r--r--ipc/ipc_marequest.c11
-rw-r--r--kern/act.c1
-rw-r--r--kern/mach_clock.c1
-rw-r--r--kern/mach_param.h67
-rw-r--r--kern/priority.c1
-rw-r--r--kern/task.c1
-rw-r--r--kern/thread.c1
-rw-r--r--vm/memory_object_proxy.c1
-rw-r--r--vm/vm_fault.c1
16 files changed, 5 insertions, 105 deletions
diff --git a/Makefrag.am b/Makefrag.am
index b3e131a8..71800937 100644
--- a/Makefrag.am
+++ b/Makefrag.am
@@ -161,7 +161,6 @@ libkernel_a_SOURCES += \
kern/mach_clock.h \
kern/mach_factor.c \
kern/mach_factor.h \
- kern/mach_param.h \
kern/machine.c \
kern/machine.h \
kern/macro_help.h \
diff --git a/i386/i386/fpu.c b/i386/i386/fpu.c
index 75bf6555..f2c81244 100644
--- a/i386/i386/fpu.c
+++ b/i386/i386/fpu.c
@@ -44,7 +44,6 @@
#include <kern/debug.h>
#include <machine/machspl.h> /* spls */
-#include <kern/mach_param.h>
#include <kern/printf.h>
#include <kern/thread.h>
#include <kern/slab.h>
diff --git a/i386/i386/machine_task.c b/i386/i386/machine_task.c
index 689bf046..62b22e3a 100644
--- a/i386/i386/machine_task.c
+++ b/i386/i386/machine_task.c
@@ -23,7 +23,6 @@
#include <kern/lock.h>
#include <mach/mach_types.h>
#include <kern/slab.h>
-#include <kern/mach_param.h>
#include <machine/task.h>
#include <machine/io_perm.h>
diff --git a/i386/i386/pcb.c b/i386/i386/pcb.c
index 11ef5e78..e065dbb2 100644
--- a/i386/i386/pcb.c
+++ b/i386/i386/pcb.c
@@ -36,7 +36,6 @@
#include "vm_param.h"
#include <kern/counters.h>
#include <kern/debug.h>
-#include <kern/mach_param.h>
#include <kern/thread.h>
#include <kern/sched_prim.h>
#include <kern/slab.h>
diff --git a/ipc/ipc_hash.c b/ipc/ipc_hash.c
index c2412890..a1ca225d 100644
--- a/ipc/ipc_hash.c
+++ b/ipc/ipc_hash.c
@@ -537,11 +537,8 @@ ipc_hash_init(void)
/* if not configured, initialize ipc_hash_global_size */
- if (ipc_hash_global_size == 0) {
- ipc_hash_global_size = ipc_tree_entry_max >> 8;
- if (ipc_hash_global_size < 32)
- ipc_hash_global_size = 32;
- }
+ if (ipc_hash_global_size == 0)
+ ipc_hash_global_size = 256;
/* make sure it is a power of two */
diff --git a/ipc/ipc_init.c b/ipc/ipc_init.c
index 36d0f19e..ca7e7912 100644
--- a/ipc/ipc_init.c
+++ b/ipc/ipc_init.c
@@ -35,7 +35,6 @@
*/
#include <mach/kern_return.h>
-#include <kern/mach_param.h>
#include <kern/ipc_host.h>
#include <kern/slab.h>
#include <vm/vm_map.h>
@@ -57,11 +56,6 @@ static struct vm_map ipc_kernel_map_store;
vm_map_t ipc_kernel_map = &ipc_kernel_map_store;
vm_size_t ipc_kernel_map_size = 8 * 1024 * 1024;
-int ipc_space_max = SPACE_MAX;
-int ipc_tree_entry_max = ITE_MAX;
-int ipc_port_max = PORT_MAX;
-int ipc_pset_max = SET_MAX;
-
/*
* Routine: ipc_bootstrap
* Purpose:
diff --git a/ipc/ipc_init.h b/ipc/ipc_init.h
index b2f1dd4b..8dd64bb5 100644
--- a/ipc/ipc_init.h
+++ b/ipc/ipc_init.h
@@ -37,14 +37,6 @@
#ifndef _IPC_IPC_INIT_H_
#define _IPC_IPC_INIT_H_
-/* all IPC zones should be exhaustible */
-#define IPC_ZONE_TYPE ZONE_EXHAUSTIBLE
-
-extern int ipc_space_max;
-extern int ipc_tree_entry_max;
-extern int ipc_port_max;
-extern int ipc_pset_max;
-
/*
* Exported interfaces
*/
diff --git a/ipc/ipc_marequest.c b/ipc/ipc_marequest.c
index 2087c678..6036967f 100644
--- a/ipc/ipc_marequest.c
+++ b/ipc/ipc_marequest.c
@@ -37,7 +37,6 @@
#include <mach/message.h>
#include <mach/port.h>
#include <kern/lock.h>
-#include <kern/mach_param.h>
#include <kern/kalloc.h>
#include <kern/slab.h>
#include <ipc/port.h>
@@ -59,7 +58,6 @@
struct kmem_cache ipc_marequest_cache;
-int ipc_marequest_max = IMAR_MAX;
#define imar_alloc() ((ipc_marequest_t) kmem_cache_alloc(&ipc_marequest_cache))
#define imar_free(imar) kmem_cache_free(&ipc_marequest_cache, (vm_offset_t) (imar))
@@ -102,11 +100,8 @@ ipc_marequest_init(void)
/* if not configured, initialize ipc_marequest_size */
- if (ipc_marequest_size == 0) {
- ipc_marequest_size = ipc_marequest_max >> 8;
- if (ipc_marequest_size < 16)
- ipc_marequest_size = 16;
- }
+ if (ipc_marequest_size == 0)
+ ipc_marequest_size = 16;
/* make sure it is a power of two */
@@ -436,7 +431,7 @@ ipc_marequest_info(maxp, info, count)
info[i].hib_count = bucket_count;
}
- *maxp = ipc_marequest_max;
+ *maxp = (unsigned int)-1;
return ipc_marequest_size;
}
diff --git a/kern/act.c b/kern/act.c
index f4f1e316..36fa79c1 100644
--- a/kern/act.c
+++ b/kern/act.c
@@ -30,7 +30,6 @@
#include <mach/kern_return.h>
#include <mach/alert.h>
-#include <kern/mach_param.h> /* XXX INCALL_... */
#include <kern/slab.h>
#include <kern/thread.h>
#include <kern/task.h>
diff --git a/kern/mach_clock.c b/kern/mach_clock.c
index 050f0888..edf87f07 100644
--- a/kern/mach_clock.c
+++ b/kern/mach_clock.c
@@ -47,7 +47,6 @@
#include <kern/host.h>
#include <kern/lock.h>
#include <kern/mach_clock.h>
-#include <kern/mach_param.h>
#include <kern/processor.h>
#include <kern/queue.h>
#include <kern/sched.h>
diff --git a/kern/mach_param.h b/kern/mach_param.h
deleted file mode 100644
index 10376d81..00000000
--- a/kern/mach_param.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Mach Operating System
- * Copyright (c) 1991,1990,1989,1988,1987 Carnegie Mellon University.
- * Copyright (c) 1993,1994 The University of Utah and
- * the Computer Systems Laboratory (CSL).
- * All rights reserved.
- *
- * Permission to use, copy, modify and distribute this software and its
- * documentation is hereby granted, provided that both the copyright
- * notice and this permission notice appear in all copies of the
- * software, derivative works or modified versions, and any portions
- * thereof, and that both notices appear in supporting documentation.
- *
- * CARNEGIE MELLON, THE UNIVERSITY OF UTAH AND CSL ALLOW FREE USE OF
- * THIS SOFTWARE IN ITS "AS IS" CONDITION, AND DISCLAIM ANY LIABILITY
- * OF ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF
- * THIS SOFTWARE.
- *
- * Carnegie Mellon requests users of this software to return to
- *
- * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
- * School of Computer Science
- * Carnegie Mellon University
- * Pittsburgh PA 15213-3890
- *
- * any improvements or extensions that they make and grant Carnegie Mellon
- * the rights to redistribute these changes.
- */
-/*
- * File: kern/mach_param.h
- * Author: Avadis Tevanian, Jr., Michael Wayne Young
- * Date: 1986
- *
- * Mach system sizing parameters
- *
- */
-
-#ifndef _KERN_MACH_PARAM_H_
-#define _KERN_MACH_PARAM_H_
-
-#define THREAD_MAX 1024 /* Max number of threads */
-#define THREAD_CHUNK 64 /* Allocation chunk */
-
-#define TASK_MAX 1024 /* Max number of tasks */
-#define TASK_CHUNK 64 /* Allocation chunk */
-
-#define ACT_MAX 1024 /* Max number of acts */
-#define ACT_CHUNK 64 /* Allocation chunk */
-
-#define ACTPOOL_MAX 1024
-#define ACTPOOL_CHUNK 64
-
-#define PORT_MAX ((TASK_MAX * 3 + THREAD_MAX) /* kernel */ \
- + (THREAD_MAX * 2) /* user */ \
- + 40000) /* slop for objects */
- /* Number of ports, system-wide */
-
-#define SET_MAX (TASK_MAX + THREAD_MAX + 200)
- /* Max number of port sets */
-
-#define ITE_MAX (1 << 16) /* Max number of splay tree entries */
-
-#define SPACE_MAX (TASK_MAX + 5) /* Max number of IPC spaces */
-
-#define IMAR_MAX (1 << 10) /* Max number of msg-accepted reqs */
-
-#endif /* _KERN_MACH_PARAM_H_ */
diff --git a/kern/priority.c b/kern/priority.c
index feddd8ee..17541b8b 100644
--- a/kern/priority.c
+++ b/kern/priority.c
@@ -39,7 +39,6 @@
#include <mach/machine.h>
#include <kern/host.h>
#include <kern/mach_clock.h>
-#include <kern/mach_param.h>
#include <kern/sched.h>
#include <kern/sched_prim.h>
#include <kern/thread.h>
diff --git a/kern/task.c b/kern/task.c
index b1381ed5..2624dd95 100644
--- a/kern/task.c
+++ b/kern/task.c
@@ -40,7 +40,6 @@
#include <ipc/ipc_space.h>
#include <ipc/ipc_types.h>
#include <kern/debug.h>
-#include <kern/mach_param.h>
#include <kern/task.h>
#include <kern/thread.h>
#include <kern/slab.h>
diff --git a/kern/thread.c b/kern/thread.c
index 0a59f076..74e1c4b5 100644
--- a/kern/thread.c
+++ b/kern/thread.c
@@ -45,7 +45,6 @@
#include <kern/eventcount.h>
#include <kern/ipc_mig.h>
#include <kern/ipc_tt.h>
-#include <kern/mach_param.h>
#include <kern/processor.h>
#include <kern/queue.h>
#include <kern/sched.h>
diff --git a/vm/memory_object_proxy.c b/vm/memory_object_proxy.c
index 9c0528c0..4fed312e 100644
--- a/vm/memory_object_proxy.c
+++ b/vm/memory_object_proxy.c
@@ -42,7 +42,6 @@
#include <mach/vm_prot.h>
#include <kern/printf.h>
#include <kern/slab.h>
-#include <kern/mach_param.h>
#include <ipc/ipc_port.h>
#include <ipc/ipc_space.h>
diff --git a/vm/vm_fault.c b/vm/vm_fault.c
index 840f0381..10955edd 100644
--- a/vm/vm_fault.c
+++ b/vm/vm_fault.c
@@ -51,7 +51,6 @@
#include <mach/memory_object.h>
#include <vm/memory_object_user.user.h>
/* For memory_object_data_{request,unlock} */
-#include <kern/mach_param.h>
#include <kern/macro_help.h>
#include <kern/slab.h>