SW RAID
Milan Roubal
roubm9am na barbora.ms.mff.cuni.cz
Středa Leden 15 16:41:04 CET 2003
Ted koukam ze pri posledni chybe uz to nehlasi lost interrupt, ale zacalo to
hlasit toto:
hdc: timeout waiting for DMA
ide_dmaproc: chipset supported ide_dma_timeout func only: 14
blk: queue c03f1430, I/O limit 4095Mb (mask 0xffffffff)
hdc: timeout waiting for DMA
ide_dmaproc: chipset supported ide_dma_timeout func only: 14
hdc: status timeout: status=0xd0 { Busy }
hdc: drive not ready for command
ide1: reset timed-out, status=0xd0
hdc: status timeout: status=0xd0 { Busy }
hdc: drive not ready for command
ide1: reset timed-out, status=0xd0
lost interrupt to hazelo historicky jak jsem ted zjistil z logu.
hodnoty v interrupts i ioprocs vypadaji vcelku normalne...
Dokazes jeste vysvetlit co presne mysli kernel tema timeoutama?
kde bych mel pokracovat v reseni dal? protoze po tomhle se to nestydi a
odpoji to harddisk.
Zdravi
Milan Roubal
# cat /proc/interrupts
CPU0 CPU1
0: 168606142 0 IO-APIC-edge timer
1: 4 0 IO-APIC-edge keyboard
2: 0 0 XT-PIC cascade
8: 4 0 IO-APIC-edge rtc
14: 942573 1 IO-APIC-edge ide0
15: 1995610 1 IO-APIC-edge ide1
16: 0 0 IO-APIC-level usb-uhci
18: 0 0 IO-APIC-level usb-uhci
19: 0 0 IO-APIC-level usb-uhci
28: 951229022 0 IO-APIC-level eth0
29: 240641727 0 IO-APIC-level eth1
48: 14964854 0 IO-APIC-level ide2, ide3
72: 14754394 0 IO-APIC-level idea, ideb
96: 7619175 0 IO-APIC-level ide4, ide5
100: 12968576 0 IO-APIC-level ide6, ide7
104: 15010979 0 IO-APIC-level ide8, ide9
NMI: 0 0
LOC: 168608360 168608359
ERR: 0
MIS: 0
# cat /proc/ioports
0000-001f : dma1
0020-003f : pic1
0040-005f : timer
0060-006f : keyboard
0070-007f : rtc
0080-008f : dma page reg
00a0-00bf : pic2
00c0-00df : dma2
00f0-00ff : fpu
0170-0177 : PCI device 8086:248b
0170-0177 : ide1
01f0-01f7 : PCI device 8086:248b
01f0-01f7 : ide0
02f8-02ff : serial(auto)
0376-0376 : PCI device 8086:248b
0376-0376 : ide1
03c0-03df : vesafb
03f6-03f6 : PCI device 8086:248b
03f6-03f6 : ide0
03f8-03ff : serial(auto)
0cf8-0cff : PCI conf1
1100-111f : PCI device 8086:2483
2000-201f : PCI device 8086:2482
2000-201f : usb-uhci
2020-203f : PCI device 8086:2484
2020-203f : usb-uhci
2040-205f : PCI device 8086:2487
2040-205f : usb-uhci
2060-206f : PCI device 8086:248b
2060-2067 : ide0
2068-206f : ide1
3000-4fff : PCI Bus #01
3000-3fff : PCI Bus #02
3000-300f : PCI device 105a:4d69
3000-3007 : ide2
3008-300f : ide3
3010-3013 : PCI device 105a:4d69
3012-3012 : ide3
3014-3017 : PCI device 105a:4d69
3016-3016 : ide2
3018-301f : PCI device 105a:4d69
3018-301f : ide3
3020-3027 : PCI device 105a:4d69
3020-3027 : ide2
4000-4fff : PCI Bus #03
4000-403f : PCI device 8086:1010
4000-403f : e1000
4040-407f : PCI device 8086:1010
4040-407f : e1000
5000-6fff : PCI Bus #04
5000-5fff : PCI Bus #05
5000-500f : PCI device 105a:4d69
5000-5007 : ide4
5008-500f : ide5
5010-501f : PCI device 105a:4d69
5010-5017 : ide6
5018-501f : ide7
5020-502f : PCI device 105a:4d69
5020-5027 : ide8
5028-502f : ide9
5030-5033 : PCI device 105a:4d69
5032-5032 : ide5
5034-5037 : PCI device 105a:4d69
5036-5036 : ide4
5038-503f : PCI device 105a:4d69
5038-503f : ide5
5040-5047 : PCI device 105a:4d69
5040-5047 : ide4
5048-504b : PCI device 105a:4d69
504a-504a : ide7
504c-504f : PCI device 105a:4d69
504e-504e : ide6
5050-5057 : PCI device 105a:4d69
5050-5057 : ide7
5058-505f : PCI device 105a:4d69
5058-505f : ide6
5060-5063 : PCI device 105a:4d69
5062-5062 : ide9
5064-5067 : PCI device 105a:4d69
5066-5066 : ide8
5068-506f : PCI device 105a:4d69
5068-506f : ide9
5070-5077 : PCI device 105a:4d69
5070-5077 : ide8
6000-6fff : PCI Bus #06
6000-600f : PCI device 105a:4d69
6000-6007 : idea
6008-600f : ideb
6010-6013 : PCI device 105a:4d69
6012-6012 : ideb
6014-6017 : PCI device 105a:4d69
6016-6016 : idea
6018-601f : PCI device 105a:4d69
6018-601f : ideb
6020-6027 : PCI device 105a:4d69
6020-6027 : idea
7000-7fff : PCI Bus #07
7000-70ff : PCI device 1002:4752
> > > sdelit tou hlaskou lost interrupt? je to vada radice, disku, jadra,
> > > specifikace IDE nebo co to vlastne je a jak tomu predchazet? Co mi
> > > tam vlastne vytuhne?
> > To se nesnazi sdelit disk, ale kernel - vi, ze nastalo preruseni od
> > disku, ktere ale bylo zahozeno driv, nez se k nemu kernel dostal a
> > mohl ho nejak resit.
> Tak to mi neni vubec jasne. Kdo to preruseni zahodi? znamena to tedy
> ze je pomalej procesor? co to znamena realne pro ten hardware (pro radic,
> pro disk) ze to preruseni nedorazi do procesoru?
> Zkus to prosim vysvetlit trochu podrobneji co se tam deje.
'lost interrupt' nastava, kdyz to zarizeni, ktere interrupt vyvolalo,
shodi signal prislusnem dratu driv, nez PIC dostane od procesoru signal
INTA, kterym procesor potvrzuje, ze o interruptu vi.
V bezne situaci, zarizeni ktere vyvolalo preruseni nahodi prislusny signal
na dratu (IR) k PIC, coz zase zpusobi, ze PIC nahodi prislusny signal
(INTR) na dratu k procesoru. Procesor na to odpovi zpatky signalem INTA.
PIC pote co obdrzi INTA PIC posle na sbernici "ukazatel" na ISR pro
interrupt s nejvyssi prioritou. Ale v pripade, ze PIC v tuhle chvili
zjisti, ze zadna z jeho IR linek neni nahozena (jde o draty od zarizeni,
signalizujici preruseni), tak dochazi k lost interruptu (a PIC posle
sekundarnimu PIC prislusne IRQ (7?)).
Takze lost interrupt nastava tehdy, kdyz PIC nevi, ktery interrupt
zpusobil, ze poslal INTR procesoru.
Takhle nejak si to pamatuju, ale za nic nerucim a pokud je to spatne, tak
vsechno zapru ;)
Kdyz Ti tohle linux hlasi, problem muze byt v leccems. Nejak jsem nestihl
zacatek threadu, takze nevim, jestli Ti to zacalo delat s novym jadrem,
nebo se to objevuje proste cas od casu nahodne. Zkus, mas-li moznost, jiny
radic disku, muze byt vadny. Zkontroluj /proc/interrupts a /proc/ioports,
jesti to vypada rozumne a bezkonfliktove...atd.
Další informace o konferenci Linux