Linux - przetasowanie w sterownikach PATA/SATA
kozik Poczynając od Linuksa 2.6.19 została częściowo ustabilizowana cała gałąź nowych sterowników dla PATA/SATA. Zasadniczo to wydarzyły się dwie rzeczy…
- drivery libata (SATA) zostały w konfiguracji kernela przesunięte z drzewa SCSI do nowego “Serial ATA (prod) and Parallel ATA (experimental) drivers“
- pojawiły się nowe sterowniki eksperymentalne PATA w tym drzewie (korzystające przy nazewnictwu urządzeń ze SCSI, czyli /dev/sdX)
Powstające dzięki temu ujednolicenie i konfiguracji i nazw urządzeń wydaje się pozytywnym aspektem. Pozostało sprawdzenie zachowana się nowych sterowników PATA na mojej płycie z VIA VT8235 (stary moduł - via823x; nowy - pata_via).
Pierwszym bólem była praca dysków w trybie UDMA/33, mimo informacji od sterownika, że skonfigurował urządzenia dla UDMA/100 i UDMA/133. Niestety obecne sterowniki SATA/PATA (z libata) dziedziczą wprost z architektury SCSI, więc hdparm sporej części komend nie jest w stanie wykonać (właściwie - sterownik nie jest w stanie). Stąd nie można takiego dysku przestawić ani na wyższy tryb UDMA, ani włączyć 32-bitowego dostępu (hdparm podaje tryb 16-bitowy), ani dostępu DMA. Rozwiązaniem powinien być sdparm, ale on nie obsługuje wszystkich komend z hdparm.
Czas na krótkie i szybkie testy komendą “hdparm -t” oraz “hdparm -t –direct” - dwóch dysków SAMSUNG: 120 GB SP1213N (120 GB, 8 MB cache), SP0842N (80 GB, 2 MB cache).
Dla starego sterownika via823x:
- SP1213N=49 MB/s; SP0842N=46 MB/s (bez O_DIRECT)
- SP1213N=42 MB/s; SP0842N=42 MB/s (z O_DIRECT)
Dla nowego sterownika pata_via:
- SP1213N=29 MB/s; SP0842N=26 MB/s (bez O_DIRECT)
- SP1213N=31 MB/s; SP0842N=31 MB/s (z O_DIRECT)
Jak widać różnice są bardzo spore. Możliwe, że wynikają również z ograniczonego do UDMA/33 transferu. W każdym razie na razie sobie odpuszczę nowe drivery PATA…
Wysłano w Blog - Linux i Unix |
