Pagina 1 di 1
APIC e MP-BIOS bug
Inviato: mer 21 mag 2008, 16:38
da lennynero
Ho installato la slackware 12.1 su un pc desktop con la seguente configurazione:
Motherboard: Asus M2N
HD SATA Maxtor 160GB
CPU AMD X2 5000+
Memoria RAM: 2GB Corsair
+altre periferiche trascurabili x adesso...
Se avvio la slackware normalmente(con il kernel smp) ottengo il suddetto errore e conseguente kernel panic:
MP-BIOS bug: 8254 Timer Not Connected to IO-APIC
per evitarlo devo passare al kernel il parametro noapic, ma la cosa mi scoccia un pò xke non vorrei disabilitare apic(x usare la virtualizzazione...). Non c'è una soluzione alternativa a questo problema?
Ci tengo a precidsare che in passato sullo stesso pc avviavo tranquillamente la Live di Ubuntu 7.10, ora anche lei richiede il flag noapic x partire...MHA. Qualcuno mi può chiarire un pò le idee? Grazie in anticipo.
Re: APIC e MP-BIOS bug
Inviato: mer 21 mag 2008, 16:56
da phobos3576
Il caso da te segnalato riguarda un bug presente nel BIOS di diversi PC, compreso il mio; non ho mai avuto però dei kernel panic perché tutto viene risolto in fase di boot come mostrato dal dmesg:
Codice: Seleziona tutto
ENABLING IO-APIC IRQs
..TIMER: vector=0x31 apic1=0 pin1=0 apic2=-1 pin2=-1
..MP-BIOS bug: 8254 timer not connected to IO-APIC
...trying to set up timer (IRQ0) through the 8259A ... failed.
...trying to set up timer as Virtual Wire IRQ... failed.
...trying to set up timer as ExtINT IRQ... works.
Come puoi notare, il kernel prova diversi metodi e alla fine trova quello giusto (ExtINT IRQ)!
In pratica, la IRQ assegnata al timer del PC non può essere gestita attraverso l'APIC e bisogna usare il vecchio medodo del PIC; infatti, nella lista delle IRQ ho:
Codice: Seleziona tutto
CPU0 CPU1
0: 258 0 XT-PIC-XT timer
1: 11498 9 IO-APIC-edge i8042
7: 1 0 IO-APIC-edge
8: 0 0 IO-APIC-edge rtc0
9: 0 0 IO-APIC-fasteoi acpi
.....................................
Nel tuo caso, dovresti ricompilare il kernel provando le varie configurazioni relative al timer 8254; ad esempio, nella sezione "Processor type and features" ho qualcosa del genere (anche se non so se può risolvere il tuo problema):
Re: APIC e MP-BIOS bug
Inviato: mer 21 mag 2008, 17:20
da lennynero
Grazie milla per la pronta risposta, sei stato molto chiaro, ma sospettavo una cosa del genere:
Codice: Seleziona tutto
lenny@darkstar:~$ cat /proc/interrupts
CPU0 CPU1
0: 74 0 XT-PIC-XT timer
1: 10361 0 XT-PIC-XT i8042
2: 0 0 XT-PIC-XT cascade
4: 1 0 XT-PIC-XT
5: 1 0 XT-PIC-XT sata_nv
6: 5 0 XT-PIC-XT floppy
7: 1 0 XT-PIC-XT parport0
8: 3 0 XT-PIC-XT rtc
9: 0 0 XT-PIC-XT acpi
10: 1386 0 XT-PIC-XT ehci_hcd:usb1
11: 1138297 0 XT-PIC-XT ehci_hcd:usb2, ohci_hcd:usb3, uhci_hcd:usb4, uhci_hcd:usb5, HDA Intel, Technisat/B2C2 FlexCop II/IIb/III Digital TV PCI Driver, eth0, fglrx
12: 169376 0 XT-PIC-XT i8042
14: 73879 0 XT-PIC-XT ide0
15: 435394 0 XT-PIC-XT sata_nv
NMI: 0 0 Non-maskable interrupts
LOC: 2056395 2056407 Local timer interrupts
RES: 250443 410541 Rescheduling interrupts
CAL: 19 135 function call interrupts
TLB: 2965 997 TLB shootdowns
TRM: 0 0 Thermal event interrupts
SPU: 0 0 Spurious interrupts
ERR: 1
MIS: 0
Il problema è che se abilito smp non posso abilitare IO-APIC....le 2 opzioni sono mutuamente esclusive...quindi disabilito smp?
Re: APIC e MP-BIOS bug
Inviato: mer 21 mag 2008, 18:12
da phobos3576
lennynero ha scritto:Il problema è che se abilito smp non posso abilitare IO-APIC....le 2 opzioni sono mutuamente esclusive...quindi disabilito smp?
Non mi risulta!
Io ho abilitato SMP (visto che ho un dual-core) e anche IO-APIC.
Re: APIC e MP-BIOS bug
Inviato: mer 21 mag 2008, 19:09
da lennynero
Io sono partito dal config 2.6.24.5-smp-huge di pat e da lì se non tolgo il supporto a smp non posso aggiungere io-apic, inoltre anche così facendo ottengo questo:
Codice: Seleziona tutto
ENABLING IO-APIC IRQs
..TIMER: vector=0x31 apic1=0 pin1=0 apic2=-1 pin2=-1
..MP-BIOS bug: 8254 timer not connected to IO-APIC
...trying to set up timer (IRQ0) through the 8259A ... failed.
...trying to set up timer as Virtual Wire IRQ... failed.
...trying to set up timer as ExtINT IRQ... failed :(.
la faccina compare davvero...e poi mi esorta ad usare noapic...
Re: APIC e MP-BIOS bug
Inviato: mer 21 mag 2008, 19:23
da d4z_c0nf
phobos3576 ha scritto:lennynero ha scritto:Il problema è che se abilito smp non posso abilitare IO-APIC....le 2 opzioni sono mutuamente esclusive...quindi disabilito smp?
Non mi risulta!
Io ho abilitato SMP (visto che ho un dual-core) e anche IO-APIC.
Anche io ho abilitato SMP, ed effettivamente controllando il config tramite
make xconfig
Le opzioni relative all'IO-APIC non si sono proprio.
Disabilitando SMP appaiono.
Il fatto strano però è questo:
Codice: Seleziona tutto
root@localhost:/usr/src/linux$ more /boot/config-2.6.25.3 | grep -i apic
CONFIG_X86_GOOD_APIC=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
mm
E' come se fossero "inglobate" nell'opzione smp ..
rock
da notare:
Codice: Seleziona tutto
root@localhost:/usr/src/linux$ more /boot/config-huge-smp-2.6.24.5-smp | grep -i apic
CONFIG_X86_GOOD_APIC=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_X86_IO_APIC=y
Re: APIC e MP-BIOS bug
Inviato: mer 21 mag 2008, 19:46
da phobos3576
Se disabiliti IO-APIC ti ritrovi con un sistema molto inefficiente; peggio ancora se disabiliti SMP!
Cercando un po su Google ho trovato che molti hanno risolto con un aggiornamento del BIOS!
Prima di compiere un passo del genere, prova però altre soluzioni; in particolare, molti avrebbero risolto disabilitando HyperThreading e/o "CPU Frequency Scaling", mentre altri consigliano di abilitare "enable_8254_timer" nel kernel!
Re: APIC e MP-BIOS bug
Inviato: gio 22 mag 2008, 15:50
da lennynero
Niente da fare ho provato diverse configurazioni ma ho sempre lo stesso problema:
Codice: Seleziona tutto
...trying to set up timer as ExtINT IRQ... failed :(.
Il massimo che sono riuscito ad ottenere è questo:
Codice: Seleziona tutto
bash-3.1# cat /proc/interrupts
CPU0 CPU1
0: 254 1 IO-APIC-edge timer
1: 4228 1 IO-APIC-edge i8042
2: 0 0 XT-PIC-XT cascade
5: 0 4 IO-APIC-fasteoi sata_nv
6: 1 4 IO-APIC-edge floppy
7: 1 0 IO-APIC-edge parport0
8: 1 2 IO-APIC-edge rtc
9: 0 0 IO-APIC-edge acpi
10: 4 0 IO-APIC-fasteoi ehci_hcd:usb1
11: 105602 33 IO-APIC-fasteoi ehci_hcd:usb2, ohci_hcd:usb3, uhci_hcd:usb4, uhci_hcd:usb5, HDA Intel, Technisat/B2C2 FlexCop II/IIb/III Digital TV PCI Driver, eth0
12: 58586 2 IO-APIC-edge i8042
14: 8020 14 IO-APIC-edge ide0
15: 64229 20 IO-APIC-fasteoi sata_nv
NMI: 0 0 Non-maskable interrupts
LOC: 370741 383280 Local timer interrupts
RES: 147382 63941 Rescheduling interrupts
CAL: 123 203 function call interrupts
TLB: 768 985 TLB shootdowns
TRM: 0 0 Thermal event interrupts
SPU: 0 0 Spurious interrupts
ERR: 1
...usando il parametro nolapic, ma devo x forza disabilitare qualcosa insomma...
Re: APIC e MP-BIOS bug
Inviato: ven 23 mag 2008, 21:23
da phobos3576
Resto convinto che il problema si può risolvere configurando opportunamente qualche opzione del kernel.
A questo punto, l'unica cosa che posso fare è fornirti il mio config relativo al kernel
2.6.24.7
config-2.6.24.7
Ricordati di modificare tutto ciò che non riguarda il tuo hardware; in particolare, io ho messo CPU AMD64, supporto SMP, niente init ram disk, supporto ext3 compilato nel kernel, supporto nvidia sata controller compilato nel kernel.
Tutto il resto dovrebbe andare bene.