[PARPORT] Re: 2.1.96 patches [new round robin regime]


Andrea Arcangeli (arcangeli@mbox.queen.it)
Sat, 18 Apr 1998 13:46:42 +0200 (CEST)


On Fri, 17 Apr 1998, Tim Waugh wrote:

>On Thu, 16 Apr 1998, Andrea Arcangeli wrote:
>
>> No. You missed the underlined parport_claim() before wake_up the other
>> waiter:
>
>But it won't do for drivers who are using parport_claim and registering a
>wakeup (instead of using parport_claim_or_block), for whatever reason.

You are perfectly right. We are currently using the waitlist only for
device that are sleeping in parport_claim_or_block() while we can use it
for all device and run the parport_claim() that own the port inside
parport_release() for all devices (as it' s now done only for the device
sleeping in ..claim_or_block()). The use of the waitlist will allow a real
round-robin scheduling between devices.

This patch will change the waitlist usage making it very smarter.

For devices that are not sleeping in parport_claim_or_block() and that
provides a wakeup callback we could assume that the parport_claim() is run
from the callback, but since it' s so simple change that I updated all
(I hope ;-) pardevice to the new regime.

If somebody will use the old wakeup callback style, recalling
parport_claim() inside the wakeup callback, this will not broke. Only the
guy will see a ton of messages like this:

parport0: ppa already owner

I also removed the sleep in parport_pc since I really don' t think it can
help.

This patch also automatically fix the LP_PREEMPT() define in lp.h that
currently is wrong (I noticed it thinking about your last email).

I ask all people that can test the parport sharing to try this patch and
feedback.

Andrea[s] Arcangeli

begin 644 parport-2.1.96-0.1.diff.gz
M'XL(",:..#4``W!A<G!O<G0M,BXQ+CDV+3`N,2YD:69F`+U:>6_;QA+_F_X4
MZP1Q)$NR=5@^)*2)&CNI4%=.'0<%W@&"$E<6:XID>MZP1Q)$NR=5@^)*2)&CNI4%=.'0<%W@&"$E<6:XID>5@Q7MW/_N;8Y2&1LOT>
MT**)F-V=W=DY?S-DJ]42KN,EWP_MT+F7872X=*+986"MT**)F-V=W=DY?S-DJ]42KN,EWP_MT+F7872X=*+986"%@1_&9K2P0GDP._!#
MY];X:L5B%(2B<RK:W4&O/VAW1>?L['2GT6@\8Y,\?:<WZ)P,\`'I/WP0K=Y1
M\T0TZ.\/'W;$CGB=>+:<BR^CZR]7US<F_(XF5^-SF&J]M\T0TZ.\/'W;$CGB=>+:<BR^CZR]7US<F_(XF5^-SF&J]A@G'D^G<^<6GT;?+
M&_-F_,O%U\OQQPNC]M,_#COM^D[C>4O[=3PQBJW8F<%/F,QBH;@7^_BWZT2Q
M>"<FWRXOF]F(&5N.JX:'*;WC`3&LF/F)AT3M(5VP<W:"-^0?O*(1+X/6#W/7
MNHU@%?T.]:@3_F'.$V\&$_H1YW#;U@]^$+5^B*Q[:>*)LH:C34%T-%`?[K1X
MFY7EQ(YWRTPT>"R4?R22;J-E<GWQJSFYFEP,40C&X;[XN+`<3\0+)Q*^%_OP
M)`5)8/]0,QB$\CZ].5ZOVS]M=CJB@;_]#E\PE'$2>K#M(^S<(+DHD[!LVXQ]
M$_DS<>=:)G1;WCLS*?;A%_3W'V`[\2+GUI.V<'VXBQ)4PRC3$[`$=,`>/,,:
M7!4XGNGZLSL3!(E"$[4]%B,.-GF[.N[GS$6-9V:6+=[QY>H".4"AW(`0Z(A;
M/Q:A=*45`4LD)RF6TO)B9RD/4$2PGDY-/'UN"`+WP^JCE:1$ZV+T>32>X-`C
M_(%31[8M_"2,I'LO(Z%T(3T8G-,C2I!THTZFV^.@)[_'J8)RXTIQS`<.H`T7
MKZ]'Z\A9<:BP-^R)A-*-9''E0J(`U\[("%XH'"4;M.!'5.F][]BI(85RZ8,C
MS$-_^7=8$]J!=2=S*O&3N$H7+S.]@H9(](61=<EG_]MS$-_^7=8$]J!=2=S*O&3N$H7+S.]@H9(](61=<EG_]ZJ@XV5A:-PL'@4CA0,
MI<!$^5&9=HLK7ZCG=1.M,&6T`9&/)3/7<I95*@?W%<;FG._:X.3#PER5WEOE
M)H.Q<B-DX)ETI!&$P.-=[>>+ZXDYGGRZ$J_>1`/Q)A*6&X)J'H2_\F3X+^]5
MD\/G2;MY#/MD\/G2;MY#/FOTVYVCCAZY@Q?&!1!,^6E07PSBJ,^5<S"O\6^.)>QA"NBB<Z=
M$*AL)\0!$MP!+SI,K:`\/WR\'(U_47%I1\M$*AL)\0!$MP!+SI,K:`\/WR\'(U_47%I1\3A@VG=0I(8<,+X$DJY#&)A>0]B
MEH2A!/5H41\J.=58YFE<@.<ZRHIN?WK6[.+U>R?-3E==_U%=NT4IR?+>QF*.
MEH:^+CQ_!;FI*2)?+*WP+N>MEH:^+CQ_!;FI*2)?+*WP+N>05@23I"D9"I4`#P3RT2H:/R;&/=%!'EHY#TCS
M90N'G^?M90N'G^?P@H2A3WFVX\/2$L^'T>>[/BPFAT2BIYQ__3CV_L)Q3[E_^7'E`:#U
MPC38,IX9`EI@%BTVO`F8P4H*F_/B;&&!UE$[;'P16U_.0U4*>NW,\]CR_.+'
M;Y_-KS^-KL>3SV#CRG>UQ][*F+TU6CB!UCW%B16(6FB'>?.=O+EA"/Z/C_6L
MI6SR17*/B@;CWFO(YLY<0Z^O*RN@_<?7OPJXCNW"L0>9%_&F($NQFSDHK&77
M5^[4Z[6;7433QT?-[E$>BU$PV1%3E+RT!^Q;XSEC/?@_BQ&(9E"T<>A`X`/@
M0=$BO7H3KGT+E@\^9GFP#=P79"91P^`&-VH[WW,?(."M0=$BO7H3KGT+E@\^9GFP#=P79"91P^`&-VH[WW,?(."Y_@KVF/MAJI?(E3)`
M3W,4<2&8FWYH$HNU>E,`5;SP(\G"ML#I[F02"(3$L>-[6UR[*_[\4YL0TBA/
M?Z%WED)"M/\784(D>&$^I/@-X?NS!-,#6`]W#]!6X&[:Y,`^!$!I.HY%RR0*
M)V:`A(8/50;9+>:0O4*@_W(Q.0<OJ&^FD:^2<XBFT\R84PFJE>8F)SE6*$I"
ML"XF;5`O,`3)"&P$+00BNR++\!T)%5>N'-<54SP?TR?L&R:>ML"XF;5`O,`3)"&P$+00BNR++\!T)%5>N'-<54SP?TR?L&R:>L.9H@BM]&JU1
M-'0NRAP%BTJI+#[JE4GPSW=EPB'(3K91M2/A`+`7!>@)8Y$TB]OO56P/V<\`
MD_*S1#ODC*AL,@9B$Y1O1C(VITY<:S?%7M[ZZ?!VSE(_D5-;+ZHF-C)#+@)O
MQNKUB@+7E-44./YD58&+,-&H"U2DMO("`PE(4H\O3D$$.#:*,2A?*:H>=ZA%
M<=9->Q04L0$:6BX*<\VV0:)6C"%T9GDL67DO/0ICB"$L((?`5Q'.UN!(-P7(
M6^"9>75M_GAY]?'GM)"_"1\V0S<<H2,^XJFHB3QZDJ,\!69F`@2!:BU<"NV:
MZ_W>2;?9[8O&4;N'OR@/G<E`Z-B<X,Y&+9.M,7.=&@=6SCJ%2P([,_#;$*%=
M$R(;YY,P"6)5@&L"+0$DH(1OEY#`:2#<6XSN290E;`R8<-N5G[@V[&;9'!OF
M.`A7#^(4PZWG$]4(V$#@>UOTH$H!@X1J^EXM\U'S#R[\#660+*V\L$CZ'?9[
MH7SA:0+,[UO1#2[,UR8TR\6)[=@(LHG;?+Q<S\D$<W`?!712<(-\9$9`[E?!
M[5,LIF+.LN\N5U?;+B"_LRF5,RZFX'4`YP#*160-NWB1#6B6GOB^^$]>-'CE
M^5/??GA5N.OCIL=2U:8B2:A:8.0W9Z=8Z!UUSU04*1:H545H61$;V,.J?H;R
M_U^P=(F24'(L`D(-\JJJM`UY*TAYU.YC\#O"`JVM"C2E_E>K!80USX^SDK8<
M^[*9IDU!*B5+NB15H3D/XW5;JSRZ5^M^[*9IDU!*B5+NB15H3D/XW5;JSRZ5^R@XC7&A)GOQ:'OIB"V4"F4]U?I&KJ_
M2B+IMCD"]OO-XQ[+A,,4E,%H(RAK91#`A8-I%BQPM?#?1H!C)*%$4`M2B+IMCD"]OO-XQ[+A,,4E,%H(RAK91#`A8-I%BQPM?#?1H!C)*%$4`V5J@SF
M."7$*$_,"_BT%`G$X]K$C^6`"]O9G8:`4,;;=>8<P74M*';=,%4.14!_<,+.
ME7V<6$GC=@$S:\Q0C/N!S>$J!8.C6-4)7'U9(K(\)X;J?R%G=WDXQ8`3#WD:
M;RJ(E/?NB^MK%9S84-^@2+&PX%(EE`I:ZJSZBG;0EKF)F+E(RYMG8.>?<H49
M`Z??I%CX0<Z!Z+C`IU03"0L4B*8_\RGO2%MW@(WM'4I.I!S/V1\:!O5\-P#B
M7U4`])D'Y'%JJDR2-D-,)2%SFMQFZRO5M9;@,J6Q9:!IW.1JR1GB<`"7EM8?
MB1$FDPC.U!15B>9`+MB1$FDPC.U!15B>9`+3@L1<Y_;05`"GVB0(`BD:8%^(J"BYUF8$XF!KJ:F02%
M*951E6Y::0[./"9741K9"$V"`=_K]S!EN4R!X,W=U6ZE]N]C;K[#OM<"_H#B
M*$*\B3;BK3;H>EHS/%(OB]HE%)?0@]+`%.%.[EU6I2$*E'13B&.^!T]1L<#G
M$G<JT:]6_AT$JR30N&D]#JF"?UA:1^_M%:-3:60B>$PK4PCP/"MEHKRJ_E\[
MY;ZI^["!]!%6$D40^O>.+2--L=FNT#.3JYN+MY;ZI^["!]!%6$D40^O>.+2--L=FNT#.3JYN+76H@J!58`T\M@"G+!.YC0E`Q
MUX#[KJ8=Q[DZF_HL@&:1!\TP3>,@[ZWIHOC!E>+!3[@Q`T<@O27(TGX;74\@
MM!QDXL%6T'?AQ&]%A&V@>\=RP5R<90"T''36!:%IJ47KQ-'ZW5[JT.R%E=Y5
M%CZ?:1B[?[=E8))XVCHPW5`/(UK7BX#:"/'"RT58)J67A9B*/F=9HW-+-LUX
MR*6<024W<"P4SF\%P<JG6J[_(RM4[],[ANV?002SDF\@.KU!^VAPU'[6-Q"X
MPR9QOY=]`''2Z]$+=/P]MPR9QOY=]`''2Z]$+=/P]5@B;/R%HO$/+F4JH(*6)N]7:W[LGITW\-."?[7\#
M-%U:\*O[%QSJ/P,3]#[&BF,+4)F=]EXM*IO1DGTHD-&F4+H.M5F3VT4<<217
M%8+"O!"A;T9??S;'DQO0T+<O-^,?+R^&^678ZD0$]D[\[LSG#AS4$"=]7!+A
M\0E$'BK^L[*(;C=<5X#CS=S$EH?\+M\0E$'BK^L[*(;C=<5X#CS=S$EH?\+R6_@T7%)RA')^OBKZ#?),T+O],_I8\S
M\",&;F;H>HOQ`"((L<_/*.9BT85O(_'ZU3.1"Z(OO$K$&96#"U4<CBM;'::?
MKQCK+_D,HUT^23YO&)TMLRE*,KJY+G,)RA2QA$B41*H_\COF)<2[OJ>ZS`N9
M*T=U#5'H-Y<QH78WC*/2JC9[@50URV^SQ..PQ&VC6>0<!H%5X:_]0:_RFZ6,
M=)WJ9-#.V<KQ";ZB;<#/L2[@*?0$EJGXW<=GF[JBM?QP'30[QT*TA014&:F5
MD-4@&D8/B`Q36)@M6\/OF@;!$.,E_<8*MD-4@&D8/B`Q36)@M6\/OF@;!$.,E_<8*I@8"PBJU;V`9YQ<(DH1%TYUQ7WJ'
MIAG/L:!Z%X69*2;!=R)_L(:S.*66$Z=Z"<0%<[9$J+NA(T+WZ)F0"]5/A;K.
M!MVS*G65[K*^P>M!MVS*G65[K*^P>F@W\YI#CNWC6/=O\VU*7-]--6D%.J=4N#`7:@NP9X!0X>B
M-F`!&VB=D<0FE>H#M-F`!&VB=D<0FE>H#T@M-F`!&VB=D<0FE>H#T@8@Q<(<09RU0](ORG(STN9VX*8X/1D?!JX35,KPJ-+D
M,]+UC_,Z(+M<>&SWN\UN%P(D/N@(B1?U7#8$DWH_ZJ)8-B\>*%9`W"@6"N^Y
M7U'5PELAW5*,UZF*K;KL[=R:,H@=I0S]M7U'5PELAW5*,UZF*K;KL[=R:,H@=I0S]Z@.,FKE#U*:_OHAD+&I3:L<\O*_K
MMQT53(W?+L4T1%8.ROA(MMQT53(W?+L4T1%8.ROA(WX@78(6A)*3>MG$W?$^,/WTROWWATA.8.R?,Q=WW
M%.(LN#?$!=?<8HQO(PQBV:7G*!O=(@2NIHI:4H9$YW^DECM5$U9LJ?<#+`U(
KYE,!4*/=;F)V,,]'-R-J*]3Y%7RC=-O&MET;6S<5Q4\&_PN=?KSTFRH`````
`
end

-- To unsubscribe, send mail to: linux-parport-request@torque.net --
-- with the single word "unsubscribe" in the body of the message. --



This archive was generated by hypermail 2.0b3 on Wed 30 Dec 1998 - 10:17:38 EST