Newsgroup: it.comp.os.linux.sys
Titolo: nVidia sata, hdparm

Salve a tutti.
Ho installato una gentoo su una ASRock ALiveNF7G-HD720p R5.0 con
controller sata nvidia, visto correttamente dal kernel. La cpu e' un
AMD64 X2 4800+. Ahci e sata_nv sono compilati nel kernel e non inseriti
come moduli. Tutto e' stato compilato in modo specifico per architettura
AMD64.
hdparm -tT /dev/sda mi restituisce:
/dev/sda:
 Timing cached reads:   2402 MB in  2.00 seconds = 1201.89 MB/sec
 Timing buffered disk reads:  150 MB in  3.03 seconds =  49.45 MB/sec
se invece parto da una live cd (gentoo 2007.0, o wifislax) compilate per
x86 generico, lo stesso comando:
hdparm -tT /dev/sda mi da:
/dev/sda:
 Timing cached reads:    4224 MB in  2.00 seconds = 2113.44 MB/sec
 Timing buffered disk reads:   288 MB in  3.00 seconds = 95.98 MB/sec
Vorrei capire come mai questa differenza abissale tra il kernel che ho
compilato io (2.6.24) e quello trovato nelle live cd.
Ho anche controllato che il dma sia attivo:
hdparm -I /dev/sda
/dev/sda:
ATA device, with non-removable media
        Model Number:       ST3500320AS
        Serial Number:      5QM0B0ZQ
        Firmware Revision:  SD15
        Transport:          Serial
Standards:
        Supported: 8 7 6 5
        Likely used: 8
Configuration:
        Logical         max     current
        cylinders       16383   16383
        heads           16      16
        sectors/track   63      63
        --
        CHS current addressable sectors:   16514064
        LBA    user addressable sectors:  268435455
        LBA48  user addressable sectors:  976773168
        device size with M = 1024*1024:      476940 MBytes
        device size with M = 1000*1000:      500107 MBytes (500 GB)
Capabilities:
        LBA, IORDY(can be disabled)
        Queue depth: 32
        Standby timer values: spec'd by Standard, no device specific
minimum
        R/W multiple sector transfer: Max = 16  Current = 16
        Recommended acoustic management value: 254, current value: 0
        DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 udma5
*udma6
             Cycle time: min=120ns recommended=120ns
        PIO: pio0 pio1 pio2 pio3 pio4
             Cycle time: no flow control=120ns  IORDY flow control=120ns
Commands/features:
        Enabled Supported:
           *    SMART feature set
                Security Mode feature set
           *    Power Management feature set
           *    Write cache
           *    Look-ahead
           *    Host Protected Area feature set
           *    WRITE_BUFFER command
           *    READ_BUFFER command
           *    DOWNLOAD_MICROCODE
                SET_MAX security extension
           *    48-bit Address feature set
           *    Device Configuration Overlay feature set
           *    Mandatory FLUSH_CACHE
           *    FLUSH_CACHE_EXT
           *    SMART error logging
           *    SMART self-test
           *    General Purpose Logging feature set
           *    64-bit World wide name
           *    Write-Read-Verify feature set
           *    WRITE_UNCORRECTABLE command
           *    {READ,WRITE}_DMA_EXT_GPL commands
           *    SATA-I signaling speed (1.5Gb/s)
           *    Native Command Queueing (NCQ)
           *    Phy event counters
           *    Software settings preservation
           *    SMART Command Transport (SCT) feature set
           *    SCT Long Sector Access (AC1)
           *    SCT Error Recovery Control (AC3)
           *    SCT Features Control (AC4)
           *    SCT Data Tables (AC5)
                unknown 206[12]
Security:
        Master password revision code = 65534
                supported
        not     enabled
        not     locked
                frozen
        not     expired: security count
                supported: enhanced erase
        96min for SECURITY ERASE UNIT. 96min for ENHANCED SECURITY ERASE
UNIT.
Checksum: correct
Mi date qualche suggerimento ed un punto di partenza dal quale iniziare
le verifiche ed i controlli per ottenere le stesse velocita' che con una
live sono praticamente doppie?
Grazie e saluti





 velocita' che con una live sono praticamente doppie?
Confronta il risultato del comando 'hdparnm -a' nei due casi. 
Potrebbe esserci qualche parametro settato diversamente.
Ricordo di aver avuto un problema analogo e non veniva settato il 
multicount oppure il read-head (ora non ricordo) perché non settato 
nel kernel ricompilato.
Ciao
Giovanni
-- 
   A computer is like an air conditioner,
   it stops working when you open Windows.
   Registered Linux user #337974  < 
http://giovanni.homelinux.net/
 >

 
Ho svelato mezzo arcano!
Le live che ho provato caricano libata e poi sata_nv che riconosce 
perfettamente il controller sata.
Nel kernel compilato invece, se uso precompilato sata_nv il controller 
non viene riconosciuto e i il kernel non monta nessun filesystem, 
perche' non trova i dischi.
Se invece di sata_nv uso ahci, linux parte, ma con le prestazioni 
dimezzate delle unita' dischi.
Ora come diavolo faccio a fargli caricare prima libata e il sata_nv 
senza usare ahci?
Intanto mi sto studiando come funziona initrd che forse e' la soluzione!
Grazie e saluti.

 perfettamente il controller sata.
E' incredibile... non riesco a far funzionare sata_nv... non riconosce 
il controller, ma perche'?
Quello che ho fatto:
Ho usato genkernel con initrd, quindi ho compilato come moduli quasi 
tutto quello che potevo.
Al boot posso ora scegliere quale modulo escludere, se escludo ahci il 
controller non viene visto, pur caricando sata_nv, non trovo nulla nei 
log, e nemmeno nei messaggi del kernel che invio via seriale a 115200, 
verso un terminale seriale. La live che usa un kernel 2.6.19 usa 
perfettamente sata_nv e se escludo ahci, tutto funziona correttamente.
E' come se qualcosa nel mio kernel (2.6.24 o .23) impedisse a sata_nv di 
riconoscere il controller!
Per ora sono riuscito (non so come) a raddoppiare la velocita' di 
lettura del disco che e' passata a circa 108MB/sec, mentre il Timing 
cached reads rimane a 1208 invece che 2500 circa.
Suggerimenti prima che divento matto?
Saluti e grazie.