the apache ebuild is missing of two important options: 1- use of APR hardaware atomic operations: --enable-nonportable-atomics=yes 2- missing of the CFLAG: -DDYNAMIC_MODULE_LIMIT=0 during compilation of the static modules the first option is very critical, because by default, apache compile itself with the compatible APR ABI, which provice only "software atomic operations", losing all the advantages that come from modern CPU(s) with "hardware atomic operations". "APR hardware atomic operations" are very important on high-traffic webservers, because they do the difference: lower CPU utilization and higher concurrency. Actualy gentoo apache do not scale very well on very load webservers, the attached patch correct the problem. the second option it's not critical, but can save some RAM usage when people are using static modules. ATTENTION: i have tested the patch only on x86 machines and work very well, but i do not have SPARC/PPC machines, so before to apply the patch to the stable branch, do an appropriate testing. SPARC/PPC will have a great performance improvements with atomic hardware operations. some useful reference: http://httpd.apache.org/docs/2.0/misc/perf-tuning.html Reproducible: Always Steps to Reproduce:
Created attachment 108627 [details, diff] apache-2.0.58.patch
Created attachment 122239 [details, diff] BerkeleyDB-0.31.ebuild.patch a more cleaned patch as required by Flameeyes (thank you for the support).
please ignore my last msg. sorry for the noise.
apr-1.2.8 uses nonportable atomics by default if available on the target architecture. i don't think -DDYNAMIC_MODULE_LIMIT=0 is a good idea because you should still be able to link external modules into apach at run-time even if all upstream modules have been linked statically...