Rebasing discussion here since this thread seems to be referenced in PR55897, and the discussion has somehow been forked and continued in [1].
[1]. http://mail-archives.apache.org/mod_mbox/httpd-dev/201410.mbox/%3c9acd5b67aac5594cb6268234cf29cf9aa37e9...@orsmsx113.amr.corp.intel.com%3E On Sat, Oct 11, 2014 at 1:55 AM, Lu, Yingqi <yingqi...@intel.com> wrote: > Attached patch is generated based on current trunk. It covers for > prefork/worker/event/eventopt MPM. The patch (modified) has now been applied to trunk with r1635521. On Thu, Oct 30, 2014 at 5:10 PM, Lu, Yingqi <yingqi...@intel.com> wrote: > As this is getting better, I am wondering if you guys have plan to put this > SO_REUSEPORT patch into the stable version. > If yes, do you have a rough timeline? The whole feature could certainly be proposed for 2.4.x since there is no (MAJOR) API change. On Thu, Nov 6, 2014 at 6:52 AM, Lu, Yingqi <yingqi...@intel.com> wrote: > I just took some testing on the most recent trunk version. > I found out that num_buckets is default to 1 (ListenCoresBucketsRatio is > default to 0). > Adding ListenCoresBucketsRatio is great since user can have control over this. > However, I am thinking it may be better to make this default at 8. This will > make the SO_REUSEPORT > support to be default enabled (8 buckets). (8 buckets with 64 CPU cores, lucky you...). Yes this change wrt to your original patch is documented in the commit message, including how change it to an opt-out. I chose the opt-in way because I almost always find it safer, especially for backports to stable. I have no strong opinion on this regarding trunk, though, could be an opt-out (easily) there. Let's see what others say on this and the backport to 2.4.x. Anyone? > In case users are not aware of this new ListenCoresBucketsRatio > configurable flag, they can still enjoy the performance benefits. Users with 64 cores available should always care about performances tuning ;) Btw, I wonder if there are other ways to take advantage of the listeners buckets (even with fewer cores). The other advantage of SO_REUSEPORT is that, provided that each child has its own listeners bucket, we can avoid the accept mutex lock (which also seemed yo be a bottleneck if I recall your original proposal's discussion correctly). Did you make any testing without the accept mutex and with a number of buckets equal to some reasonable ServerLimit (and then play with ThreadPerChild to reach the MaxClient/MaxRequestWorkers goal)? Regards, Yann.