Hi Yann, Thanks very much for your feedback. Attached is another update. Please review.
To address your first comment, the issue with pconf pool is that bucket array value needs to be retained via restart and graceful restart. Based on your comments, I now put bucket array into the retained_data struct for all the mpms. Hope this works. Regarding to your second question, based on previous patch code, num_buckets is calculated based on the active CPU threads count. I am thinking maybe it is better to do the calculation based on total number of CPU threads instead. This keeps num_buckets to be a constant number as long as the system is running. That is the reason I now change CPU thread count check from _SC_NPROCESSORS_ONLN to _SC_NPROCESSORS_CONF. Please review and let me know your feedback. Thanks, Yingqi -----Original Message----- From: Yann Ylavic [mailto:[email protected]] Sent: Sunday, October 05, 2014 12:20 PM To: httpd Subject: Re: svn commit: r1599531 - in /httpd/httpd/trunk: CHANGES include/ap_listen.h server/listen.c server/mpm/event/event.c server/mpm/prefork/prefork.c server/mpm/worker/worker.c server/mpm_unix.c Hi Yingqi, On Sun, Oct 5, 2014 at 8:38 PM, Lu, Yingqi <[email protected]> wrote: > Here (attachment) is the most recent version of the fix. It fixes a > small issue for event mpm in the version I sent out yesterday. Please > use this one as the final fix. I have already updated the Bugzilla > database for "Bug 55897 - [PATCH]patch with SO_REUSEPORT support" > I don't think we can use the process pool for allocations on restart, even if it does not occur on graceful restart, there is still non-graceful restarts that will cause leaks. What was excactly the issue with using pconf? > 4. Change CPU thread count check from _SC_NPROCESSORS_ONLN to > _SC_NPROCESSORS_CONF. This makes sure num_buckets to be a constant as long as > the system is running. This change addresses the use case like: A user > offline some of the CPU threads and then restart httpd. In this case, I think > we need to make sure num_buckets does not change during the restart. Why would httpd always ignore offline CPUs and not take that into account on restarts (at least non-graceful ones)? Regards, Yann.
httpd_trunk_SO_REUSEPORT_fix.patch
Description: httpd_trunk_SO_REUSEPORT_fix.patch
