*BSD News Article 19413


Return to BSD News archive

Path: sserve!newshost.anu.edu.au!munnari.oz.au!metro!sequoia!ultima!kralizec.zeta.org.au!kralizec.zeta.org.au!not-for-mail
From: bde@kralizec.zeta.org.au (Bruce Evans)
Newsgroups: comp.os.386bsd.development
Subject: Hard disk geometry translation (was V86 mode ...)
Date: 12 Aug 1993 13:05:21 +1000
Organization: Kralizec Dialup Unix Sydney: +61-2-837-1183 V.32bis
Lines: 40
Message-ID: <24cc1hINNo8@kralizec.zeta.org.au>
References: <107181@hydra.gatech.EDU> <1993Aug4.073826.24956@fcom.cc.utah.edu> <107725@hydra.gatech.EDU> <1993Aug9.224939.19834@fcom.cc.utah.edu>
NNTP-Posting-Host: kralizec.zeta.org.au

In <1993Aug9.224939.19834@fcom.cc.utah.edu> terry@cs.weber.edu (A Wizard of Earth C) writes:

>*BSD does not have a problem with translated drives; it's just the sharing
>of those drives with DOS.  As I stated a very long time ago, the translation

Actually, readdisklabel() has bugs that stop geometry translation
working as intended, at least for ESDI and IDE drives.  It updates the
geometry in the label without informing the h/w that the geometry has
changed!  In practice this means that nontrivial translation probably
won't work if there is a DOS partition table (the label won't be where
the software thinks it is).

>*BSD does not "defeat" the translation other than to "defeat" translation
>implemented in BIOS -- which is to say, the vast majority of it.  Linux,
>by definition, must do the same, as must Mach, SVR4, UnixWare, etc.

Linux just uses the translation given by the BIOS.  The only problem
with this is is that the translated geometry may not be appropriate
for file system layout optimizations.

>The cylinder grouping on drives translated because of changes in radial
>density (most SCSI drives) is generally still effective on caching
>controllers, although the cylinder boundry optimizations for rotational
>seek latency are pretty meaningless any more (*BSD can be tuned for this
>by setting one of the initialization parameters for the disk to 0, which
>means "no delay").

I think the best solution for now is to use the geometry in the label
only for fs layout optimizations and don't try to reprogram the
controller to it.  The controller can be talked to in the translated
geometry without losing anything unless the controller is very slow
at doing translations.  Any translation will do, but the default one
has some advantages.

This allows the geometry in the label to be changed without affecting
anything except the optimizations, so it can be used to tune them.  Of
course good optimization for a drive with a variable number of sectors/
track would require many more parameters for the geometry.
-- 
Bruce Evans  bde@kralizec.zeta.org.au