NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: kern/54617: deadlock between sysmon and onewire drivers



The following reply was made to PR kern/54617; it has been noted by GNATS.

From: Andrew Doran <asjdoran%gmail.com@localhost>
To: gnats-bugs%netbsd.org@localhost
Cc: 
Subject: Re: kern/54617: deadlock between sysmon and onewire drivers
Date: Fri, 25 Oct 2019 14:32:25 +0100

 --000000000000e9a6500595bc2e10
 Content-Type: text/plain; charset="UTF-8"
 
 Fix attached.  I have no commit privs.  Description:
 
 onewire:
 - Alter locking strategy to avoid deadlock on detach.
 - Auto bus probe chews CPU.  Increase interval from 3s to 10s.
 - Put temp sensor S/N in dev description so it can be identified.
 - Use mutex/condvar.
 
 begin 644 onewire.diff.gz
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
 )`S4]-1`L-@``
 `
 end
 
 --000000000000e9a6500595bc2e10
 Content-Type: text/html; charset="UTF-8"
 Content-Transfer-Encoding: quoted-printable
 
 <div dir=3D"ltr"><div>Fix attached.=C2=A0 I have no commit privs.=C2=A0 Des=
 cription:</div><div><br></div><div>onewire:</div><div>- Alter locking strat=
 egy to avoid deadlock on detach.<br></div><div>- Auto bus probe chews CPU.=
 =C2=A0 Increase interval from 3s to 10s.</div><div>- Put temp sensor S/N in=
  dev description so it can be identified.</div><div><div>- Use mutex/condva=
 r.<br></div></div><div><br></div><div>begin 644 onewire.diff.gz<br>M&#39;XL=
 (&quot;*_VLET``V]N97=3DI&lt;F4N9&amp;EF9@#-&amp;VMSVDCR,_X5O;Y+5A@P&quot;/S=
 `=3DIQ:<br>MKTTJ7&amp;R&lt;`_*JVRN5+`U&amp;9R%QDC#V[N6_7W?/Z(D@]F;OD:K%,(^&=
 gt;?D]W3V_?<br>ML\7#,=3DCBONE[8ND$(OZ[:VV=3D?O^_K&gt;&#39;Y&quot;&quot;:.*X=
 ZA:=3DV&#39;@&gt;]&#39;S3&quot;PFN%CV&quot;P]<br>MM&#39;Z_%8@H&lt;,2]X]U&qu=
 ot;@&#39;]&quot;Q_=3D`W]4/MFQG,H&#39;&amp;`AIS:`0T`BFNC4:CG(I*&gt;Q_^<br>ML=
 G&quot;AW=3D+WH-4]UEO&#39;G2XT6OBOPE!KM=3DKZG=3D=3D61#N/0.\&lt;ZP?&#39;G;;&=
 lt;N?733]#0<br>MZWM0HX^??MIJ-&#39;?@SP,1_3RZ.(8,,8PXG]UL&#39;3818(*!/?5=3DU=
 _1LZ#W,X&lt;^P<br>MT]RJ-7&lt;JWP.C@C&quot;`8%S/A5&lt;&amp;!&amp;&amp;T#IJM3=
 K.U!TA,^_&quot;XU8&#39;;P/1N108&quot;P6#Z<br>M.JUZ%VKX&gt;8@4@F&amp;\ZPT&#3=
 9;O4L#)=3DJ_T%IUV&quot;Y%=3D@O^Y&#39;B6N[`%O%)2=3DBRQ.WU=3D<br>MG+@3@2?&lt;=
 LHEH&amp;@C3IIE&amp;?B98NKYU5S(Q,UV&lt;H8E:`=3D9,S$J.F`=3DR=3D6&#39;XGPNQ<b=
 r>M*$-UYML+ER&gt;(+WO[=3D1T9L[=3D71[$\CS.VF#B&gt;@(OWP_Y@_$9[J.*8\%&quot;OD=
 &gt;V-<br>M9C.&gt;OQ[T/O6&#39;/&gt;/J[/-%[^.H@IIX@&quot;2OF^VNSHW.SP;C_E6OT=
 MFJ.5Y447@8<br>M,_,!!1+&quot;*71/\C.A97J1,Q,XI;=3D.*JC/2S.$#H3&quot;\CT[A`9=
 $O@_^)!(&gt;2#4)<br>MHV&quot;!YI$`P#D+?MN&quot;BA2Y$54JE=3D`R\-?)5@.&#39;&q=
 uot;^MO%B&#39;L\`K\ABLJ=3DU*\\3[Y<br>M&quot;[&amp;LW,T6D7B(QY-1PNO&gt;#.)Q(=
 L#&quot;HY*#W.6&lt;#J`YJ5$T-S[K7_[5&gt;-L[N]#J<br>M&quot;2H2X:K&quot;-I3H$G=
 ,4!8_HBW#S5_R/-&gt;!@#VVB=3DJ!+RRC0)8$Q(^1AO&lt;%X^$4K<br>MGF4;KA-&amp;)WEV=
 V9);4%D8&gt;/S!GAH,_!DQ2&amp;%D&amp;_-`A,*+B`LWON\6!B6&gt;B)89<br>M.1;DI1]9=
 4RT^KP[6Q#8CD[[=3D^XX-.]43)N_PJ-[6H79X4#^0]#$@6I+3%JU`<br>M^!:&lt;OSD;C\_.W=
 QH7O?-+`U4QIKH.H?.K\&quot;?%+:PSU3H2G$,QE8P916;VMRWR<br>MOTTK&lt;N[-2%2)Y`9=
 J1!C%\K!(E,MDI?IYBH)I5&#39;9MPT&lt;GB;\\G[[4Y9CE^J&#39;@<br>M0?ZF1DEU&gt;)&=
 quot;^J+%EX$1R)7]3HXYO12Z/\C&lt;U&amp;D;^G`?IBQJ+HD&lt;&gt;PK]J9(ZN<br>MG(?=
 HBQJ;S4RYD[ZHL;M_XG4:B8#&#39;XQ]JSG90+H%$5GU7,Q/7O,7A&quot;^-Z_+8W<br>MW&am=
 p;I\91T7#[C72Q@VL0/G&#39;B&amp;G+&quot;LHDKSV]%8=3DK]+:4;N.]R*.Y&amp;65J!?,=
 S0#U<br>ML0[Q`,%&quot;&lt;VJ\EF:&amp;Z(3&quot;G9RD@^013L&amp;_,1NO\2-V&quot=
 ;\$2;&lt;&amp;)M)=3DJE?0+55)^<br>MZ1=3DRLS17AZL/X]YGU,(W9Q\NQW7HOT=3DM1-?(F=
 ZS[_`[I-]!I^TOZNEU-W41_<br>MT!\GZTA_6,V@8LX#Y(:!&amp;H$7C[;]B]Q$%CH!35U?AH6=
 ?D=3D#0U?/9=3D&lt;&quot;+8?#A<br>M\C)57KD0;&lt;,B*0&#39;^B\^*9[9?A-L)`Q\\&l=
 t;R8TXEFU&quot;C^&lt;0JN*U&amp;P\\=3DWX[1`]<br>MG7&#39;U833^RW5_`/]*A]Z/SM[=
 T%$8(ATXOP&gt;NY&amp;+&#39;;B_DC@L`/B&amp;^\!/&lt;B&gt;W]$<br>M/6,T0=3D[_(`=
 %+%M8J=3D.\,F*WN(T[A*CF/)Z*6^H\A#89BE^.EBE(`-9?3`0D-<br>M95V&lt;E.+FZ:_H*LL=
 4O&#39;U0U]&amp;_ZWJ&#39;_F8T7&#39;J?5,,E6;@/R+[&quot;ZNHE)R_%G=3D!&quot;<b=
 r>MQ5;;D#?DL23;3N1%`\&amp;]5*!8U^C&amp;H9N8YU&#39;$.2D0JTEN5?9EE:5Y)Q;S_)(J=
 <br>M64XE&quot;ETAYJD&amp;$]0ZO/]TUA^SOML1RK(E6259B08K@A)&amp;KN(EN7L3^*9MF=
 6&#39;1<br>MG&#39;(P&#39;PKVF4CZ:H&#39;NVO/!]3$$#3#`6%A34(O(WT(&quot;+Q9XK.=
 K_\!UOA6(@B2+=3D<br>M,?,)#&quot;[BF68S((^#-\3$N56&quot;-*RIX]KHI)1^2B&#39;2=
 :E[;.@$,A&gt;&#39;SY\\0.+\2<br>M`BGHA9&lt;&quot;9Q=3D55+/$2Y&amp;_P(QF@7Z6A=
 ?Q5ZM@AA=3D4U??^PGM,P-AQ-WL;FXJ$.<br>M\DJSIF8`.W-O3M9%IJHM&lt;%TUCO:&amp;UU=
 ?&amp;F[.K_N478_SE?4_SR8.:%#94F1SA<br>MAB)CEXG?0F/^91M58&amp;+.R)*9EL(:&quo=
 t;#UXT=3D+;KON`&quot;[,&#39;C@:%&lt;VKK]FX#NJ0&#39;<br>M#)HV[P&gt;EZTAFHN$E=
 6(,9`3LA7*&lt;&quot;%AWO(N(F!BXY;K*,%#.#6P3VVV8+Q472<br>M#%&amp;@&gt;4N0XJS=
 #\)/Q:=3D@?]X:9^Z?49J1GH;,90\R\&amp;,-N0=3DY*CWXOC@^;[L4R<br>MNY-HQ9ZNW3K&q=
 uot;$*^F&#39;QU@II?!BB+)*(?4MS$J#&gt;_EC9Y&gt;[X1YK?+N;#3J#&lt;&gt;:<br>M1-=
 -?&gt;L+.XTE$I&amp;:#^QJO\<a href=3D"http://4.AE?RT?/_.$3%13(_">4.AE?RT?/_.=
 $3%13(_</a>&gt;)7K:K&lt;,\/3=3D.AAKIL.]-<br>M=3DR&#39;^7P@C_`IDU16&amp;6&gt=
 ;K:+*UVNU64%CK$FT&gt;\4G(2(P_1-12E[,[47&gt;,\#UDR<br>MR8P(U%DY&quot;UT55(Q1=
 B;`D+9A$$RV=3D;IX6CJ8+Q&amp;P6V#IQ?#&gt;I*2H;:&lt;U@O%Z$<br>MDN9]*;_]O3S-4&=
 gt;#,7;&amp;BH;83/)=3D&lt;&amp;47\3GH5&amp;AN)C5%=3DH9203&gt;CL=3DNKM(R2T<b=
 r>MVZIWGDXI^\J&quot;4N&gt;=3D8YRFWBQ4U.4*CQUF[0E6&#39;)O##F54&quot;.%YG%IBI=
 &quot;!`PP,;<br>MC2J%5COS6HV2E14;).OC^&amp;;M&quot;AF1I/=3D#4?F+1,L0X#M(EP#=
 ^8`:46&quot;QC2V1+<br>M!I2LH(Q&quot;+2AC`&quot;?_&amp;`UDJ4\J(4!APE-)3HR_L1=
 ;1.!8YO\)LZ&amp;Q\_I:B$L;\<br>M:3RIK2-P&#39;6&quot;H3#&quot;DU1P96CKP&quot;=
 KKX!YFQB9T:4@VO7].V&#39;&gt;ABFO426@^3R48.<br>MK]^3RW&gt;2X*1#B4X&#39;:AW]J=
 )#PR-#Z=3DX0GFV.C6)M^R*85*G?,5YBL7&quot;)3R$73</div><div>M1,:Q79$)3^/J)Y(__=
 56RBFFH8L9&quot;-4Y[:984`&#39;(E!-J3S8F3\J@&quot;2;G&amp;QD`K<br>M3&gt;94TB=
 ;=3D*I&amp;C$K9&lt;6L988K9QCIDOID)3,\3L,H(DYZ(J_])QW95T*9L/;TYW<br>M-R;+D*1=
 63$TK&amp;WATVEUVZ!V\K=3DLYAUY6!DRTH5Q95&#39;ET!^6WXXF&#39;B/[8)6&amp;6<br>=
 MK&quot;89J$\A^&quot;:Q+4F[58V4;#P49H!,P(R4_.0&quot;1TZISI+60BOJ@JG+RY&amp;=
 O`?8F<br>M,S/$&gt;)XLA7&gt;X)K%EEKTIJ#;ZM^[?$W&gt;&quot;CK&gt;%BQNZ7&amp;WS=
 =3DREI62YZ&lt;SWLG9V_<br>MU&gt;Q4EZAHA+&lt;CUWK9SNW&amp;ZZ14*X.RVA-WL^&lt;K=
 [I^8F-JQ@L=3D.BQ=3D0&gt;2V^QU6E<br>M@_1.6IWBV&lt;N7DF-X2[TJOBFHRH+,?H_AT1&a=
 mp;N#?1H(L(0?1BGPJE19BV12VAU<br>MM!%H@MYZNCM-5EF+@`KWITE\DZ;WN&amp;H#&quot;=
 84G#N5.FCN&lt;,N_`D)(&#39;+BEAW+(+<br>M_0E]#\2/(5F49&quot;BJY7RA4F7&lt;8?M4=
 K5)&#39;D&gt;LVO4=3D5Q`EWY9IFUG5GRPT&lt;6N73<br>M*9S)UL@J\2.0AEGX,1#?CE=3D1=
 ^069R:O)%^6K;HF*5*O22986)VCO#3+PCK\F<br>M%GW4DA[_&quot;#V^_AR+KJS!/(X&gt;N&=
 gt;:&#39;U\V+!U0&#39;N9Q0WPXC,8&lt;7=3DD+/1H+(6-&#39;:<br>M8KK6$J;B4_GC*W^2=
 0?_K%#0R;WCU&quot;H&#39;$A%&lt;JL=3D4ZK9.LW&#39;)08]FQ8^`:*T&#39;%<br>M&quo=
 t;&quot;IRO(60Y88]3#/WVE#;:V,2TWH&gt;]W*F#Q5XNO$3&#39;H09&amp;[A&quot;CT(B:=
 :HKGD&amp;6<br>MZ%:&amp;$3&gt;AF)=3D;RR.IHDB&amp;?8VY\8-:&amp;Q\V$S-2Z9&gt;=
 ^R65M];CCFXDFFKN^:2@.<br>M&lt;*J2&#39;9=3D.5SUJR0,T^2&quot;@RG,3-&amp;H[HQ#=
 (%#R)%V?O9*X+87AS&amp;F&lt;LS(=3D45@T&gt;<br>M\$CD\H%8*W^%4D]R\H#*E8$&gt;\.=
 &lt;/;^IP90RNR;%54SP)V+K3^*S8^Y[*6ZH6<br>M(T`/T48.&quot;;SV4-&#39;?71FCRU[O=
 ?35&gt;FP*0X0(DHP6V&gt;&gt;4&quot;+PZG`H_?-,C-&amp;O1#<br>MRZN:9R?JIFRF)NNT=
 &#39;`OMP)?\+5!&#39;1QI!3#]&amp;(S#U&lt;9X\+-F3VA3Z.&amp;)&amp;[&quot;7`<br=
 >M(6&lt;;4?Z&quot;;F(QCX2]*Y?)VN[&lt;7(1&quot;2R\1OMSJ=3D+6KBRPN\.*]=3D,$57=
 +S90W,^<br>M1Q&lt;M[-@UYPNUV3(MA]\D#&amp;5S_&gt;%HY7E&#39;OL,D)?83X-&lt;TC%=
 /D_&lt;O,@$W&#39;USE4<br>MD]$+;EPF-P;`1&gt;#/B3\2!!&gt;YEU/AX45#$5XT1?8X&#3=
 9;OB!S&lt;$=3DW03W)$-&gt;*$=3DI<br>M)`A-5T(P;TV&#39;&#39;SP?PYGOX0%C!H&amp;=
 1HSG!:TY8Q$_B^)3@^W3?D3`\/DJ&quot;B)]7<br>M9K[M3!QDGK\(%,9`FK#+RT@\3V#&gt;.=
 K:A+M&#39;79.^@]WFL%92-O4Q6=3D56\L^D-<br>M@&gt;=3D5[\7E]?D[+=3D$45;&lt;?7;W=
 G7@5IIVGA/PF2ZG#1XP=3DK]+_G/66#*R:8.&gt;;#<br>M@`XR,%S2RDZJ95%&gt;\Y3R%:@&l=
 t;#XDKYY/2!YW:-]QK;8U[K17&lt;:^PR3OXH+A98<br>ML]%5%UST&#39;\Y&quot;^EC&#39;=
 P-35#7M7UQ][!2^7U3MRHY-`&quot;%+&amp;V.TK9-E?QW.QQ[:K<br>M:33Q=3D&lt;UKD$RQ=
 KZXO/ESV-/G&#39;.+_$X-:X&amp;/8_]H8);Q*OUE_;@Q&gt;(V]WI_Z`-<br>MC\]=3DVXG7*=
 3;B=3D2&quot;&#39;[YI6/)ZLZ&#39;MP-@^X$PWT[G&amp;G&gt;[S?2KKQ.NN:\&gt;3&gt;=
 [^S&#39;<br>M4U01!:H3;J^)Z&quot;18T&quot;/?QF:\)P-8VXF70GAV,QZW&#39;/$GD@?%=
 ?J_,&quot;^#YA]&#39;X<br>M^DI[J%8T#3^I$&#39;0H2T!Z50*$D0@&lt;TP5O,;L1,ILK@S=
 &lt;:$)`42C&lt;N)*7_.`ZJ<br>M/7FSIL7I=3DW453HS&lt;^?&quot;&lt;G7895)S+@]T_2=
 *I;I7:TC,1L_E]N955GKN]D/5SI<br>M9#V$!-,5ZU$39#E7YF/:Q[IWO&#39;^0]K$&gt;KII.=
 O/%Y9I/1^H001EIUH.XWL^??<br>MF1B7N.O,YID`2LPF!^&amp;9)K/&#39;_:OXJ;&gt;^V::=
 9.2?3ICGB&amp;B[WRXS.AU3*?7]V<br>M46D]W(AL_R/O3=3DH?&amp;Q59+56]@TH:=3D*D4V=
 B(Y.^&quot;F.ORWDUV:;_^CIUUYC:&gt;]<br>M`&amp;J&#39;-77FE#O+O%5X]ZB+AFSI4SV=
 1PL-(/5-=3DDZ&amp;B(9=3D*(.%,I;7=3DH[J^#[4C<br>MG;K_**F5A&#39;VKK0MR+5&amp;=
 F&lt;R_2CJA:TCA2TNZ5QB^J#R##@/A-FT.9M$U`$AHN<br>M&#39;&gt;IC7-?]D.ZMRGC`,L/=
 4C:B5%R.]^W.[=3D9QI;HFYB2=3DNJ^GM;/.+XH&lt;M+-]F<br>MK+._#3O4NS=3DMKN&gt;E&=
 gt;?2ZD]OM30&gt;WV]L&lt;9CSO7/CVN4&lt;;&quot;3YB&gt;I]Q[E&#39;Q6-7;<br>MHKH=
 *]/@5_LEZ%)\LU7:7WBGHX-[@X^C+R!CU!Q_/+OL7=3D)(LYZ-2N];\4&lt;MO<br>MLP4UU$%)=
 A8DZKM)6U)5-,KQ6H#U6Z+)EFR#$K73;+T(8-0&gt;%]I&lt;&quot;WU?Z8;*:<br>MFW1^92U=
 6G17S,D:`0+W,8:,TOY+?&#39;=3D?^TWTRGHW+:&quot;R]_2-RF_K!D?*;2GR+<br>MN6VNM!=
 @8V5+YT=3D^E&gt;192[ZRM&lt;\Q=3D5AK-+&lt;HU-SYAI&lt;R:5IL.8]?#A&gt;D,$&lt;&=
 gt;@<br>MHQ]E@#`Q\497[8?(B5L?$V\;P:NJ&gt;;XOF9XF\Q@D,B692?+5[:,?=3D+G$JG=3D=
 ;<br>MY%8W,Q(S\;,)-?6&amp;]&#39;\#&lt;#%`8(8UFYE4E*$?Q&amp;&#39;,R/%6FE&#39=
 ;3W(V`*55CILXM<br>MUZ8E#)/&gt;A4V&lt;/MQOS4)90_#O&#39;;3&gt;N;]$Z/8B2(%[5$J=
 @B$15=3D&#39;85&#39;B&amp;$&quot;VJQ<br>M]GQ5,N`&gt;:R=3DZA!F&amp;&#39;Y%YA=
 ]!&lt;TQ(8TS(DO?&amp;)O#CU)!`BC1PB7-288[CIV[NJ<br>M:%$V!?!.&quot;*Z-*+?`X$B=
 !A`VRYD]/=3DHB\Q+*9D4SN\3,O&amp;W6!GU\/,/&amp;29;SL<br>MH\6P_W/_.E$.?K5@#Y`=
 6HM2X*D3-PLB?_JHA&lt;Z%&amp;CQMI7&gt;K_0ZO;GOV?U.I_<br>)`S4]-1`L-@``</div><=
 div>`<br>end</div><div><br></div></div>
 
 --000000000000e9a6500595bc2e10--
 



Home | Main Index | Thread Index | Old Index