<div dir="ltr">Buna Ionut,<div><br></div><div style>O sa fac eu modificarile. </div><div style><br></div><div style>De acum o sa postez pe listele de discutii corespunzatoare.</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">
Īn data de 15 aprilie 2013, 13:04, Ionut Nicu <span dir="ltr">&lt;<a href="mailto:ionut.nicu@mindbit.ro" target="_blank">ionut.nicu@mindbit.ro</a>&gt;</span> a scris:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Buna Mihaela,<br>
<br>
M-am uitat pe stack trace-ul tau si am identificat problema. Avem<br>
urmatorul deadlock:<br>
<br>
* sw_sock_ioctl() face mutex_lock(&amp;sw_ioctl_mutex)<br>
* din __vif_delif() se apeleaza unregister_netdev() care trimite<br>
notificari pentru event-ul de unregister. In acelasi timp noi ne-am<br>
inregistrat un notifier pentru event-uri pe netdevice-uri. Acesta era<br>
folosit pentru a sti cand un netdevice dispare din sistem pentu a putea<br>
face clean-up-urile necesare.<br>
* din callback-ul notifier-ului sw_netdev_event() se incearca din nou sa<br>
se ia acelasi lock. Aici se produce deadlock-ul pentru ca el era luat<br>
deja din sw_sock_ioctl().<br>
<br>
Rezolvarea pe care o vad eu in momentul asta e ca sw_netdev_event() sa<br>
verifice daca netdevice-ul pe care il primeste face parte din switch si<br>
doar in acel caz sa-si ia lock-ul si sa apeleze sw_delif(). Astfel, in<br>
cazul de vif se va iesi direct, pentru ca procesul de cleanup se face<br>
din ioctl handler inainte de unregister_netdev().<br>
<br>
Te ocupi tu sa faci un patch pentru chestia asta sau il fac eu?<br>
<br>
PS: In alta ordine de idei, cum a zis si Radu, intrebarile tehnice ar<br>
trebui mutate pe lisa-devel. Lista asta e doar pentru discutii<br>
administrative.<br>
<span class="HOEnZb"><font color="#888888"><br>
Ionut.<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
On Sat, 2013-04-13 at 19:52 +0300, Mihaela Alexandra Martinas wrote:<br>
<br>
<br>
&gt; Īn data de 13 aprilie 2013, 18:12, Ionut Nicu &lt;<a href="mailto:ionut.nicu@mindbit.ro">ionut.nicu@mindbit.ro</a>&gt;<br>
&gt; a scris:<br>
&gt;         Buna Mihaela,<br>
&gt;<br>
&gt;         Ai cumva IGMP snooping-ul activ? Stiu ca am mai discutat pe<br>
&gt;         lista mai<br>
&gt;         demult ca exista niste bug-uri legate de IGMP snooping in<br>
&gt;         contextul<br>
&gt;         vif-urilor.<br>
&gt;<br>
&gt;         Daca nu, poti sa incerci sa adaugi niste printk-uri de debug<br>
&gt;         prin codul<br>
&gt;         care trateaza ioctl-ul asta si sa vedem cam pe unde s-ar putea<br>
&gt;         bloca?<br>
&gt;<br>
&gt;         Mai are cineva problema asta? Eu nu imi aduc aminte sa fi avut<br>
&gt;         problema<br>
&gt;         asta la stergerea vif-urilor ...<br>
&gt;<br>
&gt;         Ionut.<br>
&gt;<br>
&gt; Am pus ca atasament stacktraceul pe care l-am primit cand am dat<br>
&gt; delvif.<br>
&gt;<br>
&gt; Desi am pus mesajele de debug KERN_ALERT nu mi le afiseaza, asa nu am<br>
&gt; detalii mai exacte pe unde se opreste. O sa mai investighez.<br>
&gt;<br>
&gt; --<br>
&gt; Martinas Mihaela-Alexandra<br>
&gt;<br>
</div></div><div class="HOEnZb"><div class="h5">&gt; _______________________________________________<br>
&gt; Team2013 mailing list<br>
&gt; <a href="mailto:Team2013@lisa.mindbit.ro">Team2013@lisa.mindbit.ro</a><br>
&gt; <a href="http://lisa.mindbit.ro/mailman/listinfo/team2013" target="_blank">http://lisa.mindbit.ro/mailman/listinfo/team2013</a><br>
<br>
<br>
_______________________________________________<br>
Team2013 mailing list<br>
<a href="mailto:Team2013@lisa.mindbit.ro">Team2013@lisa.mindbit.ro</a><br>
<a href="http://lisa.mindbit.ro/mailman/listinfo/team2013" target="_blank">http://lisa.mindbit.ro/mailman/listinfo/team2013</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div>Martinas Mihaela-Alexandra</div>
</div>