From owner-freebsd-current Mon Sep 22 06:47:56 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id GAA12948 for current-outgoing; Mon, 22 Sep 1997 06:47:56 -0700 (PDT) Received: from pluto.plutotech.com (root@mail.plutotech.com [206.168.67.137]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id GAA12940 for ; Mon, 22 Sep 1997 06:47:53 -0700 (PDT) Received: from narnia.plutotech.com (narnia.plutotech.com [206.168.67.130]) by pluto.plutotech.com (8.8.5/8.8.5) with ESMTP id HAA15157; Mon, 22 Sep 1997 07:47:36 -0600 (MDT) Message-Id: <199709221347.HAA15157@pluto.plutotech.com> To: Bruce Evans cc: gibbs@plutotech.com, nate@mt.sri.com, current@FreeBSD.ORG Subject: Re: cvs commit: src/sys/conf files src/sys/dev/vx if_vx.c if_vxreg.h src/sys/i386/apm apm.c src/sys/i386/conf GENERIC files.i386 src/sys/i386/eisa 3c5x9.c aha1742.c aic7770.c bt74x.c eisaconf.c eisaconf.h if_fea.c if_vx_eisa.c src/sys/i386/i386 autoconf.c ... In-reply-to: Your message of "Mon, 22 Sep 1997 23:23:57 +1000." <199709221323.XAA15020@godzilla.zeta.org.au> Date: Mon, 22 Sep 1997 07:47:26 -0600 From: "Justin T. Gibbs" Sender: owner-freebsd-current@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk >>Take a server with 10 Seagate disks. Each one of these disks can >>handle 63 transactions at a time. If you split the disks across >>controllers correctly, you can readily keep them saturated with >>requests. Thats 630 pending callouts and an O(n) hit for insert >>and removal... > >Assuming that the timeout length is not very critical, and that timeouts >rarely expire, this setup could be optimized well using "queues" >consisting of two (pointers to) arrays of bits, and counters for the >number of items set in each array: Now make it scale during usage. There are lots of schemes available, but very few are easily scalable by mallocing small chunks of free memory. >Bruce -- Justin T. Gibbs =========================================== FreeBSD: Turning PCs into workstations ===========================================