Date: Sat, 9 Oct 2004 14:03:04 -0600 (MDT) From: Doug Russell <drussell@saturn-tech.com> To: John Von Essen <john@essenz.com> Cc: freebsd-hackers@freebsd.org Subject: Re: hacking SCO.... Message-ID: <20041009135118.X41465-100000@mxb.saturn-tech.com> In-Reply-To: <20041009125651.H41465-100000@mxb.saturn-tech.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Gotta love when you reply to your own posts... :) On Sat, 9 Oct 2004, Doug Russell wrote: > If it has a BIOS it should have the verify tool in there... > > All the verify tool does, though, is issue a verify command to each > sector. You can do this yourself, even on a running system, also. I meant to add a couple more notes about the modepages.... The number (or maximum time -- it's drive dependent) of retries for regular reads and writes are adjustable in modepage 1. There are alternate settings for the VERIFY commands (like sent to the drive in the BIOS verify utility) on the VERIFY page (modepage 7). Reading the docs for the actual drive in question is the only way you can tell EXACTLY what is done by each setting, and it does take a little research to understand exactly what is going on, but there are LOTS of nice knobs to twiddle on most disks. You might have to add some things to /usr/src/share/misc/scsi_modes (on freebsd) to be able to edit all the possible options on some disks using the editor routines. For example, I created the following entry for Seagate disks like all my ST19171WC (about 60) and ST15150W drives (20+) that actually understands things like the cache segmentation size (how many little chunks of cache it should hold, and therefore how big each is, which is a VERY nice tuneable for a heavy-multi-user server versus single user A/V RAID array disk tuning; multi-user, you want lots of little cache segments... streaming use, you want a couple of huge segments): 0x08 "Caching Page" { {IC (Initiator Control enable)} t1 {ABPF (ABort Pre-Fetch on selection)} t1 {CAP (Caching Analysis Permitted)} t1 {DISC (DISContinuity)} t1 {SIZE (cache segmentation by SIZE enable)} t1 {WCE (Write Cache Enable)} t1 {MF (prefetch Multiplication Factor)} t1 {RCD (Read Cache Disable)} t1 {Demand Retention Priority} t4 {Write Retention Priority} t4 {Disable Pre-fetch Transfer Length} i2 {Minimum Pre-fetch} i2 {Maximum Pre-fetch} i2 {Maximum Pre-fetch Ceiling} i2 {FSW (Force Sequential Write)} t1 {LBCSS (Logical Block Cache Segment Size)} t1 {DRA (Disable Read-Ahead)} t1 {Reserved} *t5 {Number of Cache Segments} i1 {Cache Segment Size} i2 {Reserved} *i1 {Non-Cache Segment Size} i3 I turn off all retries, etc, and set the drive to do full error reporting before I run any tests. (You don't want the drive correcting anything itself, you want to report EVERYTHING...) Modepages are fun. :) Later...... <Doug>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20041009135118.X41465-100000>