[921] in Athena Bugs

home help back first fref pref prev next nref lref last post

re: RD32 disk partition sizes

daemon@ATHENA.MIT.EDU (geer@ATHENA.MIT.EDU)
Wed Sep 14 12:22:36 1988

From: <geer@ATHENA.MIT.EDU>
To: bugs@ATHENA.MIT.EDU
Date: Wed, 14 Sep 88 12:21:44 EDT
i am cleaning out old mail.  this mail is interesting,
and the recommendations it makes are not what i find
in the current disktab (as defined by the contents of
both paris:source and /srvd/etc/disktab).

--dan

------- Forwarded Message

Date: Tue, 29 Mar 88 17:34:47 EST
From: John T Kohl <jtkohl@ATHENA.MIT.EDU>
To: treese@ATHENA.MIT.EDU, geer@ATHENA.MIT.EDU, jis@ATHENA.MIT.EDU
Subject: RD32 disk partition sizes

Forward this as appropriate....

I spent the last day or so poking around the RD32 disk driver to figure
out what the appropriate partition sizes should be in order to align
things along cylinder boundaries.

This is what I discovered:
/etc/disktab says that the RD32 has 820 cylinders, 6 surfaces, 17
sectors.
As far as I can tell, this is accurate.
The cylinders are split up as follows:

cyl. 0:	XBNs and DBNs
cyl. 1 - 816 1/2: logical block data area (usable by UNIX)
cyl. 816 1/2 - 818: RBNs
cyl. 819: ???

The area usable by UNIX comprises 83236 blocks, of which 83204 are
available for use by filesystems (the remaining 32 blocks store the RCT
(revector control table)).

Both Athena's disktab and the Ultrix 2.0 disktab do not place partitions
starting on cylinder boundaries (except for the 'a' partition).

Athena's disktab, as well as the Ultrix 2.0 disktab, appear to allow use
of the last 32 blocks of the logical block area, but the disk driver
(luckily) prevents such use.

I have crafted a disktab entry for the RD32, and an accompanying change
to the disk driver which result in cylinder-aligned partitions.  This
should be especially effective in improving paging performance from the
swap partition.

For /etc/disktab:

rd32|RD32|DEC RD32 Winchester:\
        :ty=winchester:ns#17:nt#6:nc#820:\
        :ba#8192:fa#1024:pa#15912:\
        :bb#1024:fb#512:pb#33456:\
        :bc#8192:fc#1024:pc#83204:\
        :bg#8192:fg#1024:pg#33836:


For the kernel device driver:
sd_rd32_sizes[8] = {
	15912,	0,	/* A=cyl 0 thru 155 */
	33456,	15912,	/* B=cyl 156 thru 484 */
	-1,	0,	/* C=cyl 0 thru end */
	0,	0,	/* D= unused */
	0,	0,	/* E= unused */
	0,	0,	/* F= unused */
	-1,	49368,	/* G=cyl 485 thru end */
	0,	0,	/* H= unused */
}

------- End of Forwarded Message


home help back first fref pref prev next nref lref last post