Differences

This shows you the differences between two versions of the page.

Link to this comparison view

so2:laboratoare:lab06:exercitii [2018/03/27 22:51]
ionel.ghita [[10.5p] Exerciții]
so2:laboratoare:lab06:exercitii [2018/03/28 09:17] (current)
ionel.ghita [4. [1.5p] Operații blocante]
Line 193: Line 193:
 Observați că programul cauzează eroare pentru că se apelează o funcție blocantă în context atomic (handler-ul de timer rulează în context amânabil/​întrerupere). Observați că programul cauzează eroare pentru că se apelează o funcție blocantă în context atomic (handler-ul de timer rulează în context amânabil/​întrerupere).
  
 +<note tip>
 +Pentru a obține un pointer la datele private ale modulului (structura ''​my_device_data''​),​ puteți folosi macro-ul [[https://​elixir.bootlin.com/​linux/​v4.15/​source/​include/​linux/​timer.h#​L143|from_timer]],​
 + care este similar cu [[https://​elixir.bootlin.com/​linux/​v4.15/​source/​tools/​include/​linux/​kernel.h#​L26|container_of]].
 +<code c>
 +static void timer_handler(struct timer_list *tl)
 +{
 +    struct my_device_data *data = from_timer(data,​ tl, timer);
 +    ...
 +}
 +</​code>​
 +</​note>​
 ==== 5. [1.5p] Workqueues ==== ==== 5. [1.5p] Workqueues ====
  
so2/laboratoare/lab06/exercitii.1522180287.txt.gz · Last modified: 2018/03/27 22:51 by ionel.ghita
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0