File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff 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
You can’t perform that action at this time.
0 commit comments