From owner-cvs-all Fri Jun 16 9:46:54 2000 Delivered-To: cvs-all@freebsd.org Received: from ns.yogotech.com (ns.yogotech.com [206.127.123.66]) by hub.freebsd.org (Postfix) with ESMTP id EB9BA37BEC7; Fri, 16 Jun 2000 09:46:47 -0700 (PDT) (envelope-from nate@yogotech.com) Received: from nomad.yogotech.com (nomad.yogotech.com [206.127.123.131]) by ns.yogotech.com (8.9.3/8.9.3) with ESMTP id KAA09598; Fri, 16 Jun 2000 10:46:19 -0600 (MDT) (envelope-from nate@nomad.yogotech.com) Received: (from nate@localhost) by nomad.yogotech.com (8.8.8/8.8.8) id KAA01076; Fri, 16 Jun 2000 10:46:18 -0600 (MDT) (envelope-from nate) Date: Fri, 16 Jun 2000 10:46:18 -0600 (MDT) Message-Id: <200006161646.KAA01076@nomad.yogotech.com> From: Nate Williams MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit To: Garrett Wollman Cc: Peter Wemm , Marc Slemko , "Daniel O'Connor" , "Daniel C. Sobral" , Alfred Perlstein , Nate Williams , cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/kern uipc_socket.c uipc_socket2.c src/sy In-Reply-To: <200006161640.MAA18110@khavrinen.lcs.mit.edu> References: <20000616095723.6C4771CD7@overcee.netplex.com.au> <200006161640.MAA18110@khavrinen.lcs.mit.edu> X-Mailer: VM 6.34 under 19.16 "Lille" XEmacs Lucid Reply-To: nate@yogotech.com (Nate Williams) Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG > > 4: process runs and immediately calls read() > > 5: in many cases we did not get a complete header. If not, context switch > > and goto step 4. ie: several context switches to get the header. > > I have never seen this. I just did a quick check of the major > clients, and every single one sends the request in a single segment. At my former employer, we were implementing a 'network load balancer' for HTTP traffic, and one of the things that was measured was the fact that literally all client requests fit in a single segment. We were able to fast-path optimize the code to take advantage of this fact since it reduced latency considerable, since we needed the entire segment to make the decision on which machine would be best suited to handle this request. This isn't to say that you wouldn't still get an accept hit upon the initial receipt, and then you would be required to call select again on the new socket and get a hit again when it actually received the request, but that's only two switches, no more. Nate To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message