Mercurial > hg > nginx-quic
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 } |