Re: [PATCH] barrier patch set

From: Bartlomiej Zolnierkiewicz
Date: Fri Mar 19 2004 - 19:37:24 EST


On Saturday 20 of March 2004 01:14, Jeff Garzik wrote:
> Bartlomiej Zolnierkiewicz wrote:
> > The fact that spec says "supported" not "enabled" in description of
> > word86 makes me wonder - can they be disabled? (FLUSH CACHE is mandatory
> > for General feature set and FLUSH CACHE EXT is mandatory if 48-bit LBA is
> > supported)
>
> Yes, that's why there are separate 'supported' and 'enabled' bits for
> each feature.
>
> Words 82-84 are 'supported' bits. Words 85-87 are 'enabled' bits.
> These bits mirror each other, i.e. Word 83 and Word 86 have basically
> the same bits, except that Word 86 definitions change _slightly_ since
> the only bits that are relevant are the ones for features that can be
> disabled/enabled.
>
> You use set-features command to enable and disable these features, and
> then the result shows up in subsequent identify-device command output.
>
> If the driver is testing for a capability but does not enable it, then
> always use the 'enabled' set of bits, not the 'supported' set of bits.

This is quite obvious but I am talking about confusing wording in description
of word86 - for some features 'enabled' is used and for others 'supported'

> > Jeff, please note that these bits were introduced by ATA-6 spec
> > and take a look at ATA-5 spec:
> >
> > ...
> > FLUSH CACHE
> > General feature set
> > - Mandatory for all devices
> > ...
> >
> > and ATA-4 spec:
> >
> > ...
> > FLUSH CACHE
> > General feature set
> > - Optional for all devices
> > ...
> >
> > IMO to test if FLUSH CACHE works we should just issue it during disk
> > setup and check result. This way we can use FLUSH CACHE also on < ATA-6
> > devices (there is a lot of them).
>
> I disagree. "just issue it" is how those LG cdrom drives got cooked.

I'm aware of LG fun. Jens already stated that current barrier implementation
is disk-only and I'm talking about disks only.

If anybody reused CACHE FLUSH opcode for disk drive he/she deserves to loose.
8)

> LG cdrom drives indicated in their identify-packet-device page that
> flush-cache was not supported... and then re-used the flush-cache ATA
> opcode for their vendor-specific download-firmware command. Combine
> that with a Linux patch that didn't properly check for flush-cache
> support. Result: brick.
>
> All drives that support flush-cache list the relevant bits in
> identify-device, even on pre-ATA-6 devices. Whether the feature was
> optional or mandantory, we can check the feature bits.

Hm. so this is undocumented in the spec?

Bartlomiej

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/