ata3: reiniting channel
Dan Lukes
dan at obluda.cz
Wed Aug 23 18:37:35 CEST 2006
Miroslav Lachman napsal/wrote, On 08/23/06 18:00:
>>>Aug 23 14:31:35 track kernel: ata3: reiniting channel ..
>> Hlasku je mozne videt jen za zapnuteho "bootverbose".
> Aha! Je pravda, ze jsem naposledy bootoval system prave s volbou verbose
> logging - lze toto chovani nekde nastavit, aby se system vzdy (dokud
> nereknu jinak) bootoval s verbose logging?
/boot/loader.conf (see /boot/default/loader.conf)
za behu systemu take pomoci nastaveni prislusne sysctl
>> 1. v prubehu ata_resume (coz se dela pri probouzeni ze sleep)
>
> Sleep jako spanek celeho systemu
...
> Jelikoz se jedna o server, na kterem zrovna bezel zatezovy test,
> tak urcite nespal :)
Slep v kontextu power managementu. Coz al enemusi nutne znamenat system
jako celek - v zasade lze uspavat komponenty selektivne. Nicmene, ani to
by nemelo nastavat "samo".
Dalsi otazka je, jestli resume je podmineno predchozim sleepem -
jakkoli to zni logicky.
Neznam konfiguraci toho stroje - je-li aktivni APM nebo ACPI, muze byt
zdrojem techto udalosti i BIOS. A na korektnost implementace techto veci
v BIOSu mam vlastni nazor ...
Mozna reseni je pozakazovat v tomto ohledu vsechno co je mozne (uz v
BIOSu).
Nicmene, to tu spradam hypotezy - nerikam, ze onen konkretni problem
pochazi odsud ...
>> 2. protoze si to nekdo opravneny vyzadal pomoci ioctl IOCATAREINIT
>
> Tim je mysleno manualni `atacontrol reinit`
Napriklad - nebo jakakoliv jina systemova ci uzivatelska utilita a
rutina s dostatkem opravneni.
> nebo se toto volani deje i
> nejak "samo" na zaklade jakesi systemove udalosti, ktera nastava zcela
> bezne? (omlouvam se za ty dotazy, ale nevidim do systemu tak hluboko,
Ani ja ne - nemam predstavu, zda nektera kompomenta za nejakych
okolnosti takovy pozadavek vyslovi. "Podezrelym" v rade prvni je v tomto
pripade kod softwaroveho raidu - ale opravdu nevim, jestli je to
podezreni opravnene.
V nejhorsim pripade lze grepem projit kompletni zdrojaky na vyskyt
IOCATAREINIT - tim by se melo dat zjistit, zda jej neco pouciva, pokdu
ani tak co a kdy ...
>> Bohuzel, dostupne udaje neumoznuji zadne velke zkoumani ani jedne z
>> techto moznosti. A krome analyzy memory-dumpu (kdyby byl k dispozici) me
>> ani nenapada, jake informace by k odpovedi mohly prispet ...
>
> Sam bohuzel vice informaci nemam, jen to, co mi poskytnul
> /var/log/messages, kde opravdu neni zachyceno nic vic predem, ani po
> tom. O memory-dumpu v logu zadny zaznam neni, znamena to tedy, ze se ani
> nestihnul vytvorit, nebo jsem nekde neco zakazal/nenastavil, takze se mi
Zmineny dump by se vytvoril, pokud pri padu doslo k panicu systemu, v
konfiguraci je nastaveno kam se dump ma delat (dela se vzdy do swapu,
ale je treba oznacit do ktereho), onen swap je k dispozici a jeho
velikost je vetsi nez velikost fyzicke pameti.
Doufam, ze jsem na nic nezapomel ...
Pri (pristim) startu systemu je mozne dump ze swapu vytahnout a ulozit
si ho jako "normalni" soubor.
Do LOGu se o tom zadny zaznam nedela - system v panicu, delajici tento
dump je ve velmi spatne definovanem stavu - ten uz neni zpusobily psat
do nejakych souboru - je rad, ze zvladne to raw zarizeni (swap).
A nekdy ani to ne - pri urcitem typu zavady je stav systemu natolik
spatny, ze neni schopen udelat ani tohle. A to pomijim takove stavy
systemu (na urovni hardwarove), ze o vzniklem problemu se OS proste
vubec nedozvi. Urcite stavy procesoru (napriklad triple-fault) proste
znamenaji okamzity reset - nikomu se nedava prilezitost se o tom
dozvedet natozpak s tim neco udelat ...
Neni jiste, ze se dump udelal ...
Nicmene, i v pripade, ze dump nemate, neni to takova skoda - on je
celkem k nicemu, pokud nemate jadro (to, ktere bylo aktivni, kdyz to
spadlo) prelozene s debugovacimi informacemi.
A dokonce i kdyz je tohle splnene - tak se proste dokazete podivat v
kterem miste kodu to spadlo - a jaky byl stav pameti. Ale pokud nejde o
nejaky trivialni problem a aktualni pad byl napriklad zpusoben tim, ze
obsah pameti byl poskozen nejakou uplne jinou udalosti, ke ktere doslo
nekdy drive a ktera sama bezprostredne k padu nevedla, tak to se z
takoveho dumpu zjistuje velice problematicky ...
Abych ukazal, proc ta analyza muze byt prakticky nemozna - vemte chybu
v komunikaci s nejakou periferii, ktera pomoci DMA prenasi data do
pameti - sitova karta, radic disku, neco takoveho. V jednu chvili
naprogramujete (blbe) periferii a jdete si delat neco uplne jineho. A
ona periferie si resi svoje problemy a kdyz ma data k dispozici, coz je
za nahodnou dobu, tak je zapise do pameti. A neni-li to tam, kde to ma
byt, je to nekde jinde a nejspis to neco prepsalo. Ale neda se rict, kdy
se ta nahodne prepsana pamet projevi a jak - proste se nekdy projevi.
Informace, jakou instrukci v te chvili vykonaval procesor je celkem k
nicemu ...
Cimz nerikam, ze tohle je problem dotceneho stroje - jen chci rict, ze
ja analyzu toho dumpu delat nebudu, i kdyby byl k dispozici ;-)
> Navic po bootu se spusti fsck a pri kontrole posledniho oddilu prvniho
> disku dojde opet k samovolnemu rebootu (probehlo jich 5, pak jsem
> background fsck zastavil a pokusim se "nejak" zjistit, co vede system k
> tomu, ze pri fsck spadne - opet bez jakekoliv hlasky v logu.)
Pad uplne bez varovani (musite byt u console - na dalku to nepoznate)
je obvykle spis znamka problemu hardware, nebo komunikace te nejnizsi
vrstvy systemu s hardwarem ...
Jeste tak by mohlo jit o poskozeny filesystem v kombinaci s chybou
jadra ...
S timhle vam opravdu prilis nepomohu - v podobnych pripadech pomaha jen
zarikavani ...
Zdravi
Dan
--
Dan Lukes SISAL MFF UK
AKA: dan at obluda.cz, dan at freebsd.cz,dan at kolej.mff.cuni.cz
More information about the Users-l
mailing list