static gsize
pool_chain_free (struct _pool_chain *chain)
{
- gint64 occupied = chain->pos - chain->begin + MEM_ALIGNMENT;
+ gint64 occupied = chain->pos - chain->begin + MIN_MEM_ALIGNMENT;
return (occupied < (gint64)chain->slice_size ?
chain->slice_size - occupied : 0);
rspamd_mempool_chain_new (gsize size, enum rspamd_mempool_chain_type pool_type)
{
struct _pool_chain *chain;
- gsize total_size = size + sizeof (struct _pool_chain) + MEM_ALIGNMENT,
+ gsize total_size = size + sizeof (struct _pool_chain) + MIN_MEM_ALIGNMENT,
optimal_size = 0;
gpointer map;
g_atomic_int_inc (&mem_pool_stat->chunks_allocated);
}
- chain->pos = align_ptr (chain->begin, MEM_ALIGNMENT);
+ chain->pos = align_ptr (chain->begin, MIN_MEM_ALIGNMENT);
chain->slice_size = total_size - sizeof (struct _pool_chain);
chain->lock = NULL;
static void *
memory_pool_alloc_common (rspamd_mempool_t * pool, gsize size,
enum rspamd_mempool_chain_type pool_type)
-RSPAMD_ATTR_ALLOC_SIZE(2) RSPAMD_ATTR_ALLOC_ALIGN(MEM_ALIGNMENT) RSPAMD_ATTR_RETURNS_NONNUL;
+RSPAMD_ATTR_ALLOC_SIZE(2) RSPAMD_ATTR_ALLOC_ALIGN(MIN_MEM_ALIGNMENT) RSPAMD_ATTR_RETURNS_NONNUL;
static void *
memory_pool_alloc_common (rspamd_mempool_t * pool, gsize size,
if (cur == NULL || free < size) {
/* Allocate new chain element */
- if (pool->elt_len >= size + MEM_ALIGNMENT) {
+ if (pool->elt_len >= size + MIN_MEM_ALIGNMENT) {
pool->entry->elts[pool->entry->cur_elts].fragmentation += size;
new = rspamd_mempool_chain_new (pool->elt_len,
pool_type);
}
/* No need to allocate page */
- tmp = align_ptr (cur->pos, MEM_ALIGNMENT);
+ tmp = align_ptr (cur->pos, MIN_MEM_ALIGNMENT);
cur->pos = tmp + size;
POOL_MTX_UNLOCK ();
#define MEMPOOL_TAG_LEN 20
#define MEMPOOL_UID_LEN 20
-#define MEM_ALIGNMENT sizeof (guint64)
+#define MIN_MEM_ALIGNMENT sizeof (guint64)
#define align_ptr(p, a) \
(guint8 *) (((uintptr_t) (p) + ((uintptr_t) a - 1)) & ~((uintptr_t) a - 1))
* @return pointer to allocated object
*/
void * rspamd_mempool_alloc (rspamd_mempool_t * pool, gsize size)
- RSPAMD_ATTR_ALLOC_SIZE(2) RSPAMD_ATTR_ALLOC_ALIGN(MEM_ALIGNMENT) RSPAMD_ATTR_RETURNS_NONNUL;
+ RSPAMD_ATTR_ALLOC_SIZE(2) RSPAMD_ATTR_ALLOC_ALIGN(MIN_MEM_ALIGNMENT) RSPAMD_ATTR_RETURNS_NONNUL;
/**
* Get memory from temporary pool
* @return pointer to allocated object
*/
void * rspamd_mempool_alloc0 (rspamd_mempool_t * pool, gsize size)
- RSPAMD_ATTR_ALLOC_SIZE(2) RSPAMD_ATTR_ALLOC_ALIGN(MEM_ALIGNMENT) RSPAMD_ATTR_RETURNS_NONNUL;
+ RSPAMD_ATTR_ALLOC_SIZE(2) RSPAMD_ATTR_ALLOC_ALIGN(MIN_MEM_ALIGNMENT) RSPAMD_ATTR_RETURNS_NONNUL;
/**
* Get memory and set it to zero
* @return pointer to newly created string that is copy of src
*/
gchar * rspamd_mempool_strdup (rspamd_mempool_t * pool, const gchar *src)
- RSPAMD_ATTR_ALLOC_ALIGN(MEM_ALIGNMENT);
+ RSPAMD_ATTR_ALLOC_ALIGN(MIN_MEM_ALIGNMENT);
/**
* Make a copy of fixed string in pool as null terminated string
* @return pointer to newly created string that is copy of src
*/
gchar * rspamd_mempool_fstrdup (rspamd_mempool_t * pool,
- const struct f_str_s *src) RSPAMD_ATTR_ALLOC_ALIGN(MEM_ALIGNMENT);
+ const struct f_str_s *src) RSPAMD_ATTR_ALLOC_ALIGN(MIN_MEM_ALIGNMENT);
struct f_str_tok;
* @return pointer to newly created string that is copy of src
*/
gchar * rspamd_mempool_ftokdup (rspamd_mempool_t *pool,
- const struct f_str_tok *src) RSPAMD_ATTR_ALLOC_ALIGN(MEM_ALIGNMENT);
+ const struct f_str_tok *src) RSPAMD_ATTR_ALLOC_ALIGN(MIN_MEM_ALIGNMENT);
/**
* Allocate piece of shared memory
* @param size bytes to allocate
*/
void * rspamd_mempool_alloc_shared (rspamd_mempool_t * pool, gsize size)
- RSPAMD_ATTR_ALLOC_SIZE(2) RSPAMD_ATTR_ALLOC_ALIGN(MEM_ALIGNMENT) RSPAMD_ATTR_RETURNS_NONNUL;
+ RSPAMD_ATTR_ALLOC_SIZE(2) RSPAMD_ATTR_ALLOC_ALIGN(MIN_MEM_ALIGNMENT) RSPAMD_ATTR_RETURNS_NONNUL;
void * rspamd_mempool_alloc0_shared (rspamd_mempool_t *pool, gsize size)
- RSPAMD_ATTR_ALLOC_SIZE(2) RSPAMD_ATTR_ALLOC_ALIGN(MEM_ALIGNMENT) RSPAMD_ATTR_RETURNS_NONNUL;
+ RSPAMD_ATTR_ALLOC_SIZE(2) RSPAMD_ATTR_ALLOC_ALIGN(MIN_MEM_ALIGNMENT) RSPAMD_ATTR_RETURNS_NONNUL;
/**
* Add destructor callback to pool
* @param pool memory pool object