10ms impuls

Pavel Kankovsky peak na kerberos.troja.mff.cuni.cz
Úterý Říjen 7 12:13:07 CEST 1997


On Tue, 7 Oct 1997, Tom Mazouch wrote:

> Marek Gresko wrote:
[...]
> No...tohle je prave vec, kterou bych potreboval potvrdit. Podstatny je
> to, ze se proste _nesmi_ stat, aby se ten cas za urcitych meznich
> podminek (velka zatez systemu) prodlouzil. Bud 10ms nebo nic a zkusit to
> za chvili.

no... on je stejne problem ten, ze 10ms je na Intelskych procesorech prave 
casove kvantum, se kterym se planuje (casovac jede na 100 Hz), takze ani
nanosleep() ani nic jineho to neudela moc presne

reseni:
1) vecpat se do jadra a povesit se na casove tiky (nejake ty timery,
   co tam pouziva kazdy druhy driver)
2) bezet s realtime planovanim (sched_setscheduler(SCHED_FIFO)) a tech 10 ms
   vyrobit po kouscich, protoze nanosleep() je pro male intervaly (snad asi
   <= 2 ms) delan bez preplanovavani cekaci smyckou v jadre, takze bude
   (pri vhodne priorite) zajisteno, ze se k lizu nedostane nikdo jiny
   (s vyjimkou jadra, ktere by se melo chovat slusne a nijak zvlast to
   nezdrzovat)
3) poridit si Alphu, kde je kvantum 1 ms a nezatezovat ji :)

--Pavel Kankovsky aka Peak (troja.mff.cuni.cz network administration)



Další informace o konferenci Linux