[so2] [Tema3] Pornire/terminare thread

Madalina Hristache madalina.hristache at gmail.com
Sat Apr 23 15:24:09 EEST 2016


 Ioana Ciornei <ciorneiioana at gmail.com>:
> 2016-04-23 15:03 GMT+03:00 Madalina Hristache <madalina.hristache at gmail.com>:
>> Madalina Hristache <madalina.hristache at gmail.com>:
>>> Madalina Hristache <madalina.hristache at gmail.com>:
>>>> Ioana Ciornei <ciorneiioana at gmail.com>:
>>>>> 2016-04-23 14:06 GMT+03:00 Madalina Hristache via so2 <so2 at cursuri.cs.pub.ro>:
>>>>>> Salut,
>>>>>>
>>>>>> Am o nelămurire în lupta cu un bug. Nu îmi e clar când ar trebui să
>>>>>> dăm drumul la thread și cât de multe facem în el.
>>>>>>
>>>>>> În momentul ăsta, eu primesc un bio (in funcția make_request), pornesc
>>>>>> thread-ul (și în el fac toate prelucrările și submit-urile pentru
>>>>>> ambele device-uri) și aștept să se termine. Dar nu știu de ce am
>>>>>> impresia că nu fac bine.
>>>>>>
>>>>>> Mă poate ajuta cineva?
>>>>>>
>>>>
>>>>> Buna,
>>>>>
>>>>> Cum se manifesta bug-ul? Se agata request-ul sau e altceva?
>>>>> Aproximativ abordarea ta am adoptat-o si eu (folosind workqueues) si merge.
>>>>>
>>>>> Ioana
>>>>>
>>>>
>>>> Sinceră să fiu, totul mi se pare ciudat. Am făcut doar partea de write
>>>> (complet zic eu), dar trec toate testele (și read, și write) până la
>>>> 40, unde crapă cu kernel oops și nu am ce să îi mai fac. Trebuie să
>>>> recunosc că nu am folosit niciun mutex/spinlock pentru sincronizare,
>>>> dar nu cred să fie de la asta.
>>>
>>> Se pare că am rămas agățată și pe vmchecker. Sper să se termine la un
>>> moment dat. :))
>>
>> Lucrurile sunt din ce in ce mai interesante. Am comentat toată
>> funcționalitatea de write, am lăsat doar handler-ul care face
>> bio_endio la orice primește și îmi trec vreo 35 de teste la rând, iar
>> la 41 da kernel oops și moare.
>>
>> Și încă plutesc pe vmchecker, cred că ar trebui omorât procesul.

> Dap, pot sa confim ca daca faci doar bio_endio() pe orice primesti
> treci undeva pe la 37 de teste. Dar cu toate astea eu nu primesc
> niciun oops.
> Asta inseamna ca e ceva de la codul de init/exit.
>

Nu știu ce ar putea fi, că îmi crapă 41, 45, astea cu 1MB. Le-am rulat
de mână. Celelalte trec. Ce naiba au așa special astea cu 1MB?

Mădă


More information about the so2 mailing list