Return-Path: Received: by vger.rutgers.edu id <155162-17165>; Mon, 7 Dec 1998 21:18:05 -0500 Received: from chiara.csoma.elte.hu ([157.181.71.18]:4274 "EHLO chiara.csoma.elte.hu" ident: "NO-IDENT-SERVICE[2]") by vger.rutgers.edu with ESMTP id <156641-17165>; Mon, 7 Dec 1998 16:13:03 -0500 Date: Tue, 8 Dec 1998 01:01:03 +0100 (CET) From: mingo@chiara.csoma.elte.hu Reply-To: mingo@chiara.csoma.elte.hu To: linux-kernel@vger.rutgers.edu cc: linux-smp@vger.rutgers.edu, Robert Krawitz , "Stephen C. Tweedie" Subject: [patch] Unlimited number of processes, x86, 2.1.131 Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-linux-kernel@vger.rutgers.edu Content-Length: 30503 Lines: 536 the attached patch removes the per-thread TSS architecture and adds an architecture that has no limits on the number of processes (other than available RAM). The patch removes the former NR_TASKS limit and creates a runtime '/proc/sys/kernel/max-threads' sysctl instead. With this patch i was able to create 10 thousand processes on my box: [root@hell /root]# echo "100000" > /proc/sys/kernel/max-threads [root@hell /root]# cat /proc/sys/kernel/max-threads 100000 [root@hell forks]# ./fork 10000 [root@hell forks]# pstree init-+-atd |-crond |-10000*[fork] <======= these are the 10k processes |-gpm |-inetd (hm, this probably is the first Linux box in the world with more than 10000 processes, on x86 at least) The patch is rather big, nontrivial and changes just about everything in the x86 arch and quite some things in the generic code too, so i dont think this is an appropriate thing for 2.2. I'll maintain this patch as an additional 'big server patch' to 2.2, and i aim for getting it merged into 2.3 as soon as possible. the patch is otherwise transparent, no user-visible changes or restrictions were added. All those special x86 features work just like before. These are the main improvements to the x86 code: - unlimited number of threads/processes - unlimited number of LDTs (one per process, but no global GDT restrictions) - LDT sharing code is fixed, the LDT between cloned threads is shared even if the LDT was created after the thread. - the size of the GDT is down from 64k to ~128 bytes on UP. (slightly bigger but still much smaller than 64K on SMP) (this GDT layout btw. supports up to 512 processors) - struct task_struct got smaller, this means clone/fork speedups. i have tested all 'special' x86 features: LDTs, iopl/ioperm, debug registers, ptrace, etc. X, wine, svgalib/quake, dosemu and other x86-specific binaries work without any problems on my SMP box. (the patch compiles/boots/works on UP too.) the new layout of the GDT is: * 0 - null * 1 - not used * 2 - kernel code segment * 3 - kernel data segment * 4 - user code segment <-- new cacheline * 5 - user data segment * 6 - not used * 7 - not used * 8 - APM BIOS support <-- new cacheline * 9 - APM BIOS support * 10 - APM BIOS support * 11 - APM BIOS support * 12 - CPU#0 TSS <-- new cacheline * 13 - CPU#0 LDT * 14 - not used * 15 - not used * 16 - CPU#1 TSS <-- new cacheline * 17 - CPU#1 LDT * 18 - not used * 19 - not used * ... NR_CPUS per-CPU TSS+LDT's if on SMP (the reason for the gaps between per-CPU TSS+LDT sections is to localize those cachelines to specific CPUs without extra cache-invalidation traffic) For more details, take a look at the code. bug reports, success reports, comments and suggestions welcome, -- mingo begin 664 manythreads-2.1.131.gz M'XL("*Z$;#8``W-O9G1T:')E861S+3(N,2XQ,S$M0S,R`)P[:5<;Q[*?Q:\H MZQX3"4F@#1`H<$,`VSP#YK#DY<3VZS/,M*0)L]U9`%V'_/975=T]&JW8(8Y& MTUW575U=>[<:C09X;I`];PV2K2@.[2TKCJWQIKT9QNZP=)M).)$V0`M:[?U. M=[_=@];>7F^M5JLMQBM=A(%"V85V>W][;[^[HU!^^04:G5:[O@LU]?CEES4H M94'B#@/I@!<&0W`=3_;7@-JCU/4E',"?[F#@RJ2_UBA1+[:D5O+PN?FU<4@0 MR6;J)R)CX-JBKH2^]M=J!ML-W%007+)DC*4`>B2B;FL#;D<2!F'L9YY%3TCI M/;;LU$4&1%:<)A!+R_/&X"90J:2P`:UFLPI;\.&/*KREESK<9RF.!H#85@I/ M8>8Y$#[*>."%3V#=AUD*$E_','`?)3C6.`&$^_`''!S0`)O,U.[>-C%5/9BI M)3=(P0XS_#R`IB*YE*26_2`B:TATLRB;`KPC4GR2:^$-<*C2-< MCZ/::8H!5-X4QOSK+R#0GV&^[?``>JU>KS;IJ=((I5BF61PP@25BJ1O87N;( M+2OQ&VZGM[.5C)-4^INC_>3)3>V12,-*%:(L&O?N:U\Q9J?)C,''CA+"B*D.'-8E M<3\6.&0%_Z_RD"0]$8O!,$Q#0$D76>"%]@.M2-.MY8Y?1)3&2I!)V2H#!QH' MT(8^01"7$UA?1\)1_DQ#X]"WGL7`2?K87JO5]M MUUL=K3\Y45IW:%<%45=9I]5X;I+R:Y7U9FO#;"&*I^\.1RF,+-37Q),1;G02 MPI,$/TN(BPWDHNM8J81R5&;15:H4P9L#,!M&BH.D(K.HE7A&FKBU09_PO9-I MX)DI-]%PH4'"?P-4'I!!F`U'X&12@^.RR9+AG",K&:G&+7J@H"S?T%IA$0BH MU/L>N?9`F_VR5MC?_6EEE<_2_C%-51@3U]2#9G._U=S?;A?\S.X.^QE^S*@I MX0O?MZ(**>2TTOG^1(-\']4#0L]!8/8^N1;4(8C9HQ3U0@NUE8:^J\Q`9=W. M8M)UE$2_<FC)A6_9(XAR5`G15*547?42KB:8=GWM*-&FD M-$PM3SSZVKAS6YPDYA7EI$%;>6$]H%ADL22)8!FQT$:YCR0)GH,69@"!E`XJ M_>;F)B[G%93SD]L9%"@I`0YBG#JG?J*OT(!U[9'[@'!V&(U%(H<^PB65(*X; MI#KPDFLS$-.]Q&&U&\79:&_0)DU>L9/:F'WM-FEVM]W"!W-/^^UHZ,"]),^7 MY`)OT0"T+'#"X""T)=^40\?9!Q( M#S7+37\@\IO"6AWW=;L@I:+T%+NI9(,LW/@_\S8:0;*`[)DR662U9]>>H!(Z/[YXC39C MC2ANF(IZ<=T8]&HIQ/7K2`=^5H-18/F\.3K$OAH9E>?G9Y2IQ/VO#`>5><]- MTK$&J.:`*JL(@4/,5J?NVG@?*=7A!BA:B%8)I1#Z^NEN("V2@ M&4.M1I"YA@?^1&AH*B"CTR1*[:Y>%G%SX,@!"('+$@);&O_"=S>0G$[P+%!A M^NTH$T'FW\M8H/W_3)HDL.WK5_2O"W`*Q*_`!(-I6X%@><@\B4)6JKS!S\8A MRAV!5IE4Z252QTN=78HW,&+J[.6!1R$B?EGCK6"WQ9%C,@J?F)H*B0B:C,5Q M7Y5V8A'6,G#V1=-I&-L^[4UH,AJ0,I^2'MD.`XP=.!#JYC>M7"LI@E!*WD>5`4- M\?-$[]2ZJENZ0:VWRL&-)B-?.R-_K9I8>+M3;[5I;[>WZ0OOK0J0"DLKC%,V MC;@D7@G+2:/0_[;9\WZG]:HT3"3HG!T1V95UE:]5513VG?#<1BA:(E^C#G+Z M6#-64-G:\9Y_B,R5"$4ZM<;0AI4>Y).H3J@LN=Z-2T.RK$.]5ZI%8Z@54>CB=3D?""Z5ZTE6OM M=KK*.NQV=DSHAP:<4DR)D5[,<;\;L"7W,0\TP9C25S0W!RBLR$T_$AH'UX&^ MKVHB68[9C#TWP6R@4ZS<\&WFR`'9G'O'H1Z,=Y^)5'K[W=TEWEUAK0YM4)[0N>.G3@GRBC M\6DW/B#3/0E!&/N6!^>T`%#ELX2YSVA4*J'H1Q'`40D)5JW3TS%9[H*G2P2: MN1/.?^VO+8D1=/;*F\K"D.]&$KDL\4)AT&:SR"/$S=79I3C_=/Q1W%W2X_2$ MI`R#&[@[.U$RI@I9G";5*5R/8OE(INC)\AZ0I9C#IB[&R$8W>&JNFG%\E""( MQZ6Z!TR8PTC&%I7H-B=Q4JN#UGI;%75T[:*4Z76[7[4?++IC7`SY^X4\4!FR M]*-T;#1/YYF-;TMJ-1LI,63"+=)0\DU&C%#PC:*BA;E`?O%W<7[Z[E:\^W0M MKC]]NJU2S>!-GI1D/"-F[7KHH4QGE(TM@8XW&`K?7S3KK^(PE7::8++WG*)) M'DA6;"-#2JH*FTH=V+YJ3Y7,M?=:9(7;O98I5;XL9*VJ7V)B@VFQCG9F5,'& M3RD&GC5,Z@MW`A?U,(F%%HS[C\9;7BR8+92IY>Z1CK5[>Y3&YU%`82Y8A^/S M3Y>GXK<+713P?=RKF5H`ET=I.W&F&YFB=N<9H2,3.W8CS!+S*C0/S\1OZJ+. M9:$6 MN)K.]0+2`2L>DXO2!8,%Z6]*4^1):^GF]%9<';T_%2=GUQ7NFZJE8"JNX(HE MY!>=;&USS:33W*FWNHKI.`#BN0'RG)1!O5I_ZE=&YC9[!L9>!!0D3U:40YBW M9G]A5L^DZ^(&U^^02\?H"QWB9#)37:D@NY#Y5'VQL"]0)9>@4)^H\@CS:?]D M&LXA4`"1I$`^<;%=L"-FH+SVJH`F]5>V#23$M>((3A:I2ID>>BEFE.J*R\XN M9V<[QI+F_L<)V6>MTKKIKBR)87)R,054/W90/C2)EA9$A]V-3G45)T`D_V=I">9;&SAW&X4$Q MNJA.*MKW&'S2-K`O8)JF`]@#F*PQ=TOJ<"C(>XME/9K:3%NK]7,FX,R;8GK0`%DHO[1AJ5&F`T MC/ZI,B5-4;6Z8@QUGF@&0&_`);A9_-H4R/CIWB3 M9QLYG>JXPG!5$\&*^FIUKJ',_?G9Y<<;59PKE::+=68,E3:PPQC;G5:/"O$[K3U3B"\)^H-$\9SWW*3PV\=A$ZQ9]2NP6Y M:&0%KOWCI6:-]DJAG4]A^9/Y_)APJ650N<\&=4`FU#%EU];BT1(2K6;^KHLR M'T^O+\7IQ>GU>RA_5)K#4^_#V^1+4*[C2-7<>NJJT$%^*R,WFI.>J0L5Q;I2 M<::S`"B2PO1,)7T-UJED'-B8O^&T>;V)5`]S`I0WU(@8\]Q*=<68.12,.$N. M%PT\?Q@P3NS4^P>G`1KOE4LP.WP<8(XF,<5";`Z2[IT!QA'^YZ]U^LJG@QB1 M3KU:SY\I`]=(ZBR>I5O\:>&&\GHQ0<9/1BMT(7,]5&17/E%??VIB1;B@JR=4 M3,7]\J4?QF/4E`)4(:;HYV7WXT^7[\[>BX^H>--DH;)A!'./P:&5CGA"77'C MG'N/RR:MO1UC$;[QSAT=']_6H6S9=EJNPSH]$3_VZ]#9T&58I*1:1X3F3K>K M4@8$Y+L73HA]C])^J>=SU?2X%T>_F[H*#H\+:>B%T"R%==5A:A8TMJNG*7UK M4@;+-B27(G./1;VI(Z+1DB/NUESM:2'VS*V49FN_LUVXE=+J,C=;DT,1O1/J M#(#&4)Z'2Q']F6XJ47(!VW37BMUT]$&XL!`YC:UH>NC\0*1$3+\Y_G!Z26,RZY.%VL&>&C;XNSWR'#H#Y5H*4+27:K(QNPI&PP4&9IXC/8$AWL;.N[K3_?I=>'7Q),R0@N) M:]^BVD>RZ!3;\$V7[O5;@M:AADC'5W>-))*V.W!M=;H"X6#V^-I,'@Y2,3,. MO_5Y-1SS\V4P-$1TZXYK>%-+&R3YUE%T3UAA)`-U!6L&B:VP.I/N=$VJB@AT MX4:F]B:)1:E9-__!%]6+RL^"DVQL0>$$L_"5S<3DPR#J@C@.JII-)[-6"23V MF:3*H)%@L3!-$%4'E5:H?H/-K%[BT^V'T^MZ<^J_`FQ,D-^@.'>3_QE)&P3P M0@C*.ZDKFMM[VI80)>@3:(RR=M%E,_H@8=8J=A5))/%;O%R4).PXNSR[%;]+#IKHP"[&'V3Q(\E:^]37IH%?3I\A5'72FJ)>VNUOO=.A:4-?4 MX[0IRP*2#-9_]37?4O7>+YA4+650J/_I>5!7IF&F#,KT"3K7>5=`SQ;3"V,O M*:871Q1"%3R%4%9Z/KI=/*>I4N,4A1.Q?`J.^S:H)K`0OPKS1)?F#P6XF:"T+B9XO;7]7O5T5VE>NU!U4*J8(,K.,*MUTXW(EEX/FUKB8O^@3 M\OK*:@8LJLW75HC+@GL6++/D`L].@,P/&G/E[LQ]A:/J#0TK"!LR0%2?FF"C@T(8!!4GJNE"OX]5VG87A7^#_![%=:A4J"B`2V, M]Y?%6LP!$VO=9`'\CQ5`>X=CK:8.PG>7QEH:^Y7S/C[`T([6K(+R[+O?];G, M!\7XM09LY)2E2CO%Y7NS_OL'J/!JB8';.:.J^,[I4D[H40F*J-5L^I1#YG:#9.S8JZ*30 MK=76Y3K#"BU^T)J7VUQ.1W2K* MZR+`^>$))2=XR8$:=&D;ET?U*M7[QV&]1E\M:[T]"NM[QA.7.)6Y>2]^Q83K MU[MW[P[:>W733)G30:=9Y^O(O]ZAF$-1,89.2O.-353HQ(A75\?BO'U\ M?=!IU0G7:]LQE131D'')"1!`Q6JSF=1!I\T8*#OP+Q7;*0'29Q8Z8J.IU"6O M!=S,[_I'0W5?P"BOE<*-C)"=T-K9QW_-YC*.S@^Q(%LJYM_-'D,Z&Z$`R"!A^_614%WZ=0I\3'+>JG%';<41#43;VUO%?] MIF(.0-].(J"IRU!?5)$+5XS>4(C'T,.8UD/76"G[X:,';YOUMV]QM/(^[)?C M,E3TF%4F"EZ`[V%`I5G5AR"[I,/J40B'.&80@FI8$6:%D>\(,N7^7/:7PPAE M1F9`)PI,(.RD#1Q=M<(_?7J$G5:2Z4XMFJ05^S?+MN_W1D]_;VW(]Z= M'MW>79^*HXN3SDFI^=QKJK_Y0-V.,LI1Q'-O!^Y#C+&HH.%8J=6?C:CXRM1T M$JKBJF0FJIJ]<;I\0C/79_,SF9:J>[5VZEU3"M^'LFV7S?6O&N5#[*[/@E1Z ME$7#0%H8"THVK,?77>K=FL@5L0-;Q6\7I\@(Y$&+C+(,R!;"HX]4$'VXU6&0 M+$2\^NU,(;8)D:H+F>5-2J>8^GO6T`RX:(#;FQ,U0)<&<-R$(?D&`.;]?D0_ M6G,C#SH+L4\TV;T"V8Z\SX9#OMWS"NTW"KO5+&#SC\^HD/)(_X;>,KDM!Q94,?$57 MJS!B[5[\:J:B>T!75W$([R>4,JSJK_(OD/C7C%8P)N']*5&OI'J010QK#2BT MR!*Z,LU72IB@$)T<%7+H<'-3RWB>GQ<-E>]G`LD71BWXI&KZHH\J;**1Q"2+ M5CIS[\"W^'+0-_3$LX/!7P?<38=$VM,:YXJ>M8O^55K/7X(O:9G.OLMAK+WN M5*N&QS;VQ]TO`;>C5X:R&P_1,6L*L*UL/9/RUUZ6K(+.;>-_L([U`_C[!Q9" MQR/_:"5_+UZ*^7T"_QV/8_>939D=!@-WF*E+>),PTPT<^5S\\4*+KY#4VDU3 MTR39)8W&,-,-Q;V;^E9$]I#X\!3&3K+__]U]65<;U[;NL_(KELDVD:P248<0 MV'@/#,)AQ!@N$._D^'AHJ"E!G:B+2C*P'>_??F:WNJI2@Y/[<*_C6%*MIE:_ M9OM-5:N2V<0$?6_+I?)#;3#0;@UZ&YU=`/%\X-D46P,U)Y[!IK>;?;%>&ED7'6>&T!\!Z.8 MZZ*_+DH\`R#TAG!`KNZ\FL MW1._8'=-Y.0;"\;I=C6;+V9A/@T$I4#"Q^:GETJ1R5R[9R"=7 M0*+BWM`FH_;>MFETC\W&V**`]]&9"6)7^"M<`V2(X-LD!7-*F4T2WG- M*B7WO-^J9/*FC2*3_QSL':`>1NG.K=Q3S,\[1YZ1V2OU)4=_D,LM!WF"%U#; MHC@`GJ6-_'))$9_-!V-@(()$EJC*-:D(.6AN\X;B',8*N2V MORBK@.!>4*>O?SJZ:IT$ZL-YFP;L3_SVKZNSFQ9_;?W:.C8*9ZE@!ZTPC7=( M=;=,]EFUBO$-,5H?)`KC:1!VX?\X"L)^Q'W,_;>3R^8,>G'`&IDE6?IQ,(B# M6YNEE&N_.[G)EPN2`1U<.8T2L:-TSU'BW#FVG1IP4'$Z:%!Q3-T:4"V$U=O% MD'=/L@+[`U+A23>>#$.>1JJ7ISF7,Y6Y4T_'46+J*9.K$C-_?W3VH%TF[16= MI[6Z[/;/'@Y:G30866-!$V[6%K1ZIF^C/)K\!63A"W>*?(FG!9)385%:)GN[ M004%7;6]H%H1NP!XS2EZZW2&0_0NGBQFP(JKNW"(5J:J(P0#6_B[DIY9"&1H M'.KW9ZI_7CI\!IQ1.,@=W_A.W4?S.U1=SD(@+"-2=JO!;#(RYG(Q$_ZN<8KX MA,J;\4G^Q6!1L$`:W1FMTF1!AV$!:T).9Y,'XF!D<[0(,C"XO.X$\>3 M7M1!FUML*33_PSD=TIY!A&=ZK=T3E@!L9/H*I$PLO!J?6%/F-"4K2Y3!K/+%FP)XGLM3E/N?0+`!Z;DB]W\U9=T M:93+I'STFL\)C[6Z`Y?)>C3T#M+]!OEI?J- M5`VK39>J["&S;XR^B5_TN&<5I&Q`5[8[406`DOG(FZA6O]7DS#R<<#_IG%W(# MY^4CW&('5$X!.5)2X\5P*#\K8F.ZB,.^/*K"([D(D3O3EXZDUFPJRHH3J75( M1:-JKZ1*_7D%4P-D`/M)TC$BY7=U^8RZ&^FF[J4?->'1T>6Y>G-V<:WBQ10E M+.D&+&_!?D9Y3JJ4ER=5EB?A4`^T MVZ=G5]=D;=5NO;^Y^DVYNG>="G5(:CY5H%@A?R5GOUU?M\[?O/L-=1]R]^#V MS90DL6HIZ#+3R**]`#9UL0X?ONE`U)^WR1<1"#Q]S?UZR\\LE9G70`S;D!\& MJ5IP]&6W3ZSBUE;AC@FR(.."BP_!.'GP\-6K*L)(I`:IX)9')F&S\F;%T5M0VXL<;YEB.^Y!_QI?017UIY MQ)=6'O&EY4>\I&4?WZ7T\5U*']^EI<>W)&6>S*7E)W-I^;"KNUF'(J)-.=(S#@036;GL$CL=H5[J%XH)HOSQK(5 MV--B=06F08D*GG!>(!L\)F3#*1D0*]E3W(=4I;*UU^[,9=7JK9K4M+O'L=BU MX;L2;#'K[^:S]BWZ)G@0E='L#\OW]_NS)$>-18=R%_@EQ[H<%G/D!>0&$_T[ MS*H)B.YU-7G"#QP[A4[XB`,;]19#N&S8EUO0YK1W%-S@OJ+35?SIHUME,/'` MP[/:3^!>$"XL`^M%>_"AS[P6"9"JSAL?*(_>XS8+.?O34CMK79.['"']9);; M=N8O4)4"JQO-M8/(5UJYR?>((]":S$)9M\!I&!UE+*N56#MBX;?B11<8NJJC MG)3G=[.A^H?H,OG9`?-;7"?\*F\A[Q)L15NI;2P7G#53_/;%ERKZS8LO5=-F MBZ^$UO4ID],G'J"EU0=HR95XK-W)/*QX,CQS*482)QG;T!4,)2FT)^,YO$_S ME?^"SI]W'O'B*S<.:C7XNY:O]*I9QUX2Y)+V>;;T[AE4U#X__Z5]?/'^IO7K MC<]F9J4FN4WF;E\[M`@.?X=8!&BATBW<40_-!A#SC$'Y^]C`0$L&-HS8O/!H MT;M+U,"VP-W%W&!\PJ$T"^G,(HMBJ%6`)]`;-U_848FK$XW/G&%%BVTB_EQ9 M07%99A0K0O`49?*KP_:Z22.H^[P$=^OT4S0IK[#GMW_ M%&&RKAMF83Z;/*ZLVO02H;P1FF-URXM+LS\4L=):D6+$GP:+&8E^!>&,-H:%!V("BR4M] M!6,XFD!O'^D\Q/]CGSO$HXQ?(_"*:7>X+LJS\9036X*]H(Z^;@F;P/.+D[/3 MWXA$HFWX_N:Z?7US=/QSKK(ZT_'%22M7U:!['Z=DKUF%$V)7**=EM@PP5V$X/`/$Q([^ MMW'I=:B1B3Z*_%=D)=21W&*:WT8J!G6E[3@T:#B+ MV5@$#\U='U&,;J?Q"LN]=!;XF.NCY[>]UZ^T'@ M]:`OULP"!JDN*!>F2[U9%49&!N:EE^04/$P8:]A,8LT!.2IU&@5W$!*5)U*7 MUI_(Y[\"87@GLUZ(R"!YZ2PA%[D02Q9@J5IK$,`2?59$:N]ZWQ^]:UW=J*U? MV&`0+A=VO=?\+VI;V=`#F5HXI0?P_[@7.I"23ZMPVA&U_Q\+.-_)`(UA%W$Y MYPTXBL&GGLNS:-/.P,$LK]N0F6W+I MCERY(3?N%T3G8I,!3]*/2C8M@+ M0MR]D$;H+5'6U/:7WR]N\75^, M4.9PB"&A\WL0=IK7=H)S^$KZ),H]\_K0Y#2)A(0;0QYP7(WYC*Y940.76F24 MHC%;GED_#Q<_KPBD[?TX=8,"ZS]C"%81)3Q+R1)LK`P$CR,B\M`5(+SP:49] M)E#&U]ZHY71I\]`!J60DK$D;]WF>AE\ZPI@=A!3-GGYP0O.(%$WSTX5]>8>6 M_.C[G3K&1:525PK""?(.5@02]>%-L#>(T@>>O:^)M2503ILMKH"*`*&)^Y_- M&!KUH%91Q;W=H&I/4_3^1#815A3YA'9#X/6BR6*F\@Z*7!0KA/=$*(`?A.S! M(>(JXFFG%^H*QKAD^&CE\!*G<-#`H74[F:#922>>C.444G<1BG;0A2(@KNPM M<9/]\(%]!(F)X#K@];V[21R.20H_&6+8(\S`N9DCT-Z$+GZ'A*LP#.S]!.N) M@'H[4&&D+XHI!6":]-"L)8UUR57@@8)>",#7P=5SUYG!@%N6)5\(\#S%NB8P M8;JRB(&.^Q-=!PK?U`AQ+F]1Z!=36(G%M,^9=]0Q+PQ@5*$J-(;M(.'*I1?C MTAA:3B40.XM'7E"^8(V9`E.U2?1^P-M_QX*5BH1>3$B-VP)Q3\ M&H6C.)SG25Q9#E8<5`S@[;9XTP8('F/ZJ$P'.\(>2W8O=(P3,>:UJG!AE^SZ MU]'5^[/W;]46SI^=/'0+=U!;GVGD+(L?:T.\H*0/A=2$JG77B5%H9&L2'W.X M:3DZ#):]=,0M'08?[\W@60E7"RY@%AD>7_X26Z&2A:Z,2`H>.SBPR]8$7771 M^J@RE#I\RHCF4TDZ481HA^LG2O,E#59G)#; M:,H@ZU>>&1Z0S^0YRK(%3#-(FT-$G\VWVXM:E3#O,0\9K>ZX8A5DE6NH=]:: M;^_^TR#Y5?*WK%C(^1?#:>Y0Y#,57$I[PDLSQ>+\"HGPO5OUTSL$`J*^+5R_`="'U;YP6+< M8ZE%#\T\RP?"QT(%AHZC.]82'S("=1Z!W68@F+!2S%[1?CDX0GA_.<&NT"`_ MU33I+'PD+.]2M/4=L@37F5[PNT!DKZ7-N?P:^5^-)UH+T3Q9M:P*BD?CIR`; ME_58^]V_7B;V5JZ$]_A=^_SH[=EQ^^CDY"I7?MA'_TNVQZP1?&&M5K%\@T&W MN*<(*W3AI\Q2S^RNSE5W&U:(^]9)R%>JQ>H+#1OAB&XS,Z&538$;OH->F4-U M_=OYFXMW[?='YZU\A%<+8:56$)VAN%LM&^BUHW=G;]_[""`H$^Y$P)PA<.-& M&!I`_7)[Q[)]2GM_<=-ZYEP/2!Q@?@<='"@Q7EUJU(&-%L:,YL58(SP<-?)7 MVZT9S(H=;*!"1]=>>;]3-G^0DRT_U)MD27!,EE3$*).4S19J9A3:+>M"E087 MRL,7(*@*R=+PRFJJ-+_RA%Y)1A5T%^U@5#UEUT?0#,KD]L'T&)[2;&>%)-'- M]35\"^<]IGBXK`SYBWI&42Y`W"M5PORHF!L;C1WYU0_;G#GL+(C`8<$N5U0\DNJ'!^D'O;`]XDMS_!%N>N$S1>KB0*1<:-6P2J?BP-P*96`` M`W;NAO/V/4;>:$]^1Q#:9_A`'*[IMZ$E4)T*U`$1YV)KOK>K0Q+Z0=`H_,%W M#A0CB2V3R.?*0)^SBR@07F6\*#C?LJ,9\J&$8SO(*I+)R8#A)7`ZH9@`J5'C#"/P0*N` M9N[14WP0JY?*^7T;;S&@A6L.))4AS,6,;#$,>O!*9C#57N4@>E/`(2U)T(C8 M6"42R-3Q)%>@PS9:1NAM:"-@$#'+CD@V]I$P+@1A"6.#I&2`6-P(Z!FWTC/9Z$9OPJWA6$G\0&U$W3`\YQ[*U MXMV,(K9R6,>"9C2Y:HE'8X`/O)]U)'P4'CZ,)04"$L>Y6 MH*DNB89YX/!NR_BF,G,HAFTJ"Y[=TAEQ61L)"$.D!)!4&$1MUSB'R/IG)&1Q M!S,Q7#DB1+0,'W8>_V[9268?*)!P=%B&-1R]:N*_&%'*5<889V8=!JB$0`LL M/W`%^#H?"10$0-@_`EXTJ7-XX8OL##==;V(,MMC[R@1595IJE^`J=^L5#1;S MW<;.>'WD<^8=B5F3.`A,8DH4G=I&^LP6%O:`RAI#HN?-&!J.E,A=A];M/]6K MY]/76O.4RSEOXNA^HAW7<7\TE7PV(!]&6+NP_MD?DP%)F&A`^0*?E?&R\#=4 M#4YIQPV`HUIHR\`/*`*S!+6-0\1"FX>R\T7$"(P`V]=\:W,&DQD#G#AM.!`B M&>C%3OR(\:AZH1.G!Y[C6:"/BL=PSDT@4.&:1.Y#$`TQJ5$6>_ M9.`5<0S]VX0/S>F2TQ+WG+8=X8N0XKEP=T0"]#0!:(X+9TO&C'14JLZ6+.(+ M14R%8`L8.CCL&^F4-0S`'U]9$A>.>M-'%JU*=]8(6$M2-#TP%.^SE)#BX9+* M$..)9BHY:W*$F8MNT[E*7*AF:6:/JKG'7$,)?9#:*?3#_8P0BS^$JU^L[>BB MQ08`I8$J,.,6;4(_'3BM>L)2*+JR\*5"Y!53C>HN47M]P_P6ER]$O`.*=M#T M;<`!:("^;JABHUP-*L*[]#!JEN8R4.9)N"G^ MVAG>=QYCX#[YSL!YT+?:BQ]S'*;6N&"FPHL6E'GO2R]G.2-KWN2E>*0F>QR7 M"?81YZ+UKHTA'TLVE<(QL6$^;P7/&!AVPG;>QE2U38BR&CLCC.3)2$*2%'/3 MDN,HNKIWB&L2)?21\[9-^L+G,*L3.QI; M@:&;V,J(!&+`AD3]4.N\T/^$873)Q@OCL*$*;OC(U>`%-YL,AV1N)`91.V0A MR3Y"\6/<9JP&N!E[#"(PCX4.X"JD';"B(-OP<8>>.C>`I*>"?+O^W&S(E!Y' M'IQ!G$J_==,U[@$*HSO_?B2G?8TCZJP7=*3W]"SRS)^)5"[[F%_B!:[FD#\8 MWZ38J&KPQMQ@^AG.MKZ.G(?2FO:HPW!/>$1)NK$V-*UFXY>2.7[@6;#M(0GL M()Q5($/Y`M(ES'"Z@&UW9AFM5)'N2).8Z6^P:+-1-Z+-_F*$`8_:?;):*&&\ M/'XP%X,,DR,6NX:RF/<`W\%A;2/U2C4MYV%J]!@/;W*<)#C-L)?K"OD\BI33 M0=JX,&.+P+]`([Y2*/_D`QQG(MF'E'0C;_+#K9JJKY"R"*7!;.RA\6"QL=?4 MDD)7&*IY;I)U$@/:#=D3EL0E';032P/^),S4,1]E(BQ?G0G]0HH966B4O%P6 M:M=%U^UWM]3W!K>.L^72#E#DT9]C$-XT/ZG+?T*/*[I:)2>UHO0Z,Z,1&.Y9P-CHCH86?YHA"Y\'51GW4WN MT5]-%W+8T$FS+XL;O:$^7OZ4]%0$"S.$)^Q$@)@K!D"#?@S?) MS35J.2(,_T)ZV$S;W#B]2X5KYG9A M,K=/)SMU9@#XO9B3E9F&K%7%I2YAB;:VI\:XD,435VQXX;6U5ZD%]3JL+=0@6QND^W`XW%%GS%R/0EA@"`GKN)T0MB6E=A?Q M(Q="2W'AQ_&>)@8]4(O;.VO7B5[>U(Z/%A0#R"4X9VJ?=KJ(`L,DWZ`/)%\* MGH:\(49@@^@6[E9;$)>VWC"B\O*;!ZL*KGHK MOU%,8J_"$JU8,F9R8@[S<#`C]I`PO,0('ER5;Z:#H>G]]4)^KILN&&2T#$NJ M=W?RO7I;IPR$K+N^R9'NI=V'(ELG+MZW%R0/*E('V:81)J4C6\!T,PB2H4`D MQ>JZ&-N23SS-+'`7+H M9=MY83W<]%LW7;B/S/*#=)HI:^ALW;SWZ';7>>R&KOU>`G'3--*$RY8(9`K%`23RN93ZN93VM:*X!T3)T&=EP5? M\L&3+I!V?_XI2X=_BSS$=L][+'(2',NZQ4^)60B*&"@HUD2STX"\&/$7$BBZ M3!>&G&U`=]31^!'%.[<8\='XM7;#.D=P_NG(06OT&)S,P7=0/Y#+W\3-?9.H'"MK?*<9HI<(;)C$$*8^Q"G,% M2M_*^)KBS/X^B?.5LDG^-\WZ6KE5LG]+L!*YG[22OM+5&\_IZF49$9P>$KU/ MAZ[DR.()C3GKRU=810!QM-0%8@,S*RJ><+*K-`_04LL$8R5CLOI>II658S25 MM+^"FM-/H\EJ^RH_'.?YS=45/%/*RSZ:SV;:W:%:H]95@:O5,9Z%Z]72N*+0 MUV24`"17U->AM8H>"C)?@M/YC&#EBM\5,Q7'*K\5W\I%BA6*UD2;M>;L;VV-`XV>NPKE M=CB_/+;(YXCNBGXH#1O,D_6Z<.B,IOG1M`=4P;2'_D%C@GH/H#@<+6_?4T2, MH$[Q<(DDT!UY`^\QV=7'YSW^[]..[@4%^,UOH4'O:$KK\H#.T:Q"SZ@0WN/I MIF"GER55EB=5(8F[3L9TU3V#=OY5=WXZ:%-$A7@Q<@008LP*M06FVF$XOIW? MI0?A6(JSP>F.D6YG];WGY;56U+)#*B^]ING^3,/>LT,,SH"V0.G'=;$8;%"P MUMV]I@Y]ZPG/:-^9)7(SZXPP:"A<8LTR!A2!E78+S]`^`-VAV!G"K)T&;^K& MKAE`OL(Q3LGEU=G[FY_ST%.Q)T"%+#I>]@\K`5R1_!>[RK:TL*R=',:I4@X" MGHZD2^FRV;M6,9AC^50._) M/%N14E+GJ%+NAJPT97D`7HA15^(;],,AL(!DN8GV&K!B>3[P(*:.V.ZBE9G* MBX'17HTB?^TUC'LV30=&9-TTDK^O"HHC"6;Z0-67&F4H;SU$, M0YE+>C/.SRZ\>D_'1;6&1S)/5@23F"P1HV3#G"J\\;==429K.[3L_AV2RHXJ M70L=2'FJ"6FA MSS#I[!Q!)`G)%D`#8313D6!T8O:?88W=NOD.RV6=Y%`QUJK@Q6[E^,)$->2&AVJ55J*/,F6`D;^TGS0/#I M(SPGS@&-A7[\[N)]JWUY=D+K&!8P&5X6B^+XB&^3*/0Z[1.QX9Q@S;J()Y]+ M8!0G;J8IA;FA$%O(D?(4?W*0>;XKWD_2O<.#YWE_*U`1\8,4OJI,9O;-2A.W M%(U3FXQ)AY-;7"!M1-?W7BL]$Z<-2F=AOF3RK>`(1)LE0-0S:^)3E]8#*P#OH'7-O M9/D,+$`)SB&D!)[I6-`ZZR'R)(MI>VXNT+R9E_TF!^$JEXTJQ]B.^9*/WN"6 MAOR)5P"[09FE'E/PHXS#7XT?`&PS<9G$6Y M?O5"1*2A^Y`1A\BDPIHZDJ07F$?H/?"FM!)USLE"?#"14H`[FD)'B;TAT")T MUVBFE>3P&,[\P*Q%EQ9PY2\_X4J6:KK&EX$4&`0<0(33V46)WNI%JMQ1[T+8 M%ZN81GN,_`7O>:>2)\'TB,NP#GB.`:^].'4<$?N0HU`@QB;Z2?F%B.8>>J7X MD2E'C,0[+IDPH))@%#KG^?G+5?&$4J'SH)P)W2'/2I5/NC:;IRBM@/ M]>J0NEA`F9_[_'52#E8CU-TT2@'Q,;NHHBPV&D&U;K1)9Q=:MK28[BAC@!&Q M+E*1K\<\&A%K`W<+A?`C]#HRM`0B7ZM7V!KS_HZ\L9E$IX?VO,1XN4,\U@XT ME;)QE+"E`<)*(NZ=&PG8L[2(3X,)K9$"$E62E)L::2#=XG"RD?.C8R"NC/.S M)Z9$75F03T;Y*;RH,_UH7H/X)+[E.*N$!?@L5I[BSA'[K9-JLM-D3DR<.&-F M[`)'ULK;B#;.,[UK_$NI/W$:A'#90A[U=!001\G(@R11HFP;-GJE5R`A$5[6 MRA3/O^I0F_WQERX;++[Z.-NK,FM>=>!:K&\W$K9.+-`["2`9S120AFRI,8@( MS$5PF6:QM@PN:JY+XK@\:E\IMH1QCDSB+_N3]MG5_\D6Y*HO.2:XA#\F.<<> M"B]KB7AR@M`I9H`T<.VP\R!V@"^%V%N.F:H,X+66+N2A5<_[`8D##[8"@O\4 M7%.=Y>-/E/II*U@A2-!XU+1]H9;#0W;LMP.#W`RNCM_QUMZ!+,26?/H(WSX1 MIY.#;V0`2(]V9,!+K_E+GIJVK2&O>*AVRS14NTT38H/PV.[:M'$1E@F^N$QO?>T1U/V#@)"#IT["IFCB8_8&O MAU7Y`C6'*P7U4W+_^R8XO$0-J[=!G1STZIH%]W`*6=!(7+S8-Q)#[UHGBBR2 MG1VT-2A?LZNS6M-*=E[!W,5#N5@AN,$=*VY;*DT/ M%C?.P!_8$5I6X^WJ&F^S:\SJ:[U>I1U;KQJI&4:U05@H)$-U[$$*[>D92&HE M>BY'>4NK\I8_O72R,M0;C:!X01*6&1*1GS+5S/7D'V* M2!H(6`6E@_0VPNW#:@D'X(;&I4F6JOPA*P!'9FUG7[H94UU5RWMI-G/1RY?5 M3V??8U;N:5G_M!VA"$42,:2!KH!-M":F3YEJKRCN1?5,7FQLBY4L\QS9_5]' MH\60HM*-53B:SA_1SD_,]Q+=,Q;".[U[-%EF>[)R;6^0,18V<^QFAC\K,\^= MS/@G>_16M61U_G1C5N=/MX=69$KV=73S4[MU_LN[HYNSB_=V\+4P2USED0RR M4Z#Q;G$OM-L>&IN.XX?%@'C)&BJQI-BL8-+$^SL))NI;VF,-;8H?*\;VN)/6 M=M2#Y%$<#8\K`;X[GVH[/A4M\=*\3G,Y.S?7P`^W!U.)5UEP-OQ7,Z0,`+?/ MUM16N?;WSIE2,O;D>$&CGSU1RIL4Z?KRLLFY2A27H5#J_\+7-U=-PZ^1.^TK?KWZY9 M2)8#DG)E!N.,N<+@B02]?P4%1M>P1FJ]RQ!>NRXGM8E/?H[,P3V?']D!Z1,D MP_]'=1<#XW[_`GZP`G1-%:DC**N6!&3GD`,5S+U3(;W7L;!$/-NC$6D89RAB MP;,/7YI.1ACU#AW,D,;%#;(-18" MPA)2-_V%[WRXYJ6OS2#`M+!VQ9M3"S#Q8U?\Z45BKM377MM203(B2,TS5JXA+EFQUC`# MFE9HSL,1V:`QG9DAP!]BZIY.]L*HD2:1PJKHPIFA0YT04J0N+@>JS&IATKON MX@&PVY#]KW5R)Q?MUM75Q56>5CRBCL!*8_"10(T[HY`!]-%7,T/E\/WWF"4; M<"U@88O='%0)QSQ?&T+`SV5!_KF5'/M\DV@!J8Q95;E1`Z3[=%]24C^"HW<` M1=J#Z&$QQ;X2V%O@=(P#I+/*@!B1O4I@1"U&+,/^K@BNA[S4@&!_!9&*G%X5 ML%G_;PZ.@+4N'1H$K85/-LL@N6/%X*<:TM`#\6-7G]3",OR.0:PJ&KCCLE9/ M16-ID":H?.F?8%\D3/#1$H!1&)MD-U+==\VH':OV`^1-T2"V=7;)W\OUAX./ MKPC/[_4G>'[Z[NCM]8$31T1EF\TFT?EZL0']P_O!/<=)7<01`$U;X"K5@()* MA5WW1\_]T7](M,6YDRV2H7+N]&PLPS".W%K=']VI\R.>NN_3N,1HDE"I[6&8 M"!I5$WY6>P=@2?,UCAUL0]/DA[Y%)`DLIJ'S3*+/F.B(D:MG,^^\U`A&H9+EF M]9_8/S=HD$+F\W";S(M@)1)T)UE/[5 MF62GDF,\8F]0N/"$?D1\:G"@KSV.>56SP9H@`RN3&4? M5>$?1*OPNU2E'J4],\Q94/@8??(6LGLDB<7AUQPK`.MT_U3KAE?TH)62)_86 MN0@R*B#0#^,H[&^ECW`X;9=0V2H9]R>+BL3>CG=K)(A?I90YU*5R@JZ MY>PNS?54=VLT&@US'9/QCZ6M2>5(\T&W].VT;?8%ZWO_:K]K?U^_:^O[;>=: MR%**V5;;,Y&BI)\L*[HYU?[!!-]PCGBI>++$TP6C)K/C+5'`JK\@T`$4**B3 MJSVT52!'&#+[X=*_?U-IGA.T5X_(IF%;Y4^N4$!W6?Y3OE3TEZK^`I-FH=Z> MI3%"]CX5M)/LLRRP22)C4D_F M2'()$B]I!M!:03B-;/@I7AM)]NS90_@%$XG)LHENG5ZV`B6-,:=`O5YGXY2J M(U/-QN?M#>BNQ_B\[#O+SK/6(V8ZZK?)CVC4)Y)N M'O+/.86^*MHK0M,?1SI;BOU'N..!XC+&H>),A^N66#_DK8`$UCSL M"18.14,0OK3)4+6(:E1UD5HW#>#,_$!;LAN\0P-T4DQ&H,^/7[VJ``&.%D$% MCB9=!1(5Z+?F/GN]+J^K+>'>EY9V//O^0BSK#?MD,`.S^I3G,&$\B1YY?657)J2OLQTO8EWP+KO[B[1TP?0A-Z;KFXE(?Y\D/Y]/3T9+^` MV,L_M'[`2"L_G/WPZE63@J[\<`U?*PW^?@3?J^REFVN=71^UNR1#KFB,/U*1 M4=1Q+[8Z"U?$?)2ZCJVD?.5@NQ]]COIAF\X6YA^\'!7(@?=&1E(UV!Z/(A&L M[>Z33U>Q4:X;-B>1/PJV8=^$L\]AW]0FPB%NS$,3VN.(BPHO]?4L:+GHWTT' M\3:!JDI`"KY?O`U3#M2V=9:8QX(>Z"[)O8K5,>$+O3^AAQ+R`4$(;7) MEX^M6&>3!8&HD#,,94#SD!G&SZ#&F,-L"K3E8*A>XE$P5/]@)JF+[%H>O?,* MD#*=3`?#+8,Q@IQ;V?[20-B.>;(#1HI6U`@,?#L,2PQ(C.-V2W'+)B)5\^R3 MUR\1^R*.`^8@`C^&$AS\_B[JW9'C&AJ_C^4W^3%R:+%)PD">S>)1#L".-SL< M2TYJZ`QQ+SR*@]D8NL1AX7SOQ8(4!`^MM5_2"`/1/&?\`1M@I&, MYD<2YG`_J**1"WWX-M_$`,]'4Z9G$\&7).RE/RHCM%`>#R9L39#(()UQ\SBL M,=!U)NE`O3DZ,?``_4D[?(#U*7Q-0;LVV!'P%1LRCO#E[)1";4/?DY-G]!)B M0NBJ$;>S^U1Z3>PO"[`_G,/3J];;:_+KJ)BJBD^I:\?6J?, M.I%^%=?T*S$5:[I67->US.K2O8.YW.9>)9,2+ZVZXYFM,/+BE@=+A]G+YG9E MJ59I:<6I3B;K9LH%ZD^L;"QR`&.'8)($AD3QT,G>BD,9F3K7+GE?Z,!@>?ZP MP-G?;[/A>"*[3=+,58;WNE^AC(A39[I0LEHE%J0_XY3R2JA56:R^,GP;BX-) MY\X?0@VF"B7,&<3]2[.0MCD%;>7D1KMW4I5KX*MH7>@=XYBSX+0`2=YL9&T, MY6V,1*F=S$V@MC_K84EO$`Z6QV-0-W8'7C/%U8S?@`MG.L2PWF6AR>V;:U6@ M[)UG.B\O5"?7H4HI4PK42D\`8=8HFL\W&TGI0BI9X1I&=TU,T8_8!G!U*UD,Y$Z,'#3%,Z018DIE] MR6OK*UY[=*SK>6(#UA3TFR+LUM)6G)WH*KZY/1M7X;7,Z`OJA*A=E$_MSHF< M%@6/83X,.7'-@X'J>)03(3WF/\CKB$DKD_YXBGU(MVZ2( MUE=BDK;WI79<'U^U6N_%(9H.YU%G]GM;BL_Z>%OD]8F1HDO878ZL;?G#,T80 M.U4CQOM,;V[C8"14AYITE]-+X'CH0$M&'W29&4/IZ_)+>)?B9F62K(%:RF+H MS^NCTQ;M!4/3FI@?PGL4M/SJ[%0;:[,Y:HWLQ\HI"XXE@T;\<9)=_L91DP%X MPI@M*['YB"T=L`W'J\+!*RN[OO!39A-7LUL!5_KGH:[5L>26)+?HTA'8I$AJ M")98:@,%,(,;MH=6%?UD>"J;8@$P-&P#:U_V2,9#'R(3G49C![Q([*@=5A-6 M"C:)L(QD_`M:@1V'X[ZOQ9)B(KYH=I^"6D!B3!W& M^EM$;U+!NCC6C)`#'Z(=9@%M"4,CDWD-281(O9`7Z>AWQ,(*N(YA: MI8O:)!+PPGWZ/>*]86R^CNI'@T&((R,V*L/.(RJ'25A,J+'-B M!2Q&Q8!X<(MV0]*VXJ&QF+)XF:Q8KH\^M-I'[][Y'A.:^/5BW*#CZ]O63?OX MEZLKZ`GNA1H9OABE/X.HR MR-,R:-UL%-[E@+LBZ#WO].Y$R@GMVY'XL![P+]G"P,5!CA:S/RHUIONU1@0& M.'SHA5,R'0#:GB(,TT#+801T/9(.B*K@F^L;$UG]MU2!$\3^(,M9.0NI$</2V-L/$-:G";M6A\TE/SGTARJ]QAC-<7L*RR\.>\7J M;KE<^!'^*1?48*Z1?N*@@:>P:F,\1C6=GMP M'R&042?6P2@YEN28,(AW\&"RB/(C9ACAVY!*DGY&,\"(R1,31"S5\`,J:+CQ M`@[Z0X#R/;+QD-@Q=.01X,L.QQJ60(PR$LI%?N;;)B2HDHI)"QQ#D]>C=5>OHY#<"$CL[>G?V7ZV39_H/ MFE^J,7M0N.:*@BG.7GK)14,X+.8MIEJ$V.-7.K5B<;*G`8(`-D;^5]ABQU?U M]H?SUI_Z^^6',_/]YOK$?#]I%98C9N>WAAHP6W$(C%O1>IJ8))F%(K]0Y!5R M%(,G(<8@!-;2J!:_2=_I5BD*7ERR!AQ5]HF!\7-#-L]-()4L":^F@MV@=^RO M:0/`M'6$O(S`+T6CB34S9>)KN/&1_3ZPUACO]T8R;(,!'[2JL..3O(T9M39< MU`&"L>;A0)-W0FDXUK"2"G]4^:,&'QR)H=_E6`S]+D9CH,0&YQ$][_<+TI(> MGWB=.$6+(@IC9%8U(9LY\(D)_]-#]9_+T_8OUZT3*.61A:YSGX#",$HNT(#_ )"^%?3`=`]@`` ` end - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/