[so2] "[Tema1] Kmalloc prins inconsistent"

Cristian-Valeriu SOARE cristian.soare at cti.pub.ro
Wed Mar 16 18:16:11 EET 2016


Daca e testul 9, cel mai probabil e de la spinlock. Also, look into maxactive de la kretprobe.

Cristi

________________________________________
From: Madalina Hristache <madalina.hristache at gmail.com>
Sent: Wednesday, March 16, 2016 6:13 PM
To: Cristian-Valeriu SOARE
Cc: Costash; Sisteme de Operare 2
Subject: Re: [so2] "[Tema1] Kmalloc prins inconsistent"

 Cristian-Valeriu SOARE <cristian.soare at cti.pub.ro>:
> Ar trebui sa le lasi. Poti folosi api-ul _rcu care permite mai multi readeri, dar doar un singur writer. Oricum, problema cu mai multe instante active simultan ar trebui sa fie doar la un singur test, din cate m-am prins.

Fix testul ăla îmi pică, mama lui de test. Ăla cu mai multe kmalloc și
kfree. E singurul care pică.

Mădă

> ________________________________________
> From: Madalina Hristache <madalina.hristache at gmail.com>
> Sent: Wednesday, March 16, 2016 6:00 PM
> To: Cristian-Valeriu SOARE
> Cc: Costash; Sisteme de Operare 2
> Subject: Re: [so2] "[Tema1] Kmalloc prins inconsistent"
>
>  Cristian-Valeriu SOARE <cristian.soare at cti.pub.ro>:
>>> On Mar 16, 2016 16:39, "Madalina Hristache via so2" <so2 at cursuri.cs.pub.ro>
>>> wrote:
>>>>
>>>> Madalina Hristache <madalina.hristache at gmail.com>:
>>>> > Salut,
>>>> >
>>>> > Am o mare problemă și mă lupt cu ea de azi-dimineață. Apelurile de
>>>> > kmalloc nu îmi sunt prinse și numărate consistent. Sunt dăți când
>>>> > totul merge perfect și dăți când numărul de apeluri kmalloc afișate e
>>>> > 0. Nu mai am probleme cu nicio altă funcție. Singurul test care pică e
>>>> > penultimul.
>>>> >
>>>> > Sună cunoscut?
>>>>
>>>> Ceva e foaaarte putred. Dacă adaug printk-uri să număr apelurile de
>>>> kmalloc, crește nebunește numărul de kfree-uri...
>>>
>>> Asigură-te că sincronizezi corect accesul la structurile de date pe care le
>>> modifici în kretprobe și jprobe. Eu țin minte că foloseam un spinlock pe
>>> accesurile la un hashmap cu informații.
>>>
>>> Also, vezi să deînregistrezi probele în ordinea inversă, altfel apar
>>> probleme.
>>
>> Spinlock aveam (tot un hashtable am și eu și număr apelurile în el),
>> acum am modificat si deînregistrarea cum ai zis. Și nimic...
>>
>
> Contextul probelor trebuie sa fie atomic. So, ai grija sa nu folosesti
> in interior vreo functie care face in spate vreun wait. Hint, kmalloc
> insusi face wait daca are GFP_KERNEL. Also, ai grija cu spinlockurile:
> poate dai de cazul in care mai multe instante de kmalloc trebuie sa
> fie active.
>>
>> Sper sa ajute :)
>
> Mersi mult, sunt atenta la tot, dar nimic. Prin cazul în care "mai
> multe instanțe de kmalloc _trebuie_ să fie active înțelegi că ar
> trebui să mă asigur că am spinlock-uri astfel încât să le împiedic să
> ruleze simultan sau că ar trebui să nu am și să le las. Că eu nu le
> las..
>
> Mădă


More information about the so2 mailing list