Jak v jadre (modulu) pockat nekolik ms ci s
Radek Hnilica
radek.hnilica na moraviapress.cz
Středa Duben 19 13:18:17 CEST 2000
Odpověď kam: linux na linux.cz
Datum odeslání: Tue, 18 Apr 2000 21:25:05 +0200 (MET DST)
Od: Pavel Kankovsky <peak na argo.troja.mff.cuni.cz>
Komu: linux na linux.cz
Věc: Re: Jak v jadre (modulu) pockat nekolik ms ci s
> On Tue, 18 Apr 2000, Martin `MJ' Mares wrote:
>
> > Ja myslim, ze psat ovladace pro 2.0.38 uz je v dnesni dobe preci jen
> > anachronismus a ze by bylo rozumnejsi rovnou prejit pod 2.2.x, kde
> > se da cekani zaridit velice snadno:
Ovladac jsem stahul z webu Z-Com kde byl pro 2.0.36. Zatim ho
pouzivam (resp. snazim se) v 2.0.38 a planuji ho upravit aby jel v
2.2.x neb to budu potrebovat. A kdyz uz tak budu v tom, mozna by
stalo za to ho upravit taky pro 2.4.x.
V teto chvili mi dela problemy reset karet WL2420, ktery nekdy
neprobehne. Pote chci trochu procistit zdrojaky kde se pouziva k
cekani makro:
/* For rough constant delay */
/*RFH* I double SLOW_DOWN_IO in loop */
#define NOPLOOP(n) { int x=0; while(x++<(n)*2) {SLOW_DOWN_IO;
SLOW_DOWN_IO;} }
Ktere se na ruznych mistech pouziva s n = 100, 5000, 10000, 51200.
Zrovna tento zpusob cekani v modulu se mi nepozdava.
> > current->state = TASK_INTERRUPTIBLE;
> > schedule_timeout(HZ*pocet_sekund);
>
> Ano...v 2.0 to bylo opravdu mnohem slozitejsi :)
>
> current->state = TASK_INTERRUPTIBLE;
> current->timeout = jiffies + HZ*pocet_sekund;
> schedule();
Dik za nakopnuti. Jaky vyznam ma magicka konstatna HZ. Jaky vyznam
ma promenna jiffies. Jak udelam cekani pro kratsi intervaly, treba
10ms, 20ms, 30ms?
Radek Hnilica
MORAVIAPRESS, a.s.
U pony 3061
690 02 Breclav
tel.:+420-627-305 114
fax:+420-627-321 728
e-mail: Radek.Hnilica na MORAVIAPRESS.cz
Další informace o konferenci Linux