httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christophe JAILLET <>
Subject Re: Is Apache getting too patchy?
Date Fri, 30 Oct 2015 06:05:47 GMT

Le 27/10/2015 17:27, Jacob Champion a écrit :
 >> The most exciting work on httpd for me has been Christophe Jaillet’s
 >> memory optimisation patches. With each patch the code gets cleaner
 >> and the server gets faster. We need more of this kind of stuff.
 > How would you improve the process and encourage those sorts of 
patches, then, from someone who _isn't_ in the httpd committers list? It 
seems to me that optimization needs to be done by experts in a codebase, 
not by newbies. And code cleanup is difficult when you don't already 
have a clear direction to push the code in.
 > --Jacob


I understand your point.
Personally, when I first looked at httpd, it was more or less in the same
spirit as what is done on the kernel Janitor project. This project is aimed
at cleaning and fixing potential issues in Linux kernel.
So I started looking at what could, according to me, be improved in httpd.

Not an easy task when, as you say, you don't have any direction to push.

To give you some ideas of what can be looked at easily by new comers:

    - Fix coding style issue: [1]
      (even if I don't really think that the 'indent' command line given 
      is that good. It generates way too much changes)
         --> See
    - Identify where standard C functions or apr_ or ap_ functions can 
be used
      in order to remove code duplication.
      If familiar with it, 'coccinelle' can be used for that.
         --> See PR 39518 or 42006 as some examples
    - Speedup/cleanup code
         --> See
    - Some parts of the server generate some HTML pages (in 
      mod_proxy_balancer...). The generated output does not always 
comply with
      the HTML standard and could be clean-up.
         --> See
    - Improve existing documentation [2]
    - Improve (or sometimes fix) code documentation generated with doxygen
    - Look at comments added by users in the online documentation and 
      patches to take these comments into account

    - Identify and improve memory usage. For that, you must first know and
      understand the way APR memory pools work.
         --> see PR 52648 or
    - Identify places where 'varbuf' could be used to improve memory usage
    - Fix compilation warning (if any)
    - Use and fix items reported by static analyzer such as cpp_check or 
    - Check bug reports in bugzilla, try to reproduce the issues, try the
      (sometimes) proposed patch. Mark bug reports with the 'PatchAvailable'
      keyword when it is missing
    - Look at differences between trunk and 2.4.x branch to identify and 
      what can be backported. The closer they are, the easier it will be to
      backport other proposals

    - Write tests to add in the test framework [3]

It could also be a good idea to tag some bugzilla reports with something 
[good first bug] (such as what is done in the bugzilla project itself or
LibreOffice). This would give the opportunity to new comers to have a 
This mean that some maintainers should tag these bugs report and LEAVE THEM

The best is to open a report on bugzilla for each individual patch you 
(see [4]). You can use the Keyword 'PatchAvailable' to identify them 
even more
It help us tracking them and they don't get lost in a mailing list.

I'll be glad (and I know some others will also) to have a look at it and 
it to the repository.

If you are interested by one of the few ideas above and need more inputs on
where/how exactly to start, do not hesitate to ask.

Other (old) ideas can be found at

Hoping these few lines can help or can be a starting point for new comers.


View raw message