comparison src/core/ngx_slab.c @ 6829:6e757036e588

Slab: free pages statistics.
author Ruslan Ermilov <ru@nginx.com>
date Wed, 07 Dec 2016 22:25:37 +0300
parents 99770a5ea14f
children 6eed5ed31e22
comparison
equal deleted inserted replaced
6828:99770a5ea14f 6829:6e757036e588
152 pages -= m; 152 pages -= m;
153 page->slab = pages; 153 page->slab = pages;
154 } 154 }
155 155
156 pool->last = pool->pages + pages; 156 pool->last = pool->pages + pages;
157 pool->pfree = pages;
157 158
158 pool->log_nomem = 1; 159 pool->log_nomem = 1;
159 pool->log_ctx = &pool->zero; 160 pool->log_ctx = &pool->zero;
160 pool->zero = '\0'; 161 pool->zero = '\0';
161 } 162 }
689 690
690 page->slab = pages | NGX_SLAB_PAGE_START; 691 page->slab = pages | NGX_SLAB_PAGE_START;
691 page->next = NULL; 692 page->next = NULL;
692 page->prev = NGX_SLAB_PAGE; 693 page->prev = NGX_SLAB_PAGE;
693 694
695 pool->pfree -= pages;
696
694 if (--pages == 0) { 697 if (--pages == 0) {
695 return page; 698 return page;
696 } 699 }
697 700
698 for (p = page + 1; pages; pages--) { 701 for (p = page + 1; pages; pages--) {
719 ngx_slab_free_pages(ngx_slab_pool_t *pool, ngx_slab_page_t *page, 722 ngx_slab_free_pages(ngx_slab_pool_t *pool, ngx_slab_page_t *page,
720 ngx_uint_t pages) 723 ngx_uint_t pages)
721 { 724 {
722 ngx_slab_page_t *prev, *join; 725 ngx_slab_page_t *prev, *join;
723 726
727 pool->pfree += pages;
728
724 page->slab = pages--; 729 page->slab = pages--;
725 730
726 if (pages) { 731 if (pages) {
727 ngx_memzero(&page[1], pages * sizeof(ngx_slab_page_t)); 732 ngx_memzero(&page[1], pages * sizeof(ngx_slab_page_t));
728 } 733 }