[OSy] Nestihajici zapsani CP0 compare registru

Michal Klempa michal.klempa at gmail.com
Wed Nov 3 13:55:18 CET 2010


2010/11/3 Martin Decky <decky at d3s.mff.cuni.cz>

> Mam timer, ktory si pusta priamo scheduler, takze raz cas sa aktivuje
>> funkcia 'schedule' volana ako handler nejakej struct timer:
>> schedule_init () {
>>
>>        timer_init(&tmr[cpuid()], 2000,&schedule_on_timer, ...)
>>        timer_start(&tmr[cpuid()]);
>> }
>>
>
> Zrejme tedy myslenka, ze planovac je obsluzna rutina generickeho timeru,
> nebude uplne nejstastnejsi ..
>
> Mozna uz jen proto, ze obecne timery maji jednorazovou povahu, zatimco
> preemptivni planovac je urcite spise periodicka zalezitost. Viz muj
> predchozi email -- snaha o jednotne API by nemela znamenat, ze se nasilne
> unifikuji i veci, ktere by bylo vyhodnejsi resit na ruznych urovnich
> abstrakce.

Na tuto zradnu cesticku ma naviedol komentar v kaliste v schedule(), kde je
nieco v zmysle better use timer framework.


>
>
>  Otazka je, maju sa spracovavat handlery timerov so zakazanym
>> interruptom?
>>
>
> Na to se neda uplne obecne odpovedet, to zavisi na mnoha jinych
> rozhodnutich v navrhu Vaseho kernelu. Kde a jak presne handlery timeru bezi,
> zda je Vas kernel obecne preemptivni (tj. podporuje vnorene vyjimky) apod.
>
>
>  Myslim ze som to dokazal kodom vyssie, nejaka rozumna konstanta tam asi
>> vzdy bude musiet byt, lebo samotne write_cp0_compare a read_cp0_count
>> nieco trvaju, tak aby som tam zapisal nieco urcite vacsie, ako pocet
>> tickov ktore trva kym sa vykonaju tieto instrukcie.
>>
>
> Jiste, nema smysl, aby se timer exception vyvolal okamzite pote, co
> nastavite Compare a Count. Na to nepotrebujete zadny exception, v takovem
> pripade je lepsi zavolat obsluzny kod primo :)
>
>
>
> M.D.
>
> _______________________________________________
> OSy mailing list
> OSy at d3s.mff.cuni.cz
> https://d3s.mff.cuni.cz/mailman/listinfo/osy
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://d3s.mff.cuni.cz/pipermail/nswi004/attachments/20101103/ff2afb9c/attachment.html>


More information about the NSWI004 mailing list