Hi,

On Sun, May 28, 2017 at 8:38 PM, Stefan Priebe - Profihost AG
<s.pri...@profihost.ag> wrote:
> Hi Luca,
>
> Am 27.05.2017 um 09:10 schrieb Luca Toscano:
>> Hi Jim,
>>
>> 2017-05-25 14:23 GMT+02:00 Jim Jagielski <j...@jagunet.com
>> <mailto:j...@jagunet.com>>:
>>
>>     Until a proposal in in STATUS (and apologies if it is), its
>>     suitability for 2.4.x is a big unknown.
>>
>>
>> you are completely right, afaik the last patch tested by Stefan Priebe
>> was https://bz.apache.org/bugzilla/attachment.cgi?id=34641&action=diff
>> (Stefan correct me if I am wrong).
>
> Yes that's right. Yann told something about a V8 coming soon but that's
> weeks ago. V7 seems to run fine. Currently running on nearly 2000 vms.

V7 proposed for backport to 2.4.x.

I called it v7.1 because of the following added hunk.
This removed code was 2.4 specific (not in trunk) and already handled
above (before the poll), so I don't see why we'd lock
g_timer_skiplist_mtx one more time here instead of waiting for the
next loop (and accurate timeout now thanks to wakeup).

@@ -1632,21 +1765,6 @@ static void * APR_THREAD_FUNC listener_thread(apr_
                 break;
         }

-        now = apr_time_now();
-        apr_thread_mutex_lock(g_timer_skiplist_mtx);
-        ep = apr_skiplist_peek(timer_skiplist);
-        while (ep) {
-            if (ep->when < now + EVENT_FUDGE_FACTOR) {
-                apr_skiplist_pop(timer_skiplist, NULL);
-                push_timer2worker(ep);
-            }
-            else {
-                break;
-            }
-            ep = apr_skiplist_peek(timer_skiplist);
-        }
-        apr_thread_mutex_unlock(g_timer_skiplist_mtx);
-
         while (num) {
             pt = (listener_poll_type *) out_pfd->client_data;
             if (pt->type == PT_CSD) {

>
>> If I remember correctly it might be possible that some commits were not
>> necessary since they were made as a test to remove segfaults that we
>> discovered due to other things. I'll wait Yann's feedback but if anybody
>> wants to check the patch it would be really great.

V7 is all we need for now, the other changes relative to ptrans
allocator should be (and are now) addressed in mod_http2 (not really
needed for HTTP/1 handling).

Regarding v8, this is possibly an optimization to avoid external
locking when adding or removing events from the pollset, but it
introduces some race conditions which should be addressed before I
propose something.


Regards,
Yann.

Reply via email to