| Age | Commit message (Collapse) | Author | Files | Lines | |
|---|---|---|---|---|---|
| 2017-08-08 | Slab: fixed initialization on win32. | Ruslan Ermilov | 1 | -10/+13 | |
| 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. | |||||
| 2017-07-04 | Slab: fixed small allocations on systems with large pagesize. | Ruslan Ermilov | 1 | -4/+13 | |
| Notably, on ppc64 with 64k pagesize, slab 0 (of size 8) requires 128 64-bit elements for bitmasks. The code bogusly assumed that one uintptr_t is enough for bitmasks plus at least one free slot. | |||||
| 2017-07-04 | Slab: style. | Ruslan Ermilov | 1 | -10/+10 | |
| 2016-12-24 | Win32: support 64-bit compilation with MSVC. | Maxim Dounin | 1 | -3/+3 | |
| There are lots of C4244 warnings (conversion from 'type1' to 'type2', possible loss of data), so they were disabled. The same applies to C4267 warnings (conversion from 'size_t' to 'type', possible loss of data), most notably - conversion from ngx_str_t.len to ngx_variable_value_t.len (which is unsigned:28). Additionally, there is at least one case when it is not possible to fix the warning properly without introducing win32-specific code: recv() on win32 uses "int len", while POSIX defines "size_t len". The ssize_t type now properly defined for 64-bit compilation with MSVC. Caught by warning C4305 (truncation from '__int64' to 'ssize_t'), on "cutoff = NGX_MAX_SIZE_T_VALUE / 10" in ngx_atosz()). Several C4334 warnings (result of 32-bit shift implicitly converted to 64 bits) were fixed by adding explicit conversions. Several C4214 warnings (nonstandard extension used: bit field types other than int) in ngx_http_script.h fixed by changing bit field types from uintptr_t to unsigned. | |||||
| 2016-12-08 | Slab: commented bitmap initialization for small allocations. | Ruslan Ermilov | 1 | -0/+1 | |
| 2016-12-07 | Slab: free pages statistics. | Ruslan Ermilov | 1 | -0/+5 | |
| 2016-12-07 | Slab: slots statistics. | Ruslan Ermilov | 1 | -11/+46 | |
| For each slot, the number of total and used entries, as well as the number of allocation requests and failures, are tracked. | |||||
| 2016-12-07 | Slab: simplified some math. | Ruslan Ermilov | 1 | -17/+12 | |
| No functional changes. | |||||
| 2016-12-07 | Slab: simplified allocation from slots. | Ruslan Ermilov | 1 | -79/+61 | |
| Removed code that would cause an endless loop, and removed condition check that is always false. The first page in the slot list is guaranteed to satisfy an allocation. | |||||
| 2016-12-07 | Slab: fixed the number of pages calculation. | Ruslan Ermilov | 1 | -0/+1 | |
| When estimating the number of pages, do not count memory for slots. In some cases this gives one extra usable memory page. | |||||
| 2016-12-07 | Slab: added comment about list heads. | Ruslan Ermilov | 1 | -1/+4 | |
| 2016-12-07 | Slab: improved code readability. | Ruslan Ermilov | 1 | -54/+49 | |
| No functional changes. | |||||
| 2016-12-03 | Slab: improved double free detection. | Ruslan Ermilov | 1 | -1/+1 | |
| Previously, an attempt to double free the starting page of the free range was not detected. | |||||
| 2016-12-03 | Slab: always show the requested allocation size in debug messages. | Ruslan Ermilov | 1 | -1/+0 | |
| Previously, allocations smaller than min_size were shown as min_size. | |||||
| 2016-12-03 | Slab: style. | Ruslan Ermilov | 1 | -3/+3 | |
| Removed redundant parentheses. No functional changes. | |||||
| 2016-03-31 | Fixed logging. | Sergey Kandaurov | 1 | -1/+2 | |
| 2016-03-30 | Style. | Ruslan Ermilov | 1 | -4/+4 | |
| 2014-06-18 | Core: bugfix for the ngx_slab_max_size case. | Jianjun Zheng | 1 | -1/+1 | |
| 2014-06-04 | Core: added ngx_slab_calloc() and ngx_slab_calloc_locked(). | Ruslan Ermilov | 1 | -0/+29 | |
| These functions return zeroed memory, analogous to ngx_pcalloc(). | |||||
| 2014-06-03 | Core: slab allocator free pages defragmentation. | Maxim Dounin | 1 | -1/+59 | |
| 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-31 | Core: slab log_nomem flag. | Maxim Dounin | 1 | -1/+5 | |
| 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. | |||||
| 2013-09-04 | Handling of ngx_int_t != intptr_t case. | Maxim Dounin | 1 | -1/+2 | |
| Casts between pointers and integers produce warnings on size mismatch. To silence them, cast to (u)intptr_t should be used. Prevoiusly, casts to ngx_(u)int_t were used in some cases, and several ngx_int_t expressions had no casts. As of now it's mostly style as ngx_int_t is defined as intptr_t. | |||||
| 2012-08-30 | Fixed overflow if ngx_slab_alloc() is called with very big "size" argument. | Ruslan Ermilov | 1 | -2/+2 | |
| 2012-07-26 | Reduced the number of preprocessor directives. | Ruslan Ermilov | 1 | -5/+1 | |
| 2012-01-18 | Copyright updated. | Maxim Konovalov | 1 | -0/+1 | |
| 2011-10-24 | Using of junk value in slab allocator similar to modern FreeBSD values. | Igor Sysoev | 1 | -2/+2 | |
| 2011-10-24 | malloc() debugging on MacOSX. | Igor Sysoev | 1 | -2/+2 | |
| 2009-04-15 | fix building by BCC without NGX_DEBUG_MALLOC | Igor Sysoev | 1 | -2/+2 | |
| 2009-03-27 | improve ngx_slab_alloc() error logging | Igor Sysoev | 1 | -12/+22 | |
| 2009-03-27 | delete old debugging and info | Igor Sysoev | 1 | -23/+0 | |
| 2009-01-25 | fix slab page or more sized allocations if nginx was build without debug | Igor Sysoev | 1 | -5/+0 | |
| 2009-01-12 | style fix | Igor Sysoev | 1 | -1/+1 | |
| 2007-12-22 | take MALLOC_OPTIONS=J into account in slab allocator | Igor Sysoev | 1 | -1/+14 | |
| 2007-11-16 | the simple expression has the same precision without overflow | Igor Sysoev | 1 | -4/+1 | |
| 2007-01-11 | fix slab allocator on 64-bit platfroms | Igor Sysoev | 1 | -2/+2 | |
| 2007-01-11 | fix slab allocator on 64-bit platfroms | Igor Sysoev | 1 | -7/+8 | |
| 2007-01-02 | style fix | Igor Sysoev | 1 | -1/+1 | |
| 2007-01-02 | many bug fixes and ngx_slab_alloc_locked()/ngx_slab_free_locked() | Igor Sysoev | 1 | -26/+48 | |
| 2006-11-27 | fix building on 64-bit platforms | Igor Sysoev | 1 | -4/+4 | |
| 2006-11-20 | slab allocator in shared memory | Igor Sysoev | 1 | -2/+676 | |
| 2006-10-28 | undo the previous wrong commit | Igor Sysoev | 1 | -35/+2 | |
| 2006-10-28 | bad commit | Igor Sysoev | 1 | -2/+35 | |
| 2004-09-29 | nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyright | Igor Sysoev | 1 | -1/+1 | |
| 2004-09-28 | nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files | Igor Sysoev | 1 | -2/+5 | |
| 2004-06-16 | nginx-0.0.7-2004-06-16-23:36:07 import | Igor Sysoev | 1 | -0/+8 | |
