httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ryan Bloom <...@covalent.net>
Subject Re: cvs commit: httpd-2.0/server core.c
Date Wed, 21 Nov 2001 22:22:05 GMT
On Wednesday 21 November 2001 12:00 pm, Ian Holsman wrote:
> On Wed, 2001-11-21 at 10:25, rbb@apache.org wrote:
> > rbb         01/11/21 10:25:40
> >
> >   Modified:    modules/generators config5.m4
> >                server   core.c
>
> hey Ryan
> you forgot to add test_pass_brigade.c
> to CVS

No, it shouldn't have been committed.  I'll remove it ASAP.

Ryan

>
> >   Log:
> >   Fix a bug in our output filter buffering.  If a lot of small brigades
> > are sent, the core will send the first 16 buckets, regardless of how much
> > data there is.  In the pathological case, this can cause a lot of 16 byte
> > packets.  Now, if we see less than AP_MIN_BYTES, we combine all of the
> > buckets into a single bucket to be sent in a later packet.
> >
> >   This can cause a lot of memory copies, but it eases our network
> > traffic.
> >
> >   Revision  Changes    Path
> >   1.10      +1 -0      httpd-2.0/modules/generators/config5.m4
> >
> >   Index: config5.m4
> >   ===================================================================
> >   RCS file: /home/cvs/httpd-2.0/modules/generators/config5.m4,v
> >   retrieving revision 1.9
> >   retrieving revision 1.10
> >   diff -u -r1.9 -r1.10
> >   --- config5.m4	2001/11/19 18:07:27	1.9
> >   +++ config5.m4	2001/11/21 18:25:40	1.10
> >   @@ -8,6 +8,7 @@
> >    APACHE_MODULE(autoindex, directory listing, , , yes)
> >    APACHE_MODULE(asis, as-is filetypes, , , yes)
> >    APACHE_MODULE(info, server information, , , most)
> >   +APACHE_MODULE(test_pass_brigade, TEST, , , most)
> >    APACHE_MODULE(suexec, set uid and gid for spawned processes, , , no, [
> >                  other_targets=suexec ] )
> >
> >
> >
> >
> >   1.102     +20 -3     httpd-2.0/server/core.c
> >
> >   Index: core.c
> >   ===================================================================
> >   RCS file: /home/cvs/httpd-2.0/server/core.c,v
> >   retrieving revision 1.101
> >   retrieving revision 1.102
> >   diff -u -r1.101 -r1.102
> >   --- core.c	2001/11/21 03:46:22	1.101
> >   +++ core.c	2001/11/21 18:25:40	1.102
> >   @@ -3079,9 +3079,26 @@
> >                    if (n) {
> >                        if (!fd) {
> >                            if (nvec == MAX_IOVEC_TO_WRITE) {
> >   -                            /* woah! too many. stop now. */
> >   -                            more = apr_brigade_split(b, e);
> >   -                            break;
> >   +                            /* woah! too many. buffer them up, for use
> > later. */ +                            apr_bucket *temp;
> >   +                            apr_bucket_brigade *temp_brig;
> >   +
> >   +                            temp_brig =
> > apr_brigade_create(f->c->pool); +                            temp =
> > APR_BRIGADE_FIRST(b);
> >   +                            while (temp != e) {
> >   +                                apr_bucket *d;
> >   +                                rv = apr_bucket_read(e, &str, &n,
> > APR_BLOCK_READ); +                               
> > apr_brigade_write(temp_brig, NULL, NULL, str, n); +                      
> >          d = temp;
> >   +                                temp = APR_BUCKET_NEXT(temp);
> >   +                                apr_bucket_delete(d);
> >   +                            }
> >   +                            temp = APR_BRIGADE_FIRST(temp_brig);
> >   +                            APR_BUCKET_REMOVE(temp);
> >   +                            APR_BRIGADE_INSERT_HEAD(b, temp);
> >   +                            apr_brigade_destroy(temp_brig);
> >   +                            e = temp;
> >   +                            nvec = 0;
> >                            }
> >                            vec[nvec].iov_base = (char*) str;
> >                            vec[nvec].iov_len = n;

-- 

______________________________________________________________
Ryan Bloom				rbb@apache.org
Covalent Technologies			rbb@covalent.net
--------------------------------------------------------------

Mime
View raw message