erlug
[Top] [All Lists]

Re: [Erlug] prestazioni HardDisk/File System

To: Erlug <erlug@xxxxxxxxxxxxxx>
Subject: Re: [Erlug] prestazioni HardDisk/File System
From: xpicio <xpicio@xxxxxxxxx>
Date: Fri, 11 Jun 2004 09:10:36 +0200
Il gio, 2004-06-10 alle 17:28, Maurizio Lemmo - Tannoiser ha scritto: 
> In breve: ho sempre impostato idebus=miobus. Nel mio specifico (ata100)
> idebus=100. Nel tuo, imposterei 133. _perche`_ 41?

1)Se metto idebus=133 ottengo questo fantastico errore:

Kernel command line: ro root=/dev/mainGroup/00root hdc=ide-scsi
hdd=ide-scsi vga=0x315 rhgb idebus=133
ide_setup: hdc=ide-scsi
ide_setup: hdd=ide-scsi
ide_setup: idebus=133 -- BAD BUS SPEED! Expected value from 20 to 66

2)Invece se provo a mettere idebus=66 ho un altro fantastico errore:

ide: Assuming 66MHz system bus speed for PIO modes
NFORCE2: IDE controller at PCI slot 00:09.0
NFORCE2: chipset revision 162
NFORCE2: not 100% native mode: will probe irqs later
AMD_IDE: Bios didn't set cable bits corectly. Enabling workaround.
AMD_IDE: User given PCI clock speed impossible (66000), using 33 MHz
instead.
AMD_IDE: Use ide0=ata66 if you want to assume 80-wire cable
AMD_IDE: nVidia Corporation nForce2 IDE (rev a2) UDMA133 controller on
pci00:09.0
    ide0: BM-DMA at 0xf000-0xf007, BIOS settings: hda:DMA, hdb:DMA
    ide1: BM-DMA at 0xf008-0xf00f, BIOS settings: hdc:DMA, hdd:DMA

Ora ti spiego il 41. Guardando nel sorgente del solito modulo in
questione amd74xx ho visto che quando determina la velocità del bus fa
un if che taglia fuori i valori < di 20000 e > di 50000 da cui ne deriva
il secondo messaggio di errore che ottengo. Ecco il pezzo di codice
interessato:

--/usr/src/linux-2.4/drivers/ide/pci/amd74xx.c--
/*
* Determine the system bus clock.
*/
                                                                                
    amd_clock = system_bus_clock() * 1000;
                                                                                
    switch (amd_clock) {
        case 33000: amd_clock = 33333; break;
        case 37000: amd_clock = 37500; break;
        case 41000: amd_clock = 41666; break;
    }
                                                                                
    if (amd_clock < 20000 || amd_clock > 50000) {
        printk(KERN_WARNING "AMD_IDE: User given PCI clock speed
impossible (%d), using 33 MHz instead.\n", amd_clock);
        printk(KERN_WARNING "AMD_IDE: Use ide0=ata66 if you want to
assume 80-wire cable\n");
        amd_clock = 33333;
    }

E dallo switch ho dedotto, erroneamente, che valori maggiori di 41 non
li considera; invece ora, guardando con maggiore attenzione ho notato
che accetta valori fino a 50000, quindi si può anche impostare il valore
idebus=50 senza ottenre errori. Inutile dire che ho provato con
idebus=50 ma non ho ottenuto miglioramenti.

Bye Bye

Attachment: signature.asc
Description: Questa parte del messaggio =?ISO-8859-1?Q?=E8?= firmata

<Prev in Thread] Current Thread [Next in Thread>