DMA auf einer SATA platte

Post Reply
Message
Author
oli21

DMA auf einer SATA platte

#1 Post by oli21 »

hallo,

folgendes problem:

Code: Select all

root@darkstar:/home/slackware# hdparm /dev/sda

/dev/sda:
 IO_support   =  0 (default 16-bit)
 readonly     =  0 (off)
 readahead    = 256 (on)
 geometry     = 9729/255/63, sectors = 156301488, start = 0


root@darkstar:/home/slackware# hdparm -d 1 /dev/sda

/dev/sda:
 setting using_dma to 1 (on)
 HDIO_SET_DMA failed: Inappropriate ioctl for device

root@darkstar:/home/slackware# hdparm -tT /dev/sda

/dev/sda:
 Timing cached reads:   1132 MB in  2.00 seconds = 565.80 MB/sec
HDIO_DRIVE_CMD(null) (wait for flush complete) failed: Inappropriate ioctl for device
 Timing buffered disk reads:   40 MB in  3.17 seconds =  12.62 MB/sec
HDIO_DRIVE_CMD(null) (wait for flush complete) failed: Inappropriate ioctl for device

das sieht n bisschen langsam aus, und irgendwie ist auch alles bisschen langsam. ich habe eine seagate barracuda 80gb sata platte.

hab mal geguggt was dmesg ausgibt:

Code: Select all

sata_sil version 0.8
ACPI: PCI interrupt 0000:01:0b.0[A] -> GSI 18 (level, high) -> IRQ 18
ata1: SATA max UDMA/100 cmd 0xE0804080 ctl 0xE080408A bmdma 0xE0804000 irq 18
ata2: SATA max UDMA/100 cmd 0xE08040C0 ctl 0xE08040CA bmdma 0xE0804008 irq 18
ata1: dev 0 cfg 49:2f00 82:346b 83:7d01 84:4003 85:3469 86:3c01 87:4003 88:207f
ata1: dev 0 ATA, max UDMA/133, 156301488 sectors: lba48
ata1(0): applying Seagate errata fix
ata1: dev 0 configured for UDMA/100
scsi0 : sata_sil
ata2: no device found (phy stat 00000000)
scsi1 : sata_sil
  Vendor: ATA       Model: ST380013AS        Rev: 3.18
  Type:   Direct-Access                      ANSI SCSI revision: 05
SCSI device sda: 156301488 512-byte hdwr sectors (80026 MB)
SCSI device sda: drive cache: write back
SCSI device sda: 156301488 512-byte hdwr sectors (80026 MB)
SCSI device sda: drive cache: write back
 sda: sda1 sda2 sda3
Attached scsi disk sda at scsi0, channel 0, id 0, lun 0
Attached scsi generic sg0 at scsi0, channel 0, id 0, lun 0,  type 0
hoffe mir kann wer helfen :/

lg

oli

tj

#2 Post by tj »

Hi oli,

was sagt denn hdparm -d /dev/sda ?
Ist DMA enabled ?
Ich hatte auch Probleme DMA bei einer SATA Platte nachtraeglich
anzuschalten, mit nem Kernel, bei dem DMA per default laueft,
ging's dann ...

Viel Glueck, tj

oli84

#3 Post by oli84 »

du meinst hdparm -d 1 /dev/sda?

das:

Code: Select all

root@darkstar:/home/slackware# hdparm -d 1 /dev/sda

/dev/sda:
 setting using_dma to 1 (on)
 HDIO_SET_DMA failed: Inappropriate ioctl for device
gibts ein anderes tool fuer sata platten?

Code: Select all

       Although this utility is intended primarily for use with (E)IDE hard disk
       devices, several of the options are also valid (and  permitted)  for  use
       with SCSI hard disk devices and MFM/RLL hard disks with XT interfaces.
lg

oli

User avatar
hjb
Pro-Linux
Posts: 3264
Joined: 15. Aug 1999 16:59
Location: Bruchsal
Contact:

#4 Post by hjb »

Hi!

Schon mal die aktuelle Version 6.1 von hdparm probiert?

Gruß,
hjb
Pro-Linux - warum durch Fenster steigen, wenn es eine Tür gibt?

oli84

#5 Post by oli84 »

Code: Select all

root@darkstar:/home/slackware# ls /var/log/packages/*hdparm*
/var/log/packages/hdparm-6.1-i486-1


:(

lg
oli

tj

#6 Post by tj »

oli84 wrote:du meinst hdparm -d 1 /dev/sda?

Ich meinte schon ohne die 1, damit gibt hdparm einfach den jetzigen
Status aus, geht aber wohl nur bei PATA Platten.

Mir ist noch was eingefallen:
Im BIOS musste ich noch extra SATA einschalten, sonst lief
die Platte im PATA-Kompatibilitaetsmodus. Ausserdem ging
SATA erst mit dem Kernel von kanotix (2.6.11-kanotix-7),
frag mich nicht welchen Patch man dafuer braucht...

tj

oli84

#7 Post by oli84 »

also im bios ist alles ok, hm das mit dem patch is gut zu wissen
ich befuerchte blos das der patch die alte sata lib verwendet hat, nicht die "neue tolle" scsi sata lib :)
bei der alten lib hatte ich naemlich meine sata platte unter /dev/hde
und konnte einwandfrei hdparm enablen.
bin langsam am verzweifeln, ist ja ein riesen performance verlust :/

lg

oli

oli84

#8 Post by oli84 »

mir ist aufgefallen das auf der alten lib immer ein "seagate pessimistic errata fix" applied wurde...
hab mal danach gegoogled und bin fuendig geworden.
die neue lib ist noch nicht so weit und mein controller/hdd ist blacklistet, werde also wieder die "obsolete" library verwenden, lieber "obsolete" stable und schnell als wie super lahm und xtreme beta (in meingen augen), kein bock ewig drauf zu warten bis das einer gemacht hat das es im kernel passt.

lg

oli

Post Reply