[pso] [Tema1] Comportament ciudat spin_lock?
Laurențiu Dascălu
dascalu.laurentziu at gmail.com
Thu Mar 25 20:46:25 EET 2010
Salut,
Pe Linux am încercat să stresez puțin tema:
for i in seq `1 1000`; do ./test; done
După câteva zeci de teste, s-a blocat. Mă uit prin cod, fac afișări dar
nimic nu era suspect. Am făcut două funcții care abstractizează
operațiile de lock și unlock; le-am folosit în temă și surpriză: tema
n-a mai crăpat.
void acquire() { spin_lock(&lock); }
void release() { spin_unlock(&lock); }
E probabil să am un race în temă? Totuși, nu fac decât 3 operații de
lock. Operațiile pe spin_lock se pot depana? Am găsit
CONFIG_DEBUG_SPINLOCK[0], dar trebuie să recompilez kernelul cu această
configurație.
[0] http://cateee.net/lkddb/web-lkddb/DEBUG_SPINLOCK.html
--
Laurențiu Dascălu
More information about the pso
mailing list