In latest environment epoll unstable or slow (kernel+glibc versions related? not too test). Suggested "epoll" to be moved into USE. I am too complex changing environment - kernel+glibc, then not too sure. In 2.6.27 + glibc-2.8_p20080602 squid was dead sleep, in 2.6.28 + 2.7-r2 ("way to destruction") - only temporary light sleeps. Universal solution - "--disable-epoll". Squid - 2.7 & 3.0. Then I suggest to add "epoll" into USE flags and disable by default. There are squid-3.1.0.2 ebuild (without ZPH & kerberos) with USE example. Reproducible: Always
Created attachment 172293 [details] squid-3.1.0.2.ebuild
Created attachment 172294 [details, diff] squid-3.1.0.2-gentoo.patch
Created attachment 172379 [details] squid-3.1.0.2.ebuild
Created attachment 172413 [details] squid-3.1.0.2.20081119.ebuild (kerberos at least compiled)
Created attachment 172415 [details, diff] squid-3.1.0.2.20081119-gentoo.patch
Created attachment 172524 [details] squid-3.1.0.2.20081119.ebuild
Created attachment 172700 [details] squid-3.1.0.2.20081119.ebuild (+locales)
Created attachment 173476 [details] rename for at least 20081126 (but same unstable)
Created attachment 173478 [details] squid-3.1.0.2.20081119.ebuild
Created attachment 173596 [details] rename 20081119 patch
Created attachment 173597 [details, diff] Bugfix from cvs. May be (?) for releases too (I will no test).
Created attachment 173609 [details] squid-3.1.0.2.20081127.ebuild (+deprecated locales)
Created attachment 173766 [details] squid-3.1.0.2.20081129.ebuild (simplifyed, RC)
Fixed in versions 2.7.5-r1 3.0.10-r1 by adding epoll and kqueue USE flags.
Also fixed in latest kernel 2.6.28 (Dec 1 13:13:55 2008). I use: echo 8192 >/proc/sys/fs/epoll/max_user_watches I am not sure in this (8192) value, just equal to max file handles. You may add this into squid startup script or calculate more correct value.