[so2] Planificarea de tasklet-uri mutiple

Claudiu Ghioc claudiu.ghioc at gmail.com
Fri Jul 25 16:13:24 EEST 2014


Salut,

"[Tasklets] They may be scheduled to run multiple times, but tasklet
scheduling is not cumulative; the tasklet runs only once, even if it
is requested repeatedly before it is launched." [1]

De asemenea,
"static inline void tasklet_schedule(struct tasklet_struct *t)
{
         if (!test_and_set_bit(TASKLET_STATE_SCHED, &t->state))
                __tasklet_schedule(t);

}"[2].
Iti verifica bitul TASKLET_STATE_SCHED inainte de planificare, si il
seteaza daca nu e setat. Deci poti sa zici ca da, "acelasi tasklet" se
refera la aceeasi variabila.

Hint: use the source.
Claudiu

[1] http://lwn.net/images/pdf/LDD3/ch10.pdf - capitoul Tasklets
[2] http://lxr.free-electrons.com/source/include/linux/interrupt.h?v=3.4#L555

2014-07-25 15:56 GMT+03:00 Catalin Vasile <catalinvasile92 at gmail.com>:
> Lab6:
> "
> Dacă un tasklet a fost planificat de mai multe ori și nu a rulat între
> planificări, el va rula o singură data:
>
> tasklet_schedule(&tasklet);
>
> /* presupunem ca tasklet-ul nu a rulat inca */
>
> tasklet_schedule(&tasklet);
>
> /* in aceste condiții tasklet-ul va rula o singura data */
> "
>
> La ce se refera printr-un tasklet planificat de mai multe ori? Ce intelegem
> prin "acelasi tasklet", daca folosim aceeasi variabila pentru schedule sau
> acelasi handler?
>
> Cătă
>
> _______________________________________________
> http://ocw.cs.pub.ro/courses/so2/resurse/lista-discutii


More information about the so2 mailing list