Skip to content

Commit 4145ca4

Browse files
authored
Merge pull request #52 from sorc1/ssl-cache-usage-optimization
ssl_cache_usage optimizations & fixes
2 parents 5ae8243 + 775c54a commit 4145ca4

1 file changed

Lines changed: 4 additions & 11 deletions

File tree

src/ngx_http_graphite_module.c

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3355,20 +3355,13 @@ ngx_http_graphite_source_ssl_cache_usage(const ngx_http_graphite_source_t *sourc
33553355
ngx_shm_zone_t *shm_zone = SSL_CTX_get_ex_data(ssl_ctx, ngx_ssl_session_cache_index);
33563356
if (shm_zone) {
33573357
ngx_slab_pool_t *shpool = (ngx_slab_pool_t*)shm_zone->shm.addr;
3358+
ngx_uint_t all_pages = shpool->last - shpool->pages;
33583359

3359-
ngx_shmtx_lock(&shpool->mutex);
3360-
3361-
ngx_uint_t all_pages = (shpool->end - shpool->start) / ngx_pagesize;
3362-
ngx_uint_t free_pages = 0;
3363-
3364-
ngx_slab_page_t *page;
3365-
for (page = shpool->free.next; page != &shpool->free; page = page->next)
3366-
free_pages += page->slab;
3367-
3368-
ngx_shmtx_unlock(&shpool->mutex);
3360+
/* we don't call ngx_shmtx_lock(&shpool->mutex) as we read only single integer */
3361+
ngx_uint_t free_pages = shpool->pfree;
33693362

33703363
if (all_pages > 0)
3371-
usage = (100 * (all_pages - free_pages)) / all_pages;
3364+
usage = ((double)all_pages - free_pages) / all_pages * 100;
33723365
}
33733366
}
33743367
#endif

0 commit comments

Comments
 (0)