linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* SATA: Is "DPO and FUA" ever supported?
@ 2007-06-21 13:30 Michael Tokarev
  2007-06-22 14:15 ` Sergei Shtylyov
  0 siblings, 1 reply; 4+ messages in thread
From: Michael Tokarev @ 2007-06-21 13:30 UTC (permalink / raw)
  To: linux-ide

On each and every machine out there, and on every dmesg
output posted on numerous mailinglists, I see messages
similar to this:

scsi 0:0:0:0: Direct-Access     ATA      ST3250620NS      3.AE PQ: 0 ANSI: 5
SCSI device sda: 488397168 512-byte hdwr sectors (250059 MB)
SCSI device sda: write cache: enabled, read cache: enabled, doesn't support DPO or FUA

for SATA disk drives.  And I wonder -- are those features
supported at all by linux, and/or are there disk drives
out there which supports it as well?

For my Seagate ST3250620NS SATA drive (it's a "server" drive,
whatever it means), I can see -- at least --

           *    Mandatory FLUSH_CACHE
           *    FLUSH_CACHE_EXT

reported by hdparm -I.  I wonder what "FLUSH CACHE EXT" means,
and whenever it can be used to support DPO and/or FUA...

Thanks.

/mjt

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: SATA: Is "DPO and FUA" ever supported?
  2007-06-21 13:30 SATA: Is "DPO and FUA" ever supported? Michael Tokarev
@ 2007-06-22 14:15 ` Sergei Shtylyov
  2007-06-22 14:57   ` Sergei Shtylyov
  0 siblings, 1 reply; 4+ messages in thread
From: Sergei Shtylyov @ 2007-06-22 14:15 UTC (permalink / raw)
  To: Michael Tokarev; +Cc: linux-ide

Hello.

Michael Tokarev wrote:

> On each and every machine out there, and on every dmesg
> output posted on numerous mailinglists, I see messages
> similar to this:

> scsi 0:0:0:0: Direct-Access     ATA      ST3250620NS      3.AE PQ: 0 ANSI: 5
> SCSI device sda: 488397168 512-byte hdwr sectors (250059 MB)
> SCSI device sda: write cache: enabled, read cache: enabled, doesn't support DPO or FUA

> for SATA disk drives.  And I wonder -- are those features
> supported at all by linux, and/or are there disk drives
> out there which supports it as well?

    Don't know, the bits have just quite recently been included into ATA spec, 
IIRC...

> For my Seagate ST3250620NS SATA drive (it's a "server" drive,
> whatever it means), I can see -- at least --

>            *    Mandatory FLUSH_CACHE
>            *    FLUSH_CACHE_EXT

> reported by hdparm -I.  I wonder what "FLUSH CACHE EXT" means,

    It reports LBA48 of a failing sector while FLUSH CACHE can only report LBA28.

> and whenever it can be used to support DPO and/or FUA...

    DPO and FUA bits are a part of SCSI CDB and so only affect the block range 
specified by the command in question while FLUSH CACHE [EXT] operates on the 
whole cache -- so, it's not equivalent.

> Thanks.
> 
> /mjt

MBR, Sergei

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: SATA: Is "DPO and FUA" ever supported?
  2007-06-22 14:15 ` Sergei Shtylyov
@ 2007-06-22 14:57   ` Sergei Shtylyov
  2007-07-03  7:10     ` Tejun Heo
  0 siblings, 1 reply; 4+ messages in thread
From: Sergei Shtylyov @ 2007-06-22 14:57 UTC (permalink / raw)
  To: Michael Tokarev; +Cc: linux-ide

Hello, I wrote.

>> On each and every machine out there, and on every dmesg
>> output posted on numerous mailinglists, I see messages
>> similar to this:

>> scsi 0:0:0:0: Direct-Access     ATA      ST3250620NS      3.AE PQ: 0 
>> ANSI: 5
>> SCSI device sda: 488397168 512-byte hdwr sectors (250059 MB)
>> SCSI device sda: write cache: enabled, read cache: enabled, doesn't 
>> support DPO or FUA

>> for SATA disk drives.  And I wonder -- are those features
>> supported at all by linux,

    FUA is surely supported by libata.

>> and/or are there disk drives out there which supports it as well?

>    Don't know, the bits have just quite recently been included into ATA 
> spec, IIRC...

    FUA was introduced by ATA/PI-7.  There's no DPO support.

>> For my Seagate ST3250620NS SATA drive (it's a "server" drive,
>> whatever it means), I can see -- at least --

>>            *    Mandatory FLUSH_CACHE
>>            *    FLUSH_CACHE_EXT

>> reported by hdparm -I.  I wonder what "FLUSH CACHE EXT" means,

>    It reports LBA48 of a failing sector while FLUSH CACHE can only 
> report LBA28.

    I meant the sector which failed to be written to.

>> and whenever it can be used to support DPO and/or FUA...

>    DPO and FUA bits are a part of SCSI CDB and so only affect the block 
> range specified by the command in question while FLUSH CACHE [EXT] 
> operates on the whole cache -- so, it's not equivalent.

    And yet I didn't name the reason of the non-equivalency for DPO: this bit 
effectively prohibits drive cache replacement to occur as a result of a 
command in question -- this simply has nothing to do with flushing.

>> Thanks.

>> /mjt

MBR, Sergei

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: SATA: Is "DPO and FUA" ever supported?
  2007-06-22 14:57   ` Sergei Shtylyov
@ 2007-07-03  7:10     ` Tejun Heo
  0 siblings, 0 replies; 4+ messages in thread
From: Tejun Heo @ 2007-07-03  7:10 UTC (permalink / raw)
  To: Sergei Shtylyov; +Cc: Michael Tokarev, linux-ide

Sergei Shtylyov wrote:
>>> scsi 0:0:0:0: Direct-Access     ATA      ST3250620NS      3.AE PQ: 0
>>> ANSI: 5
>>> SCSI device sda: 488397168 512-byte hdwr sectors (250059 MB)
>>> SCSI device sda: write cache: enabled, read cache: enabled, doesn't
>>> support DPO or FUA
> 
>>> for SATA disk drives.  And I wonder -- are those features
>>> supported at all by linux,
> 
>    FUA is surely supported by libata.

Yeah, all the code is there but it is disabled by default.  The problem
is that some controllers can't handle FUA opcodes properly (sata_sil or
sil24 was one of them, I think) and we need to white or black list
controllers which never happened.

>>> and whenever it can be used to support DPO and/or FUA...
> 
>>    DPO and FUA bits are a part of SCSI CDB and so only affect the
>> block range specified by the command in question while FLUSH CACHE
>> [EXT] operates on the whole cache -- so, it's not equivalent.
> 
>    And yet I didn't name the reason of the non-equivalency for DPO: this
> bit effectively prohibits drive cache replacement to occur as a result
> of a command in question -- this simply has nothing to do with flushing.

DPO doesn't really affect the meaning of the operation.  FUA saves one
command during barrier sequence.  Not a bit gain but might still be useful.

FUA being pretty new on ATA land, I'm worried about firmwares which have
screwed up the implementation and doesn't really do FUA when instructed
to, which contributed to FUA support being left disabled.

-- 
tejun

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2007-07-03  7:10 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-06-21 13:30 SATA: Is "DPO and FUA" ever supported? Michael Tokarev
2007-06-22 14:15 ` Sergei Shtylyov
2007-06-22 14:57   ` Sergei Shtylyov
2007-07-03  7:10     ` Tejun Heo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).