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