Hi Yann, Am 20.02.2017 um 16:38 schrieb Yann Ylavic: > On Wed, Feb 15, 2017 at 8:53 PM, Stefan Priebe - Profihost AG > <s.pri...@profihost.ag> wrote: >> >> still no segfaults. > > Great! > >> >> @Yann >> Are those patches (the addon on top of v7) and the one on top of mod_ssl >> still correct / needed? > > I think so, but maybe I'm a bit lost (see below)... > >> >> Am 15.02.2017 um 12:45 schrieb Stefan Priebe - Profihost AG: >>> >>> Am 15.02.2017 um 12:19 schrieb Yann Ylavic: >>>> >>>> Is this with or without the mpm_event's wakeup and/or allocator patches? >>> >>> it's with the mpm_event_listener_wakeup_bug57399_V7 + > > Does this includes any change besides v7 from bugzilla?
Yes but just the ones mentioned below. I think i'll wait for v1.9.1 + MPM v8 which may include your patch for mod_http2 as well? Stefan? Stefan > > Also finally... I really wish we had something like v6 in mpm_event, > these locks around pollset operations seem really unnecessary to me > (and likely not good performance wise). > I think the (very unlikely) race mentioned in > https://svn.apache.org/r1779354 could be addressed in the listener > itself (while processing the queues, lock held) rather than every > worker. > > I you could try the v8 I'll try to propose soon it would be really > nice of you (as usual ;) > >>> >>> --- a/build/httpd/server/mpm/event/event.c (revision 1776076) >>> +++ b/build/httpd/server/mpm/event/event.c (working copy) > > This one is needed I think, I was waiting for your feedbacks since it > mainly affects http2. > Everything looking good, I just committed it to trunk (r1783755), the > final patch would be [1]. > > I also committed the corresponding changes in mod_http2 (r1783756) > which don't seem to be in v1.9.0, so you may need [2] and [3] too. > >>> >>> Index: a/build/httpd/modules/ssl/ssl_engine_io.c >>> =================================================================== >>> --- a/build/httpd/modules/ssl/ssl_engine_io.c (revision 1781324) >>> +++ b/build/httpd/modules/ssl/ssl_engine_io.c (working copy) > > This one is in trunk already (r1781582), but without this change: > >>> - if (APR_BUCKET_IS_METADATA(bucket)) { >>> + if (APR_BUCKET_IS_METADATA(bucket) || !filter_ctx->pssl) { > > So I'd suggest to use [4] instead. > No harm, though, this case cannot happen in current httpd, but as > discussed in another thread we should handle it another way. > > > To conclude, I think you should be using: httpd-2.4.25 + > mod_http-v1.9.0 + PR57399-v7.patch + [1] + [2] + [3] + [4]. > > Other than PR57399-v7, they are all in trunk now, so hopefully it will > be easier to talk about them (e.g. with revision number). > > Regards, > Yann. > > > [1] > http://svn.apache.org/viewvc/httpd/httpd/trunk/server/mpm/event/event.c?r1=1783755&r2=1783754&pathrev=1783755&view=patch > (from r1783755) > [2] > http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/http2/h2_mplx.c?rev=1783756&r1=1783755&r2=1783756&view=diff > (from r1783756) > [3] > http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/http2/h2_conn.c?rev=1783756&r1=1783755&r2=1783756&view=diff > (from r1783756) > [4] > http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/ssl/ssl_engine_io.c?r1=1781581&r2=1781582&pathrev=1781582&view=patch > (from r1781582). > > PS: I could not find a way for viewvc URLs above to express a single > diff for a whole revision change (e.g. [2] and [3] above are two files > changed in the same commit...). > With the svn client, it would be simply these three diffs: > [svn.1] svn diff -r 1783754:1783755 > http://svn.apache.org/repos/asf/httpd/httpd/trunk/ > [svn.2-3] svn diff -r 1783755:1783756 > http://svn.apache.org/repos/asf/httpd/httpd/trunk/ > [svn.4] svn diff -r 1781581:1781582 > http://svn.apache.org/repos/asf/httpd/httpd/trunk/ >