memory pool allocation
nginxsantos
nginx-forum at nginx.us
Wed Apr 9 12:31:29 UTC 2014
Suppose, I am allocating a pool of greater than 4k(page size). Say for
example I am calling the function ngx_create_pool with 8096.
But, this function will set the max as 4095 even if it has allocated 8K. Not
sure, why is it being done like this.
p->max = (size < NGX_MAX_ALLOC_FROM_POOL) ? size :
NGX_MAX_ALLOC_FROM_POOL;
I know, I have created a pool with size 8K, now I am allocating say 4K
(4096) from this pool. I will call ngx_palloc with 4096. There we check if
(size <= pool->max) which in this case will not satisfy and it will go and
call ngx_palloc_large which inturn will allocate 4K.
This somehow is not sounding good. Why is ngx_create_pool putting a max
value of page size even when it is allocating more. It is not doing chaining
also.
Any expert opinions???
Thanks, Santos
Posted at Nginx Forum: http://forum.nginx.org/read.php?2,249161,249161#msg-249161
More information about the nginx
mailing list