NCQ support in de sata_promise driver

Pagina: 1
Acties:

  • maleadt
  • Registratie: Januari 2006
  • Laatst online: 26-01 20:38
Hello,

Sinds gisteren heb ik een SATA 2 compliant kaartje in mijn stokoud moederbord geprikt (socket 478, zoek daar maar eens een beschikbaar moederbord van met meer dan 4 SATA poorten, laat staan sata 2 compliance :+). Eindelijk kan ik de extra jumper (forceer SATA I) van mijn schijven weghalen, en de volle snelheid benutten.

Nu merk ik, zoals verwacht, bijster weinig van die verhoogde snelheid. Gelukkig heeft SATA II nog andere features in petto, zoals NCQ. (Ik weet dat NCQ voornamelijk goede resultaten geeft bij server loads, maar boot-times zouden er ook drastisch door moeten verlaagd worden!)

Al mijn drives ondersteunen NCQ, getuige deze HDparm output
code:
1
2
3
4
5
6
7
8
root@desktop:~/bin/packages/dbpoweramp# hdparm -I /dev/sda | grep NCQ
       *    Native Command Queueing (NCQ)
root@desktop:~/bin/packages/dbpoweramp# hdparm -I /dev/sdb | grep NCQ
       *    Native Command Queueing (NCQ)
root@desktop:~/bin/packages/dbpoweramp# hdparm -I /dev/sdc | grep NCQ
       *    Native Command Queueing (NCQ)
root@desktop:~/bin/packages/dbpoweramp# hdparm -I /dev/sdd | grep NCQ
       *    Native Command Queueing (NCQ)


Ik maak gebruik van kernel 2.6.26-4, en naar ik gelezen heb moet je > kernel 2.6.24 hebben voor volwaardige NCQ support. Geen probleem dus.

Het kaartje dat in mijn PC zit, is een Promise SATA300 TX4 kaartje, dat volgens de site NCQ zou moeten ondersteunen.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
           *-storage
                description: Mass storage controller
                product: PDC40718 (SATA 300 TX4)
                vendor: Promise Technology, Inc.
                physical id: 3
                bus info: pci@0000:02:03.0
                logical name: scsi4
                logical name: scsi5
                logical name: scsi6
                logical name: scsi7
                version: 02
                width: 32 bits
                clock: 66MHz
                capabilities: storage pm bus_master cap_list emulated
                configuration: driver=sata_promise latency=72 maxlatency=18 mingnt=4 module=sata_promise


Op de site van linux-ata staat er het volgende:
code:
1
2
3
4
Promise TX2/TX4
Driver name: sata_promise

Summary: No TCQ. Newer cards support NCQ. Full SATA control including hotplug and PM on all.



Ik lijk dus aan alle vereisten te voldoen, en ook dmesg bevestigt dat
code:
1
2
3
4
[    4.201125] ata5: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    4.249096] ata5.00: ATA-7: MAXTOR STM3250820AS, 3.AAE, max UDMA/133
[    4.249096] ata5.00: 488397168 sectors, multi 0: LBA48 NCQ (depth 0/32)
[    4.321096] ata5.00: configured for UDMA/133


De NCQ depth staat echter op 0. Volgens de libATA FAQ:
code:
1
If NCQ is present but disabled, you may see "depth 0"


Gewoon een kwestie van NCQ inschakelen dus. Maar laat dat nu het deel zijn dat me niet lukt :'(

code:
1
2
Enabling NCQ, if supported, is the same:
$ echo 31 > /sys/block/sdX/device/queue_depth

[cmd]root@desktop:~# echo 31 > /sys/block/sda/device/queue_depth
bash: /sys/block/sda/device/queue_depth: Toegang geweigerd[/code]

Het read-only karakter van het queue_depth field zou betekenen dat mijn controller geen NCQ ondersteund, maar dit kan toch niet kloppen volgens de Promise site? Is er een manier om te controleren of mijn Promise controller wel degelijk NCQ ondersteund?

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 23:23

deadinspace

The what goes where now?

Zou je de foutmelding ook eens in het Engels kunnen geven? Dat lukt waarschijnlijk wel met
LANG=C echo 31 > /sys/block/sda/device/queue_depth

Ik vraag me namelijk af of hij "permission denied" of "operation not permitted" bedoelt.

Ook zou ik graag de output van ls -l op die file zien.

  • maleadt
  • Registratie: Januari 2006
  • Laatst online: 26-01 20:38
root@desktop:/sys/block/sda/device# echo 31 > queue_depth 
bash: queue_depth: Permission denied


root@desktop:/sys/block/sda/device# ls -la queue*
-r--r--r-- 1 root root 4096 2008-07-18 16:24 queue_depth
-r--r--r-- 1 root root 4096 2008-07-18 16:26 queue_type


"Permission denied" want read-only dus...


EDIT
juist even kernel config overlopen, geen speciale opties bij sata_promise, noch bij sata support (libata i guess)

[ Voor 15% gewijzigd door maleadt op 18-07-2008 16:50 ]