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.

Attachment: httpd_trunk_SO_REUSEPORT_fix.patch
Description: httpd_trunk_SO_REUSEPORT_fix.patch

Reply via email to