diff options
| author | Justus Winter <4winter@informatik.uni-hamburg.de> | 2014-01-02 19:21:21 +0100 |
|---|---|---|
| committer | Justus Winter <4winter@informatik.uni-hamburg.de> | 2014-01-02 19:21:21 +0100 |
| commit | 93e048bc1722f2a52e58aa3d75100529dfc2d32e (patch) | |
| tree | e4ce383422f169e0bb9b0c2d7f0ddb8edf51c372 /debian | |
| parent | a61d69f5c47af8700ab4821d7ddb82a3cb31477e (diff) | |
add struct-size-improvements.patch
Diffstat (limited to 'debian')
| -rw-r--r-- | debian/patches/series | 1 | ||||
| -rw-r--r-- | debian/patches/struct-size-improvements.patch | 81 |
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) */ |
