3 * Copyright (C) Igor Sysoev
7 #include <ngx_config.h>
11 ngx_uint_t ngx_pagesize
;
12 ngx_uint_t ngx_pagesize_shift
;
13 ngx_uint_t ngx_cacheline_size
;
17 ngx_alloc(size_t size
, ngx_log_t
*log
)
23 ngx_log_error(NGX_LOG_EMERG
, log
, ngx_errno
,
24 "malloc(%uz) failed", size
);
27 ngx_log_debug2(NGX_LOG_DEBUG_ALLOC
, log
, 0, "malloc: %p:%uz", p
, size
);
34 ngx_calloc(size_t size
, ngx_log_t
*log
)
38 p
= ngx_alloc(size
, log
);
48 #if (NGX_HAVE_POSIX_MEMALIGN)
51 ngx_memalign(size_t alignment
, size_t size
, ngx_log_t
*log
)
56 err
= posix_memalign(&p
, alignment
, size
);
59 ngx_log_error(NGX_LOG_EMERG
, log
, err
,
60 "posix_memalign(%uz, %uz) failed", alignment
, size
);
64 ngx_log_debug3(NGX_LOG_DEBUG_ALLOC
, log
, 0,
65 "posix_memalign: %p:%uz @%uz", p
, size
, alignment
);
70 #elif (NGX_HAVE_MEMALIGN)
73 ngx_memalign(size_t alignment
, size_t size
, ngx_log_t
*log
)
77 p
= memalign(alignment
, size
);
79 ngx_log_error(NGX_LOG_EMERG
, log
, ngx_errno
,
80 "memalign(%uz, %uz) failed", alignment
, size
);
83 ngx_log_debug3(NGX_LOG_DEBUG_ALLOC
, log
, 0,
84 "memalign: %p:%uz @%uz", p
, size
, alignment
);