summaryrefslogtreecommitdiff
path: root/debian
diff options
context:
space:
mode:
authorJustus Winter <4winter@informatik.uni-hamburg.de>2014-01-02 19:21:21 +0100
committerJustus Winter <4winter@informatik.uni-hamburg.de>2014-01-02 19:21:21 +0100
commit93e048bc1722f2a52e58aa3d75100529dfc2d32e (patch)
treee4ce383422f169e0bb9b0c2d7f0ddb8edf51c372 /debian
parenta61d69f5c47af8700ab4821d7ddb82a3cb31477e (diff)
add struct-size-improvements.patch
Diffstat (limited to 'debian')
-rw-r--r--debian/patches/series1
-rw-r--r--debian/patches/struct-size-improvements.patch81
2 files changed, 82 insertions, 0 deletions
diff --git a/debian/patches/series b/debian/patches/series
index a95f927..8b69ec2 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -3,3 +3,4 @@
50_initrd.patch
60_bigmem.patch
70_dde.patch
+struct-size-improvements.patch
diff --git a/debian/patches/struct-size-improvements.patch b/debian/patches/struct-size-improvements.patch
new file mode 100644
index 0000000..631d6a5
--- /dev/null
+++ b/debian/patches/struct-size-improvements.patch
@@ -0,0 +1,81 @@
+diff --git a/kern/slab.h b/kern/slab.h
+index b842fb7..a4219c4 100644
+--- a/kern/slab.h
++++ b/kern/slab.h
+@@ -149,7 +149,7 @@ typedef void (*kmem_slab_free_fn_t)(vm_offset_t, vm_size_t);
+ /*
+ * Cache name buffer size.
+ */
+-#define KMEM_CACHE_NAME_SIZE 32
++#define KMEM_CACHE_NAME_SIZE 24
+
+ /*
+ * Cache of objects.
+diff --git a/kern/task.h b/kern/task.h
+index 9bfea57..e852033 100644
+--- a/kern/task.h
++++ b/kern/task.h
+@@ -52,7 +52,11 @@ struct task {
+ /* Synchronization/destruction information */
+ decl_simple_lock_data(,lock) /* Task's lock */
+ int ref_count; /* Number of references to me */
+- boolean_t active; /* Task has not been terminated */
++
++ /* Flags */
++ unsigned int active:1, /* Task has not been terminated */
++ /* boolean_t */ may_assign:1, /* can assigned pset be changed? */
++ assign_active:1; /* waiting for may_assign */
+
+ /* Miscellaneous */
+ vm_map_t map; /* Address space description */
+@@ -63,8 +67,6 @@ struct task {
+ queue_head_t thread_list; /* list of threads */
+ int thread_count; /* number of threads */
+ processor_set_t processor_set; /* processor set for new threads */
+- boolean_t may_assign; /* can assigned pset be changed? */
+- boolean_t assign_active; /* waiting for may_assign */
+
+ /* User-visible scheduling information */
+ int user_stop_count; /* outstanding stops */
+diff --git a/vm/vm_page.h b/vm/vm_page.h
+index 4445cb0..4fe1b41 100644
+--- a/vm/vm_page.h
++++ b/vm/vm_page.h
+@@ -84,7 +84,7 @@ struct vm_page {
+ vm_object_t object; /* which object am I in (O,P) */
+ vm_offset_t offset; /* offset into that object (O,P) */
+
+- unsigned int wire_count:16, /* how many wired down maps use me?
++ unsigned int wire_count:15, /* how many wired down maps use me?
+ (O&P) */
+ /* boolean_t */ inactive:1, /* page is in inactive list (P) */
+ active:1, /* page is in active list (P) */
+@@ -92,14 +92,8 @@ struct vm_page {
+ free:1, /* page is on free list (P) */
+ reference:1, /* page has been used (P) */
+ external:1, /* page considered external (P) */
+- extcounted:1, /* page counted in ext counts (P) */
+- :0; /* (force to 'long' boundary) */
+-#ifdef ns32000
+- int pad; /* extra space for ns32000 bit ops */
+-#endif /* ns32000 */
+-
+- unsigned int
+- /* boolean_t */ busy:1, /* page is in transit (O) */
++ extcounted:1, /* page counted in ext counts (P) */
++ busy:1, /* page is in transit (O) */
+ wanted:1, /* someone is waiting for page (O) */
+ tabled:1, /* page is in VP table (O) */
+ fictitious:1, /* Physical page doesn't exist (O) */
+@@ -112,10 +106,9 @@ struct vm_page {
+ dirty:1, /* Page must be cleaned (O) */
+ precious:1, /* Page is precious; data must be
+ * returned even if clean (O) */
+- overwriting:1, /* Request to unlock has been made
++ overwriting:1; /* Request to unlock has been made
+ * without having data. (O)
+ * [See vm_object_overwrite] */
+- :0;
+
+ vm_offset_t phys_addr; /* Physical address of page, passed
+ * to pmap_enter (read-only) */