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 b3e131a..7180093 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 75bf655..f2c8124 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 689bf04..62b22e3 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 11ef5e7..e065dbb 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 c241289..a1ca225 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 36d0f19..ca7e791 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 b2f1dd4..8dd64bb 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 2087c67..6036967 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 f4f1e31..36fa79c 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 050f088..edf87f0 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 10376d8..0000000
--- 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 feddd8e..17541b8 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 b1381ed..2624dd9 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 0a59f07..74e1c4b 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 9c0528c..4fed312 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 840f038..10955ed 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>