Re: magic sysrq keys functionality

From: Matthias Andree <ma_at_dt.e-technik.uni-dortmund.de>
Date: Tue, 27 Jul 2004 00:31:06 +0200
Scott Long <scottl_at_freebsd.org> writes:

> I don't believe that any order is guaranteed.  FreeBSD used to have the
> concept of a B_ORDERED bio flag that would help order the bioq, but it was
> removed early in the 5-current cycle due to apparent non-use.  It's tough
> to rely on ATA Flush Cache since many devices exist that advertise it but
> don't actually support it (i.e. they lock up if you try it).

I have more devices that don't even advertise it than such that
do... Out of four drives I've checked (Seagate, WDC, I*M DeathStar,
Maxtor) only the latter, a Maxtor 4K060H3, advertises this.

> SCSI certainly supports it, but again it was information that was
> never getting to the device.  Some SCSI drivers compensate by sending
> periodic ordered tags to help decrease the chances for an out-of-order
> commit, but it's still a small gamble.  This works right now because
> we assume that disks will commit blocks in order, and that assumption
> generally hasn't been broken.

The assumption is that the Queue Algorithm Modifier (offset 3, upper
nibble) in the Control Mode Page (0xA) of the device is zero. If it's
set to 1, the assumption is broken and so is consistency unless ordered
tags are scheduled to enforce ordering.

> If legacy ATA were to drop off the face of the earth and drive makers
> were to commit to producing honest and non-buggy firmware, I'd love to
> bring back B_ORDERED and make it actually work.

FreeBSD 7 may be legacy-ATA free perhaps, or 6 if it takes a few years
until then.

-- 
Matthias Andree

Encrypted mail welcome: my GnuPG key ID is 0x052E7D95 (PGP/MIME preferred)
Received on Mon Jul 26 2004 - 20:31:13 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:03 UTC