From owner-freebsd-isp Wed Mar 12 20:55:24 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id UAA04361 for isp-outgoing; Wed, 12 Mar 1997 20:55:24 -0800 (PST) Received: from scanner.worldgate.com (scanner.worldgate.com [198.161.84.3]) by freefall.freebsd.org (8.8.5/8.8.5) with ESMTP id UAA04335; Wed, 12 Mar 1997 20:55:08 -0800 (PST) Received: from znep.com (uucp@localhost) by scanner.worldgate.com (8.8.5/8.7.3) with UUCP id VAA23906; Wed, 12 Mar 1997 21:54:43 -0700 (MST) Received: from localhost (marcs@localhost) by alive.znep.com (8.7.5/8.7.3) with SMTP id VAA25679; Wed, 12 Mar 1997 21:54:15 -0700 (MST) Date: Wed, 12 Mar 1997 21:54:15 -0700 (MST) From: Marc Slemko To: Michael Hancock cc: isp@FreeBSD.ORG, hackers@FreeBSD.ORG Subject: Re: block and frag size for news (was Re: freebsd as a news server?) In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-isp@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk On Thu, 13 Mar 1997, Michael Hancock wrote: > I used -a 8 to leave it at the default and as Bruce points out since the > rotational delay now defaults to 0 the maxcontig setting probably doesn't > matter. It might matter I suppose if it actually goes thru the motion of > triggering a rotational delay, even if it's 0, after every 8 blocks. /sys/ufs/ffs/ffs_alloc.c (from 2.2; 2.1 is different but does a similar thing): /* * One or more previous blocks have been laid out. If less * than fs_maxcontig previous blocks are contiguous, the * next block is requested contiguously, otherwise it is * requested rotationally delayed by fs_rotdelay milliseconds. */ nextblk = bap[indx - 1] + fs->fs_frag; if (fs->fs_rotdelay == 0 || indx < fs->fs_maxcontig || bap[indx - fs->fs_maxcontig] + blkstofrags(fs, fs->fs_maxcontig) != nextblk) return (nextblk); /* * Here we convert ms of delay to frags as: * (frags) = (ms) * (rev/sec) * (sect/rev) / * ((sect/frag) * (ms/sec)) * then round up to the next block. */ nextblk += roundup(fs->fs_rotdelay * fs->fs_rps * fs->fs_nsect / (NSPF(fs) * 1000), fs->fs_frag); return (nextblk); To me, this says that if fs_rotdelay is 0 who cares about fs_maxcontig.