[so2] [lab7][quiz] nelamurire

Andrei Epure epure.andrei at gmail.com
Thu Apr 4 00:59:09 EEST 2013


Salut.

În primul rând, la întrebarea "Care din urmatoarele formule este greșită?",
eu am zis:"time_in_jiffies = time_in_seconds * 100" (fiindcă valoarea HZ
depinde de cum e compilat nucleul, nu?), el a zis "
time_in_seconds_since_last_boot = jiffies / HZ". Bănuiesc că răspunsul lui
e greșit.
În al doilea rând, la întrebarea "Pentru a proteja accesul la date
partajate între rutina de tratare a unui timer și operația read a unui
device driver se folosește:"
Eu am zis:
"spin_lock/spin_unlock în rutina de tratare a timer-ului și spin_lock_bh/
spin_unlock_bh în read"
El a zis:
"spin_lock/spin_unlock în rutina de tratare a timer-ului și local_bh_disable,
spin_lock/spin_unlock, local_bh_enable în read"

De ce am greșit? spin_lock_bh, în plus, am văzut că dezactivează și
preempția [1]. Am greșit fiindcă e de ajuns doar să dezactivez pe
procesorul local softirq-urile? Păi nu trebuie dezactivată și preempția
tocmai fiindcă local_bh_disable are efect doar local?

Mersi,
Andrei

[1] http://lxr.linux.no/#linux+v2.6.31/kernel/spinlock.c#L108



-- 
Andrei Epure
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cursuri.cs.pub.ro/pipermail/so2/attachments/20130404/e2d3d231/attachment.html>


More information about the so2 mailing list