Return-Path: Delivered-To: apmail-new-httpd-archive@apache.org Received: (qmail 12162 invoked by uid 500); 5 Jun 2000 12:01:27 -0000 Mailing-List: contact new-httpd-help@apache.org; run by ezmlm Precedence: bulk X-No-Archive: yes Reply-To: new-httpd@apache.org list-help: list-unsubscribe: list-post: Delivered-To: mailing list new-httpd@apache.org Received: (qmail 12126 invoked from network); 5 Jun 2000 12:01:23 -0000 Date: Mon, 5 Jun 2000 08:01:13 -0400 Message-Id: <200006051201.IAA24199@k5.localdomain> X-Authentication-Warning: k5.localdomain: trawick set sender to trawickj@bellsouth.net using -f From: Jeff Trawick To: new-httpd@apache.org In-reply-to: <392EE7C4.BBA64D76@raleigh.ibm.com> (message from Greg Ames on Fri, 26 May 2000 17:08:20 -0400) Subject: Re: [PATCH] mod_mmap_static for 2.0 Reply-to: trawickj@bellsouth.net References: <392EE7C4.BBA64D76@raleigh.ibm.com> X-Spam-Rating: locus.apache.org 1.6.2 0/1000/N > Date: Fri, 26 May 2000 17:08:20 -0400 > From: Greg Ames > > 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...