pike.git/
src/
block_allocator.c
Branch:
Tag:
Non-build tags
All tags
No tags
2012-02-09
2012-02-09 13:29:48 by Arne Goedeke <el@laramies.com>
d947bccc705b840268e43d211ceab8dbf29a7470 (
12
lines) (+
11
/-
1
)
[
Show
|
Annotate
]
Branch:
arne/block_alloc
macro based alignment
85:
} }
+
//#define BA_ALIGNMENT 8
+
PMOD_EXPORT INLINE void ba_init(struct block_allocator * a, uint32_t block_size, ba_page_t blocks) {
-
uint32_t page_size
= block_size * blocks
;
+
uint32_t page_size;
-
+
#ifdef BA_ALIGNMENT
+
if (block_size & (BA_ALIGNMENT - 1))
+
block_size += (BA_ALIGNMENT - (block_size & (BA_ALIGNMENT - 1)));
+
#endif
+
+
page_size = block_size * blocks;
+
a->first = NULL; a->last_free = NULL; a->last_free_num = 0;