From owner-cvs-all Fri Jun 16 11:25:46 2000 Delivered-To: cvs-all@freebsd.org Received: from funkthat.com (adsl-63-195-54-213.dsl.snfc21.pacbell.net [63.195.54.213]) by hub.freebsd.org (Postfix) with ESMTP id D9D4C37BFDF; Fri, 16 Jun 2000 11:25:38 -0700 (PDT) (envelope-from gurney_j@efn.org) Received: (from jmg@localhost) by funkthat.com (8.9.3/8.8.7) id LAA59808; Fri, 16 Jun 2000 11:25:31 -0700 (PDT) Message-ID: <20000616112531.12083@hydrogen.funkthat.com> Date: Fri, 16 Jun 2000 11:25:31 -0700 From: John-Mark Gurney To: Marc Slemko Cc: Alfred Perlstein , cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG Subject: Re: cvs commit: src/sys/kern uipc_socket.c uipc_socket2.c src/sys/sys socket.h References: <20000615161246.37298@hydrogen.funkthat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.69 In-Reply-To: ; from Marc Slemko on Thu, Jun 15, 2000 at 10:02:54PM -0700 Reply-To: John-Mark Gurney Organization: Cu Networking X-Operating-System: FreeBSD 3.4-RELEASE i386 X-PGP-Fingerprint: B7 EC EF F8 AE ED A7 31 96 7A 22 B3 D8 56 36 F4 X-Files: The truth is out there X-URL: http://resnet.uoregon.edu/~gurney_j/ Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Marc Slemko scribbled this message on Jun 15: > On Thu, 15 Jun 2000, John-Mark Gurney wrote: > > > Alfred Perlstein scribbled this message on Jun 15: > > > until the incoming connection has either data waiting or what looks like a > > > HTTP request header already in the socketbuffer. This ought to reduce > > > the context switch time and overhead for processing requests. > > > > if this code stays (which I hope it either gets removed, or made into > > a kld module), it should be updated to check for ALL the various > > possible http requests... (such as HEAD, etc.) > > Actually, no, it should not be a generalized to be fully able to grok > all possible requests. While I agree that this sort of hardcoded gunk > isn't necessarily appropriate where it is (or even useful for > performance, outside of very constrained benchmark situations), if you > are going to add special code to the kernel, then you want to keep a > small fast path in the kernel that covers the common case. You can and you want to make it loadable so that it doesn't bloat the kernel... tight performance optimizations that effect only a small subset of people are bad.. we have kld's make use of them... > cover 90% of the cases with 10% of the code, then everything else just > punts down the way things normally work. More speed for the common case, > less complexity, and a lot less chance of bugs. have you done a performance difference between the delayed accept version and the http version of the socket?? I REALLY doubt that many clients split the url into multiple packets, and if they do, they are in the minority which means we can take the hit for those... why doesn't the simple delay work? have you even tested the performance difference between the two for http?? I bet you will find that there is only a slight performance (like 1%) difference if that much as you don't have to pass it through two compare routines, and you just have to compare if there is data there... -- John-Mark Gurney Voice: +1 408 975 9651 Cu Networking "Thank God I'm an atheist, that'd just be confusing." -- cmc To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message