[so2] [Curs 5] Nelamurire slide Linux:semafoare

Lucian Mogosanu lucian.mogosanu at gmail.com
Mon Apr 1 10:25:48 EEST 2013


On Mon, Apr 01, 2013 at 09:47:29AM +0300, Andra Lungu wrote:
> Hey guys!
> 
> Sunt convinsa ca a mentionat ceva Razvan la curs despre asta, insa nu am
> fost atenta, I guess.
> La slide-ul Linux:semafoare(2) -al doilea (2) :) - se apeleaza un
> *schedule*intre spin_lock_irqrestore si spin_lock_irqsave. Eu stiu ca
> era bad
> practice sa faci sleep sau sa apelezi schedule() intre spinlocks. Imi poate
> explica cineva care este scopul acelei instructiuni?

Atenție, face spin_*unlock*_irqrestore(), schedule() și apoi
spin_lock_irqsave(), deci eliberează spinlock-ul înainte de apelul
schedule.

Practic, rolul spinlock-ului e acela de a proteja (pe porțiuni scurte)
structurile asociate semaforului. Rolul apelului schedule e acela de a
lăsa alte task-uri să ruleze pe procesor.

Lucian


More information about the so2 mailing list