[pso] tema5 teste linux
Octavian Voicu
octavian.voicu at gmail.com
Mon Jun 8 19:50:17 EEST 2009
On Mon, Jun 8, 2009 at 10:42 AM, Razvan Deaconescu <
razvan.deaconescu at cs.pub.ro> wrote:
> On Mon, 2009-06-08 at 00:46 +0300, Razvan Deaconescu wrote:
> > M-am uitat peste codul Adrianei si am observat urmatoarele "greseli":
> > * foloseste read_lock, read_unlock nu read_lock_bh, read_unlock_bh in
> > ioctl
>
> Era pe dos. Foloseste read_lock_bh, read_unlock_bh in loc de read_lock,
> read_unlock.
>
nf_hookfn este apelata din context softirq?
In laboratorul de actiuni amanabile e o lista care imi sugereaza asta:
TIMER_SOFTIRQ,
NET_TX_SOFTIRQ,
NET_RX_SOFTIRQ,
Daca se ruleaza din context softirq, nu e bine sa apelam functiile de lock
cu _bh din nf_hookfn, corect?
Din ce mi-am dat seama eu, trimitand tema cu diferite variatii, problema e
ca acel sleep(1) nu doarme o secunda (banuiesc ca apare un semnal sau ceva
si este intrerupt).
Am incercat din ioctl LIST sa returnez numarul de reguli negativ ( - nrules
) si asa, in functie de mesajul de eroare pot sa vad ce valoare a returnat
testerului si stiu ce valoare trebuia. Cand apare eroare respectiva, la al
doilea check "no of rules", numarul de reguli este cu 1 mai mare.
Poate s-ar rezolva problema introducand un sleep "harder" in tester:
while (sleep(1)) ;
Ar mai fi util sa se afiseze in tester numarul de reguli returnate de ioctl
si nr de reguli expected.
--
Octavian Voicu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cursuri.cs.pub.ro/pipermail/pso/attachments/20090608/4dbb1280/attachment.htm>
More information about the pso
mailing list