Date: Mon, 22 Sep 1997 10:26:24 -0700 From: Julian Elischer <julian@whistle.com> To: "Justin T. Gibbs" <gibbs@plutotech.com> Cc: Bruce Evans <bde@zeta.org.au>, 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 a Message-ID: <3426AA40.41C67EA6@whistle.com> References: <199709221347.HAA15157@pluto.plutotech.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Justin T. Gibbs wrote: The thing I don't like abut what has been done is: It's changed a very standard and well understood service in the kernel. I think you should have left it the same and implimented a cam_timeout facility that runs separatly. all my drivers that are shared between various OS now need to be modified, with a new #if defined(__FreeBSD__) in them. > > >>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 > ===========================================
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3426AA40.41C67EA6>