diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2007-01-04 23:51:02 +0000 |
---|---|---|
committer | Thomas Schwinge <tschwinge@gnu.org> | 2009-06-18 00:27:00 +0200 |
commit | 818dca5f6e64e5db7ff40c860a17b8a6bbe1af30 (patch) | |
tree | 51d50599f61b7e810dd99cc91b369ced423e2cb6 /kern/zalloc.h | |
parent | f9107bcab72087acb32ab2800be04b6506b0780a (diff) | |
download | gnumach-818dca5f6e64e5db7ff40c860a17b8a6bbe1af30.tar.gz gnumach-818dca5f6e64e5db7ff40c860a17b8a6bbe1af30.tar.bz2 gnumach-818dca5f6e64e5db7ff40c860a17b8a6bbe1af30.zip |
2006-12-30 Richard Braun <syn@hurdfr.org>
Add alignment support in the zone allocator.
* kern/zalloc.c (ALIGN_SIZE_UP): New macro.
(zinit): New `align' parameter.
(zget_space): Likewise.
(zalloc): Updated call to zget_space() with the zone alignment.
* kern/zalloc.h (zone): New member `align'.
(zinit): Declaration updated as required.
* device/dev_lookup.c (dev_lookup_init): Updated call to zinit() with
alignment of 0.
* device/dev_pager.c (dev_pager_hash_init): Likewise.
(device_pager_init): Likewise.
* device/ds_routines.c (ds_init): Likewise.
(ds_trap_init): Likewise.
* device/net_io.c (net_io_init): Likewise.
* i386/i386/fpu.c (fpu_module_init): Likewise.
* i386/i386/pcb.c (pcb_module_init): Likewise.
* i386/intel/pmap.c (pmap_init): Likewise.
* ipc/ipc_init.c (ipc_bootstrap): Likewise.
* ipc/ipc_marequest.c (ipc_marequest_init): Likewise.
* kern/act.c (global_act_init): Likewise.
* kern/kalloc.c (kalloc_init): Likewise.
* kern/processor.c (pset_sys_init): Likewise.
* kern/task.c (task_init): Likewise.
* kern/thread.c (thread_init): Likewise.
* kern/zalloc.c (zone_bootstrap): Likewise.
* vm/vm_external.c (vm_external_module_initialize): Likewise.
* vm/vm_fault.c (vm_fault_init): Likewise.
* vm/vm_map.c (vm_map_init): Likewise.
* vm/vm_object.c (vm_object_bootstrap): Likewise.
* vm/vm_resident.c (vm_page_module_init): Likewise.
Diffstat (limited to 'kern/zalloc.h')
-rw-r--r-- | kern/zalloc.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/kern/zalloc.h b/kern/zalloc.h index 9e44a6d1..3f9bf217 100644 --- a/kern/zalloc.h +++ b/kern/zalloc.h @@ -59,6 +59,7 @@ struct zone { vm_size_t cur_size; /* current memory utilization */ vm_size_t max_size; /* how large can this zone grow */ vm_size_t elem_size; /* size of an element */ + vm_size_t align; /* alignment of elements */ vm_size_t alloc_size; /* size used for more memory */ boolean_t doing_alloc; /* is zone expanding now? */ char *zone_name; /* a name for the zone */ @@ -71,8 +72,8 @@ typedef struct zone *zone_t; #define ZONE_NULL ((zone_t) 0) /* Exported to everyone */ -zone_t zinit(vm_size_t size, vm_size_t max, vm_size_t alloc, - unsigned int memtype, char *name); +zone_t zinit(vm_size_t size, vm_size_t align, vm_size_t max, + vm_size_t alloc, unsigned int memtype, char *name); vm_offset_t zalloc(zone_t zone); vm_offset_t zget(zone_t zone); void zfree(zone_t zone, vm_offset_t elem); |