httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeff Trawick <trawi...@bellsouth.net>
Subject Re: [PATCH] mod_mmap_static for 2.0
Date Mon, 05 Jun 2000 12:01:13 GMT
> Date: Fri, 26 May 2000 17:08:20 -0400
> From: Greg Ames <gregames@raleigh.ibm.com>
> 
> mod_mmap_static is working on 2.0 on Linux.  I did it in three passes:
> 
> 1. APR-ize the local finfo and add finfo.device to APR
> 2. Get the translate_name phase to run so we can bypass the ap_stat
> in             get_path_info.
> 3. Pass the results of xlat's bsearch to the handler via
> r->request_config, to                avoid a second bsearch on the inode
> address.  With this change, it no longer             needs finfo.device
> in APR.
> 
> Here's the results, using ab on my ThinkPad to serve up
> localhost/apache_pb.gif, with 3 runs for each executable:
> 
> +----------------------+---------+---------+---------+
> |  run type            | run 1   | run 2   | run 3   |       
> |                      | thruput | thruput | thruput |  
> +----------------------+---------+---------+---------+ 
> | baseline             | 2183.88 | 2193.46 | 2199.74 | 
> | (no mod_mmap_static) |         |         |         |
> +----------------------+---------+---------+---------+ 
> | APR-ized             | 2436.94 | 2387.77 | 2490.35 |
> +----------------------+---------+---------+---------+
> | working xlat         | 2600.10 | 2569.04 | 2586.65 |
> |  (avoids ap_stat)    |         |         |         |
> +----------------------+---------+---------+---------+
> | single bsearch       | 2658.87 | 2629.16 | 2609.26 |
> +----------------------+---------+---------+---------+ 
> 
> Getting the translate_name phase to work was a royal PITA. The core's
> translate_name phase needs to run first and decide the URI is OK.  I
> don't know how to do that using the new hook system without changing the
> hook macro from _RUN_FIRST to _RUN_ALL, which seems like a Bad Thing in
> the overall scheme of things.  I don't want to copy the core xlat
> routine ala mod_file_cache because that may cause extra maintenance in
> the future.  So I exported core_translate's entry port (namespace
> protected) and just call it.
> 
> This hasn't been tested on OS/390 yet because I'm still fighting with
> the config system to convince it that mmap exists/works.
> 
> comments?  concerns?
> 
> Thanks,
> Greg Ames

I'm going to commit this patch in the next day or so, unless somebody
speaks up beforehand.  The only possibly controversial issue is the
exportation (a word?) of core_translate().  I think this could be used
by Bill Stoddard's mod_file_cache (sp?) too.
-- 
Jeff Trawick | trawick@ibm.net | PGP public key at web site:
     http://www.geocities.com/SiliconValley/Park/9289/
          Born in Roswell... married an alien...

Mime
View raw message