diff options
author | Warren Baker <warren@decoy.co.za> | 2015-01-14 13:09:31 +0200 |
---|---|---|
committer | Renato Botelho <garga@FreeBSD.org> | 2015-01-14 09:23:11 -0200 |
commit | 9eec3be339805c5f276500331c410fa18cc9bd5f (patch) | |
tree | 90e16dae46e7b322afc061f83f9de2fa90ba52f8 /etc | |
parent | 3a56c1466340d09e23f91e2917ac93a75141d68a (diff) | |
download | pfsense-9eec3be339805c5f276500331c410fa18cc9bd5f.zip pfsense-9eec3be339805c5f276500331c410fa18cc9bd5f.tar.gz |
Correctly handle number of cores and power of 2. Merged from the package already had this. Fixes #4212
Diffstat (limited to 'etc')
-rw-r--r-- | etc/inc/unbound.inc | 22 |
1 files changed, 9 insertions, 13 deletions
diff --git a/etc/inc/unbound.inc b/etc/inc/unbound.inc index 20ed19b..a9aaabd 100644 --- a/etc/inc/unbound.inc +++ b/etc/inc/unbound.inc @@ -60,23 +60,19 @@ function unbound_optimization() { * Use 1 to disable threading, if for some reason this sysctl fails. */ $numprocs = intval(get_single_sysctl('kern.smp.cpus')); - if ($numprocs > 0) + if ($numprocs > 1) { $optimization['number_threads'] = "num-threads: {$numprocs}"; - else + $optimize_num = pow(2,floor(log($numprocs,2))); + } else { $optimization['number_threads'] = "num-threads: 1"; + $optimize_num = 4; + } // Slabs to help reduce lock contention. - if ($numprocs > 4) { - $optimization['msg_cache_slabs'] = "msg-cache-slabs: {$numprocs}"; - $optimization['rrset_cache_slabs'] = "rrset-cache-slabs: {$numprocs}"; - $optimization['infra_cache_slabs'] = "infra-cache-slabs: {$numprocs}"; - $optimization['key_cache_slabs'] = "key-cache-slabs: {$numprocs}"; - } else { - $optimization['msg_cache_slabs'] = "msg-cache-slabs: 4"; - $optimization['rrset_cache_slabs'] = "rrset-cache-slabs: 4"; - $optimization['infra_cache_slabs'] = "infra-cache-slabs: 4"; - $optimization['key_cache_slabs'] = "key-cache-slabs: 4"; - } + $optimization['msg_cache_slabs'] = "msg-cache-slabs: {$optimize_num}"; + $optimization['rrset_cache_slabs'] = "rrset-cache-slabs: {$optimize_num}"; + $optimization['infra_cache_slabs'] = "infra-cache-slabs: {$optimize_num}"; + $optimization['key_cache_slabs'] = "key-cache-slabs: {$optimize_num}"; // Size of the RRset cache $optimization['rrset_cache_size'] = "rrset-cache-size: 8m"; |