summaryrefslogtreecommitdiffhomepage
path: root/src/core/ngx_slab.h (follow)
AgeCommit message (Collapse)AuthorFilesLines
2017-08-08Slab: fixed initialization on win32.Ruslan Ermilov1-0/+1
On Windows, a worker process does not call ngx_slab_init() from ngx_init_zone_pool(), so ngx_slab_max_size, ngx_slab_exact_size, and ngx_slab_exact_shift were left uninitialized.
2016-12-07Slab: free pages statistics.Ruslan Ermilov1-0/+1
2016-12-07Slab: slots statistics.Ruslan Ermilov1-0/+11
For each slot, the number of total and used entries, as well as the number of allocation requests and failures, are tracked.
2014-06-04Core: added ngx_slab_calloc() and ngx_slab_calloc_locked().Ruslan Ermilov1-0/+2
These functions return zeroed memory, analogous to ngx_pcalloc().
2014-06-03Core: slab allocator free pages defragmentation.Maxim Dounin1-0/+1
Large allocations from a slab pool result in free page blocks being fragmented, eventually leading to a situation when no further allocation larger than a page size are possible from the pool. While this isn't a problem for nginx itself, it is known to be bad for various 3rd party modules. Fix is to merge adjacent blocks of free pages in the ngx_slab_free_pages() function. Prodded by Wandenberg Peixoto and Yichun Zhang.
2014-03-31Core: slab log_nomem flag.Maxim Dounin1-0/+2
The flag allows to suppress "ngx_slab_alloc() failed: no memory" messages from a slab allocator, e.g., if an LRU expiration is used by a consumer and allocation failures aren't fatal. The flag is now used in the SSL session cache code, and in the limit_req module.
2012-01-18Copyright updated.Maxim Konovalov1-0/+1
2011-11-23Added shmtx interface to forcibly unlock mutexes.Maxim Dounin1-1/+1
It is currently used from master process on abnormal worker termination to unlock accept mutex (unlocking of accept mutex was broken in 1.0.2). It is expected to be used in the future to unlock other mutexes as well. Shared mutex code was rewritten to make this possible in a safe way, i.e. with a check if lock was actually held by the exited process. We again use pid to lock mutex, and use separate atomic variable for a count of processes waiting in sem_wait().
2009-06-02test that zone has the same addresses in different processesIgor Sysoev1-0/+1
2009-04-18support attaching to an existent Win32 shared memoryIgor Sysoev1-0/+2
2009-03-27improve ngx_slab_alloc() error loggingIgor Sysoev1-0/+3
2007-01-02many bug fixes and ngx_slab_alloc_locked()/ngx_slab_free_locked()Igor Sysoev1-0/+2
2006-11-20slab allocator in shared memoryIgor Sysoev1-18/+20
2004-09-29nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyrightIgor Sysoev1-1/+1
2004-09-28nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused filesIgor Sysoev1-0/+6
2004-06-16nginx-0.0.7-2004-06-16-23:36:07 importIgor Sysoev1-0/+37