Date: Wed, 12 Mar 1997 21:54:15 -0700 (MST) From: Marc Slemko <marcs@znep.com> To: Michael Hancock <michaelh@cet.co.jp> Cc: isp@FreeBSD.ORG, hackers@FreeBSD.ORG Subject: Re: block and frag size for news (was Re: freebsd as a news server?) Message-ID: <Pine.BSF.3.95.970312215004.24128A-100000@alive.znep.com> In-Reply-To: <Pine.SV4.3.95.970313104650.24048C-100000@parkplace.cet.co.jp>
next in thread | previous in thread | raw e-mail | index | archive | help
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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.95.970312215004.24128A-100000>
