Messages in this thread | | | Date | Thu, 6 May 1999 02:53:42 +0200 (CEST) | From | Andrea Arcangeli <> | Subject | 2.2.7_andrea6.bz2 |
| |
2.2.7_andrea6.bz2 is out. As main things now I dropped the lockmap lock and I support swapcache in the shm memory. I do swapin readahead also for SHM pages. I also do async swapout for shm pages.
The only thing I don't do with the swap cache is to map the swap cache in the pte in a readonly access. I don't think it worth to increase the complexity of the swap cache code to achieve such behaviour (that really seems to harm performances in real life due many more pagefaults at the first write access to a mapped swap cache page).
I also cleaned up a bit the code of 2.2.6_andrea4. Everything seems rock solid. (forget to tell don't use the unofficial 2.2.6_andrea5 because I missed a swap_free in shm.c ;).
I also included my fix for the popular SMP lockup with the two network cards drivers that are using disable_irq/enable_irq instead of spin_lock_irq. I think it's the right one but the issue it's under discussion on the list.
This new patch should be rock solid.
Now I am also doing some nice benchmark with HINT hacked by me to run only in virtual (swap) memory. I'll attach the graph. "DOUBLE-2.2.7" (green) is referred to a clean 2.2.7. "DOUBLE" is 2.2.7_andrea6.bz2 (red). The machine I run the test is a genuine P5166mhz with a slowww HD. The memory of the machine is this when it's idle:
andrea@black:~$ free total used free shared buffers cached Mem: 31164 5824 25340 3032 264 3408 -/+ buffers/cache: 2152 29012 Swap: 72540 1432 71108
So basically it start to swap at 25mbyte of memory alloced.
The graph is not logaritmic in the X because it seems that it looks better with a linear X when the results came from swap.
In X you have the memory used by the benchmark, and in Y you have a performance number that should increase linear with the performances that the machine had in such run.
HINT is __far__ to be interesting for the global VM improvement I did though, simply because it never stress the cache or the buffers, except to take itself mapped in memory (and the binary are some kbyte of code). So the HINT benchmark done by me mainly tell us __only__ the swapout performances (still interesting though). And my tree seems to kick to swap pages slower. But it runs 2 times better than 2.2.7 when the benchmark is run at the start of the swap (most common usage). The reason it's better is for my lru handling that preserve _two_ times better the working set (100000 netquips at 25mbyte of RAM by 2.2.7 VS 200000 netquips at 25mbyte of RAM by 2.2.7_andrea6.bz2).
Before going to swap the HINT benchmark is the same (and I never run it anymore) simply because HINT (when fits in RAM) _never_ stress the OS.
I am working to fix also the swap performance issue (the right part of the graph) but at such point things are so slow that I am not too much worried to optimize a so little interesting case. But I'll try to see if I can came with something of interesting... It's very fun to produce such graphs though ;)).
begin 644 2.2.7-vs-2.2.7_andrea6.gif M1TE&.#=A=P*X`?<```````#\`/@``/C\^&0!!%0``!@```@``,0;Q$.V0PP` M#$``0-Z@`)OA``,-`$!``%`,#`$X]@#4U`#$Q,J7@TP``!H``$`$!,```%$` M`"``34```,`3"F(``!3T]HP`!>P``/\`_[\`__T!H%@`]1H`_T``O^#6J>R, M`/\`A;\``<"@7F+A`10-30A``+^I#!0`U`P`Q``0@P``!,"G^<0294,```P` M]M0$!-P```8`R$```@.(7@!-`0`8'``(`*@$J5,``!@`Y`@``DR(4`%-```8 M%\0X#$/L`0S_U$"_Q+0U@_\#`+]`!/1P`.=4``880T`(`3BX7E/K`1C_'`B_ M`*@$`Q@`00@`"$S$<`%#;P`,1P!`",2(<$--;PP81T`("*B(!%--`!@8``@( M`.#$#.Q;]?\8U+\(Q,8;@R.V``4``$``!#@$`!@`7P@``:B(4!@8%TP$`@$` M````)P``",2(`$--``P8`$`(`"!P&.WL//__-;^_"&`U`+^,``@#`&VD`Z54 M``T8``#PD`#KT@#_%0"_"*@$3.T`];\`OPC$"N!#`#P,%P"(`0!-```8`*R( M5NU-`?\8`+\(`*C$`.U;``@`SN``33P`&@``P```40``(```0%``I.T`D_\` M#;\`"+`$U.D`\0<`_P@`OPB(_^!-_SP8_T`(_P&H``#L``#_``"_```UB`&, M\0`#_P!`O[BD)@%4@@`8&0`(0``HU`#L\0#__P"_OP`$I```DP``#0#$!@!# M```,``!```"(P`!-4?\8(+\(0/2(8.A-\O\8_[\(OQ7$U+%;\0`8_P`(OQD` M`2``&^D`MO]0H+_LX0#_#0"_0`!O#`"/.``#U`!`Q`!8A`"_!`!O``"/```# M`#2(V>E-`/\8]``````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M`````````````````````"P`````=P*X`0`(_@`'"!Q(L*#!@P@3*ES(L*'# MAQ`C2IQ(L:+%BQ@S:MS(L:/'CR!#BAQ9$(!)@293#@10LB5!EB1CRIQ)LZ;- MFSASZMS)LR?*E0-@O@P*5"A+HT1]*EW*M*G3IU"C2E6*5.C/GU6+`IW*M:O7 MKV##BAU[\6A0F%FQ:KU*MJW;MW#CRIT;$2W:I$33YMUJ,*7?OX`#"QY,N+#A MPX@3*U[,N+'CQY`C2YY,N;+ERY@S:][<N*'5M7O5BL;[DK/ITZA3JU[-NK7K MU[!CRRZ\\#-HLZ-QDUYI.^Y)NKR!H^SMF_C;W\*1TU7>UV52W=#QZBYIW"WS MN=>+"Q^^/;OVY-7__@ZW^KF\\[[5VWJ'N]YZ>O7OQ[9WWSW^S/ED\>>W'U:_ M?/Y@^2>6@`$"2!*!VR6HX((,-O@5@B-!Z."$%%9HX84:21B2AAAVZ.&'(#;( MX4<CAFCBB2BV9!=R*DEWUF_E^35:3>(=U.).)7:48XH\]GAA=*$%>5>0;($V MD8%#*804CDB*M*./4$:9()#1+7F7>2KBU-N2N]WT9(9-2BGFF`Q>>=M5TW59 MVU8WLG@6;\0=9=1U80HD0$9?XEDGF7SVR5YN+KY8Y(OVZ<4EC(%2QY9M>]YY M9UE[>I2GGY16"I69@#ZWFX%68NDBEP@9U^@`CD*ZU*26IJHJCH!:.:.:_DKR M1=JAB89JZT6EFDI5I*OVZJN6K;+Y*J?<T;KH>%OR!:I%C^KJ$ZJ_1BOM1C*. M!R>RR,IY8VVXM8GHH'&R"&.U.D%;D;G3IJLNA<O&ZA2Z1_*Z[KSTL@OO??)2 MFV^]_/;K;[RG[OOOP`07S-VN!B>L\,*>"8S1O0Q'++&8$$-4\<089QSBQ0YQ MK/''(#OH,4,CAVSRR7*5K*3#*+><4[?>#IE7BS%N6YJHWM68)KXV7\N3R@D! M[?+0&09:I;!$PJJLC;(RG71=YZXYJ)<L6R0TT5A'[:JA:&XJM9KM)OFT3,D> MRV3`6:<M7[!=)\U?>N%US*:X1<T9YYO6GB=1_@!ZHJWVWUYA*F3>-:^H'-SN M>G;FHH)O*3.C%_']<-7G4@[XY1PU;O2PBB=^:^?/><JUYWI'%,#IISO;T]68 MM^[NT6VG^1[BI']-GMBC!_VY19*K_K/EO+M^N>:NNOTU[DY/_3J0B1J>O+$8 M]6XU\!*QCI#T`V`OD/;:9W_]]P=UO[WP)I(;,[:$:IN=SN/2[*;%,-MM=M,^ M"YK^[WXKA7KJI`;0K)W^(X@``BA``A;P?P!$8/\4.#[R38QV7J*?[MY%O;I4 M,")WXEL&]S>0_4G.@QWD8`A11Q`0CI!_)Q2?`U<XO0L>R(4=@^%#!M@L&A;$ MA@/!80X-N$,%ZK"'_@;)(*E82$0>6:\T3D%@][@7/O`91'SB^V$1I_BA(P:G M5PRDHA8K9,6#;?&+8)24#$DVQC":$7-=Q-L9U\C&AZ0QC6V,XP/+N#(YVO&. M7EP='?'(1XF]<8]]#&3"_BC(0FZ1D(9,)!$1J<A&"H^1CHPDX"`IR4IBC9*6 MS"3*,*G)3GZ,DYX,I1\!:2-2BO*41C2EHE#)2H:!LI6PY-<K8TE+=<VREKC\ MU2USR<M4[;*7P.S3+X-)3"D-LYC(3&7^DLG,,1VSF=#LT#.C24U[+;.:V`31 M-+/)3?!<LYO@G-`VPTE.^'RSG.@$SCC3R4ZNK+.=\'S*.^-)3X39LY[X_NP/ MW`ZG-T\I+X_Y#.A4VK.U,W$M7`)-Z$#CQK;!Y0Z)"HTH!>5V4(-*$(X2E:A^ M'O<IBRJO1NG*8D8?2:X)=K2AS+L91N&2JY&R$*2[JRA*2SFO4HG4I:TC:'-D MZM!0J5)!+<7I2\-COGX:U:?UNJE0T?C3*R[UJ61K*D"A2E42256-5<VJCJZZ M4JVF<YY>#2M$GW55L7Z5JV4U:SG!JE:OLK6M67TK7*DJU[D^M:YV%2I>\^K2 MO?(UHW[]:T0#*]B$$K:P`3TL8O&IV,72L[&.A2=D(\O.R5(6G9:]+#DSJUEP M<K:SW/PL:+$IVM%2L[2FA29J4\O,U;(6F:Y]_BTQ8RM;8-*VMKR\+6YQJ=O= MTK*WOH4E<(/+RN$2]Y3&/6XHDZO<3C*WN9E\+G0K*=WI1K*ZUFTD=K.;R.UR MMY#>_6X@PRM>/I*WO'<\+WKEJ-[UMK&][ETC?.-KQOG2%XSVO>\AT:K?=N:W MOU/\+X`7R=\!K[7`!@ZG@!-,O@4SV'4.?C!3SREAU2*XPM6,,(;5IN$-9ZW# M'B8:B$/LLA&3>),7/C%L4ZSBV<X.3N]KFC]7V>(5<XM^L.LI36ML8]TMBZ<I M=2J/@XF?JG`4R#L>,I%??+`<.[F4/5-R<4NZ.X_J&&Q4EO*4HURZ*S\9/5JV M+9,WAV2$ACFW1'7?_NW$!JZ@I?7,)*4PG%%IXCDKK,YV-AB>\TRP/?/Y7W[^ M<[\"+>AZ$;K0\SHTHFW)XD5'M]&.IBZD(WW=2?=+J92^E*63.L1,%TC.G`ZJ MIQ<*ZE"/^D&;YO2I`Y?J59NWU:Y.+ZQCS=Y9T_J]MKZU?'.MZ_KRNM?X_36P M]UOJ8;-1T<:FF+"3741D,QM*SNX*II^=N66;FMHQB;94;(KM%Q8[8:+NME6_ M#6YQ>_N>YMXUN=,]U'6SVX':?K<TK2UO#M.[WA^^-[Y%K.]]E[C?_D:QNP/^ MMW@37$0`/SC(#*YP!3&\X?49.,2']O")+R?A%A^EQ#-^LHISG#T8']BT_@GN M<;"$V^(E]PJW/XY5_*GMY!-/^5=&'G"9LWQ`(;]YP6RN<U1OO.<8XSG0W9GS MH0^ZZ$8W--*3GNBE,YW1/W_Z()TN=6D)O>I,N3K6T>WRK7=\S&UFL]>0ZO6O MW]C*3S;SO%3HO;+7T<=+*_-%WSP7MK/=[46..]IK)>1IF;"$(G0[F&VW]X?" MF.YOL;O@T<-EY,W4\-E:E^(7K](QRSU3-/[8W8&>]\);.?,:VWS/"5I4L<\8 M9R#[N]2UKA/1ZYSU.7%]0F1/;=B/A?;/MCU85%]OW8<%]\SV_>X/+GS*9YOJ MQO=3\9/O).1+?O3.5Q?P>Q]]:?$>Y=7W._2C_AZQZ<M[^16B>9[!/R&8+YK\ M4Q$_0E;N:?1'Q?P-5`C\"^W^I["_B0Q1_YSK;_].AR_PR<9__;<0WD=I`GA[ MW7:`83%_M*:`,S=$^F>`V9<Q#!AK#FAR"3B!S`=M&KB!/7*!'1*!&`:"%U*! M)T:"X0>!^]>!+&2")(:"%B*"%0:#'NA&+%B#)T*#.$A&W+>#O:*#B>=J0.@6 M!:AE0WA[`"B!/?A%12AE1T@63:AD3^B#H'<V5*AG-WB%\[:$6D@I4]B%7ZB% M87B%8TB%9>B#9[B#:8B#:UB#;>B!;[B!<<A\<YA\=6A\=TAY>8B`=K:'8A&% M">:'7W%]4IB%#@2(_@8FB,/7AX;8A5S4B&<D@^6EB,#A@O1%B7-Q?Q*&B9GH M?R,(B68DB>+%B55'("!U>ETV58Y(+Z:X4YZ79*LH2P`B.B<U.(,7B[)H,7AS M>5B&BT<'/X^W.-31>+[H2UE&4:^(9<18C)4"4[K(BX[#C*PXB\+"BU4HC=&" M(-N"BF(W5M@X+:2X>J#XC=@QCN3X'61UCN!HCNI('US7CJH2CD\GCTQ'CTEG MCT:'CT.GCYS'CO#X'USXC]KDCWTDBJ_%CPMBB<&%D`FBB=_%D`WIB9-(D'QD MD*P%D2R'D1^GD1S'D1GGD5R!B-8%DE,ADM-%DE!!B(%(D5-DDM"%DE'A_I+- M!9,*1Y/$QY("V14V.2$RJ58[Z2`]:58_"84-H9*F-91\6)3$A92[EX1.M%M, M^7N7B)-V%)1MAUA1>2)6*5!9"2)&^41Q196\A'M;25IBF4NR]Y4;49:"U)7" M89$*P98=U%IGZ4B6J'[`EY=.B68!B4T.N7X2Z1'>)Y=]Y)9T88)_"9@/H9;X MUV/IB%/BYX(*29AT5I>U1'.)^90Q09GP9IG5I)`VP9D-YIF?&9-[R1"BF3&& MR4(%F)I!1YKY!)>+.1&,26!]>5F@B1--Z)JZ!)OTE)E+L9O1,W6W25FYV90D M5!%1R)ON^)CE)9LER3NGZ1"(R)Q44YS,MIS2_IF<P;.64K&:Y*2=D3.=IO.= MONE5T$DAU:D1M:DEYYE5Q_DK)NF2+@F>&@.<6$.?6X6=S16?5-2>#<.?_=E( M]?F>.4F;^_F.!RI,!KJ@Y=*@#NJ>`AJA"V*?V&:AM0>A%$HC&KJA^#*A'NI- M-.)F$5>BZH1XDV.B)ZJBV08K796B+)HR*.H[,CHE,UHY-!$V+TJC-2JB/GIQ M-AJC3C)W0HJ.0%JDQW&C./JC!S)WL_&D4!JE4CJE5%JE5GJE4IJC$I0^6-JE M7OJE8!JF8CJF9(H8(_I/(;I)2I.F:LJF;OJF<!JG<CJG=%JG=GJG>`HUNAAY M6=>*?!HPRX@[Q[@Z_GMZ/WT:J,HRJ`]*C7^Z*XC*.(^:HWX*$JT(.:>RI:Z8 MBL^"C)K**IS:C3]3/5U25F'#-)8J3Y^*J<""IEE"(FO:/*#JJ4H#/:\JJ\\C M*W2G4_-3JQ%$,DNCJJM*>$6"H@Q5*VE5JK!*J3?C>+,2%2O"K&OV+LOZJ\W: M%-#!3[OZ9G)2/\G*JL'*K;1*K.!*K;QZIJ$3K<CZ,'$G([1JK<<B'NT*J._* MKN1ZJ4=&K[OJ-U6"KWQ'5M\R,RH1KY<ZKP%;KXY*L">1KF5Q>-2JL.7"L//C ML*%ZB@TKK><:8P*;=8;:K=I:-VU2L9<"L1QKL0"+L<!J-1?UJX@7K=#J@:V; M6C:;0T$%VQQFHZ0[DZRY:B0@*ZXI6[.H^BH1NR$&BWD:RZRM6JZ]:HN9BK2K M6JI!-K!*>[0Y2[1#(;$O8[15>[+!^K1`"R9JYCFY6BW$R++6*B[%RK1).[:Q GZJ_<2K,N^S)F"[;..HQR*T]Q:U)YFK=ZN[=\V[=^^[>`"QP!`0`[ ` end
Andrea Arcangeli
PS. if you benchmark it as usual let me know ;)).
- 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/
| |