Added ngx_ncpu detection for most *nix platforms.

This inaccurate detection by using sysconf(_SC_NPROCESSORS_ONLN) can improve
usage of the mutex lock optimization on multicore systems.
This commit is contained in:
Valentin Bartenev 2012-02-10 11:24:19 +00:00
parent 9e8708cbd6
commit 891b43db32
2 changed files with 16 additions and 0 deletions

View File

@ -721,3 +721,13 @@ ngx_feature_path=
ngx_feature_libs= ngx_feature_libs=
ngx_feature_test="struct dirent dir; dir.d_type = DT_REG" ngx_feature_test="struct dirent dir; dir.d_type = DT_REG"
. auto/feature . auto/feature
ngx_feature="sysconf(_SC_NPROCESSORS_ONLN)"
ngx_feature_name="NGX_HAVE_SC_NPROCESSORS_ONLN"
ngx_feature_run=no
ngx_feature_incs=
ngx_feature_path=
ngx_feature_libs=
ngx_feature_test="sysconf(_SC_NPROCESSORS_ONLN)"
. auto/feature

View File

@ -47,7 +47,13 @@ ngx_os_init(ngx_log_t *log)
for (n = ngx_pagesize; n >>= 1; ngx_pagesize_shift++) { /* void */ } for (n = ngx_pagesize; n >>= 1; ngx_pagesize_shift++) { /* void */ }
#if (NGX_HAVE_SC_NPROCESSORS_ONLN)
if (ngx_ncpu == 0) { if (ngx_ncpu == 0) {
ngx_ncpu = sysconf(_SC_NPROCESSORS_ONLN);
}
#endif
if (ngx_ncpu < 1) {
ngx_ncpu = 1; ngx_ncpu = 1;
} }