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:49]
ionel.ghita
so2:laboratoare:lab06:exercitii [2018/03/28 09:17] (current)
ionel.ghita [4. [1.5p] Operații blocante]
Line 96: Line 96:
  
 ===== [10.5p] Exerciții ===== ===== [10.5p] Exerciții =====
 +
 +<note important>​
 +Înainte de începerea rezolvării laboratorului,​ rulați comanda ''​%%git pull --rebase%%''​ in directorul ''​~/​so2/​linux'',​ pentru a obține ultima versiune a scheletului de laborator.
 +</​note>​
  
 ==== 1. [2p] Timer ==== ==== 1. [2p] Timer ====
Line 189: 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.1522180158.txt.gz · Last modified: 2018/03/27 22:49 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