Risolto, grazie alla collaborazione di tutti gli utenti del forum Ubuntu-it, un problema piuttosto difficile (ma prevedibile) che riguarda il processore AMD Turion 64bit e probabilmente anche altri processori con supporto Powernow! (k7 e k8).

Se abbiamo utilizzato le opzioni noapic o nolapic per avviare il nostro sistema, per disabilitare le tabelle IRQ, molto probabilmente abbiamo disabilitato anche il modulo, o i moduli, powernow-k* che non possono essere attivati per il seguente motivo:

FATAL: Error inserting powernow_k7 (/lib/modules/2.6.20-16-generic/kernel/arch/i386/kernel/cpu/cpufreq/powernow-k7.ko): No such device

Nessun dispositivo trovato:

/sys/devices/system/cpu/cpu0//cpufreq/scaling_governor: Directory nonexistent

Powernowd (tool per lo scaling in userspace) chiuso per questo errore:

powernowd: PowerNow Daemon v0.97, (c) 2003-2006 John Clemens
/sys/devices/system/cpu/cpu0/cpufreq/affected_cpus: No such file or directory
powernowd: err=2
powernowd: Found 2 scalable units: — 1 ‘CPU’ per scalable unit
/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq: No such file or directory

==========
Soluzione
==========

Omettendo dal file /boot/grub/menu.lst le opzioni noapic nolapic il modulo powernow-k* riesce finalmente a caricarsi e ad attivare lo scaling della frequenza in kernel/userspace.
La stessa cosa vale al boot con i parametri-kernel che si passano premendo F6

Questo accade per via dei numerosi bug che affliggono il sistema APIC, specialmente quando e’ presente questo controller.
Un workaround conosciuto, per Linux, e’ proprio quello di disabilitare il routing IRQ del bios, provocando pero’ la perdita di qualche modulo o il conflitto di canali IRQ. Dal malfunzionamento del BIOS solitamente derivano anche i ben noti problemi di ACPI.

Se non e’ strettamente necessario ai fini dell’avvio, e’ meglio togliere noapic nolapic. Per fare una controprova, ho provato ad utilizzare queste due opzioni sul mio sistema che non ne ha bisogno, ed il risultato e’ stato un bel kernel panic. Attenzione quindi ad inserire noapic nolapic quando non serve.

Breve cenno su l’architettura APIC Intel.

Advanced Programmable Interrupt Controllers (APICs): Ideati da Intel ed utilizzati nei computer dotati di multiprocessori (SMP) . Originariamente implementato da Intel 82093AA e 82489DX, trova posto in molte motherboards x86 SMP. E’ uno dei maggiori tentativi di risolvere il routing degli interrupts con questo tipo di processori.

Per esempio, ci sono 2 componenti principali in un sistema APIC di Intel:
Local APIC (LAPIC): APIC locale.
I/O APIC: input/output APIC.

LAPIC e’ integrato in ciascuna CPU del sistema, mentre l’ I/O APIC e’ usato attraverso un sistema di BUS periferici. Generalmente c’e’ un solo I/O APIC per ogni BUS del sistema. Originariamente sono stati disegnati entrambi per essere connessi ad un solo APIC-BUS dedicato e i piu’ moderni sistemi usano proprio il BUS come comunicazione tra i vari componenti APIC

Local APIC

LAPIC gestisce tutti gli interrupt esterni per i processori che ne fanno parte. In aggiunta, e’ in grado di generare e di accettare gli inter-processor interrupts (IPIs) tra i vari LAPIC. LAPIC puo’ supportare fino a 224 canali IRQ guidati da I/O APIC.

I/O APICs

I/O APIC contiene una tabella di redirezione, usata nell’instradamento degli interrupts ricevuti dai BUS di sistema, verso uno o piu’ APIC locali.

Tratto da Wikipedia.

E dopo questa bella spiegazione di wikipedia, non ho ancora ben capito cosa c’entrano gli APIC di Intel con un processore AMD, o cosa ci faccia un interrupt-controller di Intel sempre con un processore AMD.
🙂

Related Posts Plugin for WordPress, Blogger...

Il tuo indirizzo ip:
54.227.76.35

Valutazione 3.00 su 5
happy wheels 2 demo

Category:

Senza categoria

Tags:

Commenti via Facebook:

Leave a Reply

Your email address will not be published. Required fields are marked *

*

7 Comments

  • avevo visto questa modifica da qualche altra parte (ovviamente non il forum, che purtroppo seguo poco, ma qualcosa bisogna pur scegliere non si può leggere tutto il mondo) e la avevo già applicata per i miei AMD.
    Averlo notato te la passavo gia’ qualche mesetto fa. 😉 mi spiace 🙁

      Quota

  • @Luna
    tranquillo..tanto il problema non e’ mica mio
    🙂

      Quota

  • sevencapitalsins SWEDEN 11 anni ago

    non ho ancora ben capito cosa c’entrano gli APIC di Intel con un processore AMD, o cosa ci faccia un interrupt-controller di Intel sempre con un processore AMD.

    La Intel e la AMD condividono ogni risultato prodotto dai rispettivi laboratori di ricerca.

    In origine esisteva solo Intel, poi l’Antitrust ha mugugnato ed è nata la AMD creata da ex dipendenti Intel. Subito è stato stipulato l’accordo in base al quale le tecnologie inventate dall’una sarebbero state “passate” all’altra.

    Comunque molto molto interessante questo articolo, appena le mie cellule nervose tornano dal mare vedrò come reagisce il mio portatile che già ha fuso la licenza Window$ (non che mi dispiaccia neh! ma quando saranno le mie ginocchia a fondersi…)

    Ciauz!

      Quota

  • e per chi usa il lilo?

      Quota

  • @wiz
    gli interrupt non sono disabilitati di default..sia in lilo che in grub non c’e’ nolapic noapic..si intende che sia gia’ stato inserito per poter avviare il sistema

      Quota

  • Il problema non è di così facile soluzione, io ho un Turion X2 e ho sempre avuto problemi al boot di installazione provvedendo a volte con acpi=off, nolapic, noapic ectr. Da notare che mettendo Noapic in fase di installazione si producono meno errori possibili in quanto viene riconosciuto l’audio di default. Comunque ad ogni avvio persiste in molti di questi portatili un errore “pnpbios bug:unable to allocate mem resources #6”. Non si è ben capito se sia dovuto al kernel linux o ad un bug del bios. Arrivo al dunque levando l’opzione noapic al boot la macchina non parte!

      Quota

  • @sam
    un bug del bios per quanto riguarda il pnp..mentre un interrupt malato e’ quello che ti obbliga a disattivare TUTTi gli interrupt con noapic…
    Se senza “noapic” il boot non va avanti non c’e’ molto da fare
    🙁

      Quota