Zatizeni CPU pod kontrolou?
Tomas Hlavaty
hlavaty na labe.felk.cvut.cz
Čtvrtek Červen 28 15:58:34 CEST 2001
> Jeste me napada jina vec: 9% je pomerne velika zatez, pokud
> ma tentyz proces jeste cist data ze serioveho portu. Kdysi
> jsem psal nejaky program na 386 (tam to bylo haklive! joj!)
> a 15 procent zateze procesoru dokazalo spolehlive zastavit
> seriovy prenos. Vyresil jsem to tak, ze jsem proces rozdelil.
> Jeden cetl data z portu, bafroval, a pres pipu je posilal do
> dalsiho procesu, ktery provadel vlastni zpracovani. Problemy
> se ztratily.
Tak to ted funguje. Ovladac karty znaky bafruje a program si data
vycita.
> Co je v logu? Jsou tam zpravy o ztracenych znacich na seriovem
> portu? To znamena - problemy ma kernel? Nebo tam neni nic
> a jednoduse nestiha proces, ktery data cte a zpracovava?
Problemy ma kernel---vypadky jsou primo v ovladaci karty (ale pouze pri
velkem zatizeni---zipovani cca 150MB/prace s diskem). Proces, ktery cte
data z ovladace stiha.
Jsou nejspis dve mozne priciny:
1) Zatizeni/pretizeni zpusobuje vypadky obsluhy interruptu v ovladaci
karty v jadre;
2) nebo jsou vypadky zpusobeny (intenzivnim) pristupem na disk. Pokud
mam ale preruseni povolene i behem prace s diskem prikazem:
hdparm -u 1 -d 1 -k 1 /dev/hda (i pro dalsi disky), takze by to nemel
byt problem. Navic mam vyzkousene, ze diky tomuto prikazu lze pracovat s
disky a zaroven zpracovavat preruseni.
Další informace o konferenci Linux