From owner-freebsd-net Wed Jul 7 20:40:42 1999 Delivered-To: freebsd-net@freebsd.org Received: from sumatra.americantv.com (sumatra.americantv.com [208.139.222.227]) by hub.freebsd.org (Postfix) with ESMTP id 5AA0F14BE3 for ; Wed, 7 Jul 1999 20:40:33 -0700 (PDT) (envelope-from jlemon@americantv.com) Received: from right.PCS (right.PCS [148.105.10.31]) by sumatra.americantv.com (8.8.5/8.8.5) with ESMTP id WAA13669; Wed, 7 Jul 1999 22:40:32 -0500 (CDT) Received: from free.pcs (free.PCS [148.105.10.51]) by right.PCS (8.6.13/8.6.4) with ESMTP id WAA24179; Wed, 7 Jul 1999 22:40:31 -0500 Received: (from jlemon@localhost) by free.pcs (8.8.6/8.8.5) id WAA29430; Wed, 7 Jul 1999 22:40:30 -0500 (CDT) Date: Wed, 7 Jul 1999 22:40:30 -0500 (CDT) From: Jonathan Lemon Message-Id: <199907080340.WAA29430@free.pcs> To: aron@cs.rice.edu, net@freebsd.org Subject: Re: paper on improving webserver performance X-Newsgroups: local.mail.freebsd-net In-Reply-To: References: Organization: Architecture and Operating System Fanatics Sender: owner-freebsd-net@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org In article you write: > >> >> It's definitly interesting. >> The comment about having compared against timer wheels is especially >> interesting given that Garrett has been working on replacing the TCP >> timers with timer wheels... >> >> maybe he has some tricks up his sleave that win back some of the >> difference... Actually, if you recall my earlier posting, I had a hybrid approach that allowed using either the current approach, or a timing wheel approach. After a bunch of tests, it turns out that the timing wheel was faster, so I merged my code with Garrett's. >Perhaps the following would help. My implementation of timing wheels was >well optimized. To continue TCP to use integer variables, only a single event >was inserted into the timing wheel corresponding to all the TCP timers. This >event corresponded to the time that the earliest timer needed to fire. Further, >this event wasn't cancelled even if the TCP timers were. Thus TCP would set and >unset its timers by simply changing the integer variables. This seems to indicate that you still have the overhead where the timer fires, but no events are actually pending. -- Jonathan To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message