| Summary: | Out of swap handling [PATCH] | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Base System | Reporter: | Peter Holm <peter> | ||||
| Component: | kern | Assignee: | freebsd-bugs (Nobody) <bugs> | ||||
| Status: | Closed FIXED | ||||||
| Severity: | Affects Only Me | ||||||
| Priority: | Normal | ||||||
| Version: | Unspecified | ||||||
| Hardware: | Any | ||||||
| OS: | Any | ||||||
| Attachments: |
|
||||||
|
Description
Peter Holm
1999-07-18 20:30:00 UTC
> Problem Report kern/12697 > > Out of swap handling [PATCH] [...] >I have tested out of swap handling in current. The situation is that >the system just lockes up, "looping" in vm_pageout_scan. > >I have experimented with some modifications to vm_pageout.c that seems >to improve the chances for a recovery drastically. >All tests were done on my 128Mb RAM / 256 Mb swap box. Can you submit a plaintext patch and propose your changes to freebsd-arch@FreeBSD.org. You will need to write a message outlining how these changes will improve out-of-swap handling for out-of-swap due to different typical reasons in different scenarios (I'm thinking of cases where one or two new processes have just runaway, but a bigger process may be at constant state and more important, or cases where the shear number of processes has caused the problem). You should also give some information about what testing you have done. You may wish to keep freebsd-gnats-submit@FreeBSD.org in the Cc: with a subject of "Re: kern12697 ...". Thanks, >The changes consists of: >* Killing all running user processes when less than 1024 pages >swap left. >* Sleeping after each kill to allow the user process to run. >* Pausing the vmdaemon when in kill mode. > >I have tried different strategies for when to stop killing but only this >one seems to guaranty recovery. > > > Fix > >begin 644 patch >M*BHJ('-Y<R]V;2]V;5]P86=E;W5T+F-^"5-U;B!*=6P@(#0@,3,Z-3,Z-#D@ >M,3DY.0HM+2T@<WES+W9M+W9M7W!A9V5O=70N8PE3870@2G5L(#$W(#$S.C4Q >M.C,Y(#$Y.3D**BHJ*BHJ*BHJ*BHJ*BHJ"BHJ*B`Q-30L,34Y("HJ*BH*+2TM >M(#$U-"PQ-C(@+2TM+0H@('-T871I8R!I;G0@=FU?<W=A<%]I9&QE7V5N86)L >M960],#L*("`C96YD:68*("`**R!S=&%T:6,@:6YT(&MI;&Q?;6]D92`](#`[ >M"BL@<W1A=&EC('!I9%]T(&QA<W1?:VEL;&5D7W!I9"`](#`["BL@"B`@4UE3 >M0U1,7TE.5"A?=FTL(%9-7U!!1T5/551?04Q'3U))5$A-+"!P86=E;W5T7V%L >M9V]R:71H;2P*("`)0U1,1DQ!1U]25RP@)G9M7W!A9V5O=71?86QG;W)I=&AM >M7VQR=2P@,"P@(DQ252!P86=E(&UG;70B*3L*("`**BHJ*BHJ*BHJ*BHJ*BHJ >M"BHJ*B`R,#0L,C`Y("HJ*BH*+2TM(#(P-RPR,3,@+2TM+0H@("-E;F1I9@H@ >M('-T871I8R!V;VED('9M7W!A9V5O=71?<&%G95]S=&%T<RAV;VED*3L*("`* >M*R`*("`O*@H@("`J('9M7W!A9V5O=71?8VQE86XZ"B`@("H**BHJ*BHJ*BHJ >M*BHJ*BHJ"BHJ*B`Q,3(V+#$Q-S4@*BHJ*@H@(`E]"B`@"B`@"2\J"B$@"2`J >M(&UA:V4@<W5R92!T:&%T('=E(&AA=F4@<W=A<"!S<&%C92`M+2!I9B!W92!A >M<F4@;&]W(&]N(&UE;6]R>2!A;F0*("`)("H@<W=A<"`M+2!T:&5N(&MI;&P@ >M=&AE(&)I9V=E<W0@<')O8V5S<RX*("`)("HO"B$@"6EF("@H=FU?<W=A<%]S >M:7IE(#T](#`@?'P@<W=A<%]P86=E<E]F=6QL*2`F)@HA(`D@("`@*"AC;G0N >M=E]F<F5E7V-O=6YT("L@8VYT+G9?8V%C:&5?8V]U;G0I(#P@8VYT+G9?9G)E >M95]M:6XI*2!["B$@"0EB:6=P<F]C(#T@3E5,3#L*(2`)"6)I9W-I>F4@/2`P >M.PHA(`D)9F]R("AP(#T@86QL<')O8RYL:%]F:7)S=#L@<"`A/2`P.R!P(#T@ >M<"T^<%]L:7-T+FQE7VYE>'0I('L*(2`)"0DO*@HA(`D)"2`J(&EF('1H:7,@ >M:7,@82!S>7-T96T@<')O8V5S<RP@<VMI<"!I=`HA(`D)"2`J+PHA(`D)"6EF >M("@H<"T^<%]F;&%G("8@4%]365-414TI('Q\("AP+3YP7VQO8VL@/B`P*2!\ >M?`HA(`D)"2`@("`H<"T^<%]P:60@/3T@,2D@?'P*(2`)"0D@("`@*"AP+3YP >M7W!I9"`\(#0X*2`F)B`H=FU?<W=A<%]S:7IE("$](#`I*2D@>PHA(`D)"0EC >M;VYT:6YU93L*(2`)"0E]"B$@"0D)+RH*(2`)"0D@*B!I9B!T:&4@<')O8V5S >M<R!I<R!I;B!A(&YO;BUR=6YN:6YG('1Y<&4@<W1A=&4L"B$@"0D)("H@9&]N >M)W0@=&]U8V@@:70N"B$@"0D)("HO"B$@"0D):68@*'`M/G!?<W1A="`A/2!3 >M4E5.("8F('`M/G!?<W1A="`A/2!34TQ%15`I('L*(2`)"0D)8V]N=&EN=64[ >M"B`@"0D)?0HA(`D)"2\J"B$@"0D)("H@9V5T('1H92!P<F]C97-S('-I>F4* >M(2`)"0D@*B\*(2`)"0ES:7IE(#T@=FUS<&%C95]R97-I9&5N=%]C;W5N="AP >M+3YP7W9M<W!A8V4I.PHA(`D)"2\J"B$@"0D)("H@:68@=&AE('1H:7,@<')O >M8V5S<R!I<R!B:6=G97(@=&AA;B!T:&4@8FEG9V5S="!O;F4*(2`)"0D@*B!R >M96UE;6)E<B!I="X*(2`)"0D@*B\*(2`)"0EI9B`H<VEZ92`^(&)I9W-I>F4I >M('L*(2`)"0D)8FEG<')O8R`]('`["B$@"0D)"6)I9W-I>F4@/2!S:7IE.PH@ >M(`D)"7T*(2`)"7T*(2`)"6EF("AB:6=P<F]C("$]($Y53$PI('L*(2`)"0EK >M:6QL<')O8RAB:6=P<F]C+"`B;W5T(&]F('-W87`@<W!A8V4B*3L*(2`)"0EB >M:6=P<F]C+3YP7V5S=&-P=2`](#`["B$@"0D)8FEG<')O8RT^<%]N:6-E(#T@ >M4%))3U]-24X["B$@"0D)<F5S971P<FEO<FET>2AB:6=P<F]C*3L*(2`)"0EW >M86ME=7`H)F-N="YV7V9R965?8V]U;G0I.PHA(`D)?0HA(`E]"B`@"7)E='5R >M;B!F;W)C95]W86ME=7`["B`@?0H@(`HM+2T@,3$S,"PQ,3DV("TM+2T*("`) >M?0H@(`H@(`DO*@HA(`D@*B!M86ME('-U<F4@=&AA="!W92!H879E('-W87`@ >M<W!A8V4@+2T@:68@=V4@87)E(&QO=R!O;@H@(`D@*B!S=V%P("TM('1H96X@ >M:VEL;"!T:&4@8FEG9V5S="!P<F]C97-S+@H@(`D@*B\*(2`C:69D968@3D]? >M4U=!4%!)3D<*(2`):68@*&MI;&Q?;6]D92D*(2`)"6MI;&Q?;6]D92`]("@H >M8VYT+G9?9G)E95]C;W5N="`K(&-N="YV7V-A8VAE7V-O=6YT*2`\"B$@"0D) >M"3,J8VYT+G9?9G)E95]M:6XI.PHA(`EE;'-E"B$@"0EK:6QL7VUO9&4@/2`H >M*&-N="YV7V9R965?8V]U;G0@*R!C;G0N=E]C86-H95]C;W5N="D@/`HA(`D) >M"0EC;G0N=E]F<F5E7VUI;BD["B$@(V5L<V4*(2`):68@*&MI;&Q?;6]D92D* >M(2`)"6MI;&Q?;6]D92`]("AV;5]S=V%P7W-I>F4@/"`S,#<R*3L*(2`)96QS >M90HA(`D):VEL;%]M;V1E(#T@*'9M7W-W87!?<VEZ92`\(#$P,C0I.PHA("-E >M;F1I9@HA(`D)"B$@"6EF("AK:6QL7VUO9&4I('L@+RH@2VEL;"!A;&P@<G5N >M;FEN9R!U<V5R('!R;V-S+"!B:6=G97-T(&9I<G-T("HO"B$@"0ED;R8FEG<VEZ92`](#`["B$@"0D)9F]R >M("AP(#T@86QL<')O8RYL:%]F:7)S=#L@<"`A/2`P.R!P(#T@<"T^<%]L:7-T >M+FQE7VYE>'0I('L*(2`)"0D)+RH*(2`)"0D)("H@:68@=&AI<R!I<R!A('-Y >M<W1E;2!P<F]C97-S+"!S:VEP(&ET"B$@"0D)"2`J+PHA(`D)"0EI9B`H*'`M >M/G!?9FQA9R`F(%!?4UE35$5-*2!\?"`H<"T^<%]L;V-K(#X@,"D@?'P*(2`) >M"0D)("`@("AP+3YP7W!I9"`]/2`Q*2!\?`HA(`D)"0D@("`@*"AP+3YP7W!I >M9"`\(#0X*2`F)B`H=FU?<W=A<%]S:7IE("$](#`I*2D@>PHA(`D)"0D)8V]N >M=&EN=64["B$@"0D)"7T*(2`)"0D)+RH*(2`)"0D)("H@:68@=&AE('!R;V-E >M<W,@:7,@:6X@82!N;VXM<G5N;FEN9R!T>7!E('-T871E+`HA(`D)"0D@*B!D >M;VXG="!T;W5C:"!I="X*(2`)"0D)("HO"B$@"0D)"6EF("AP+3YP7W-T870@ >M(3T@4U)53BD@8V]N=&EN=64["B$@"0D)"6EF("AP+3YP7W-I9VQI<W0@)B`H >M4TE'2TE,3"!\(%!?5T58250I*2!C;VYT:6YU93L*(2`)"0D):68@*'`M/G!? >M8W)E9"T^<%]R=6ED(#P@,BD@8V]N=&EN=64["B$@"0D)"6EF("AP+3YP7W!I >M9"`]/2!L87-T7VMI;&QE9%]P:60I(&-O;G1I;G5E.PHA(`D)"0DO*@HA(`D) >M"0D@*B!G970@=&AE('!R;V-E<W,@<VEZ90HA(`D)"0D@*B\*(2`)"0D)<VEZ >M92`]('9M<W!A8V5?<F5S:61E;G1?8V]U;G0H<"T^<%]V;7-P86-E*3L*(2`) >M"0D)+RH*(2`)"0D)("H@:68@=&AE('1H:7,@<')O8V5S<R!I<R!B:6=G97(@ >M=&AA;B!T:&4@8FEG9V5S="!O;F4*(2`)"0D)("H@<F5M96UB97(@:70N"B$@ >M"0D)"2`J+PHA(`D)"0EI9B`H<VEZ92`^(&)I9W-I>F4I('L*(2`)"0D)"6)I >M9W!R;V,@/2!P.PHA(`D)"0D)8FEG<VEZ92`]('-I>F4["B$@"0D)"7T*("`) >M"0E]"B$@"0D):68@*&)I9W!R;V,@(3T@3E5,3"D@>PHA(`D)"0EK:6QL<')O >M8RAB:6=P<F]C+"`B;W5T(&]F('-W87`@<W!A8V4B*3L*(2`)"0D);&%S=%]K >M:6QL961?<&ED(#T@8FEG<')O8RT^<%]P:60["B$@"0D)"7,@/2!S<&QV;2@I >M.PHA(`D)"0ET<VQE97`H)G9M7W!A9V5S7VYE961E9"P@4%9-+"`B<'-L965P >M(BP@:'HO,S`I.PHA(`D)"0ES<&QX*',I.PH@(`D)"7T*(2`)"7T@=VAI;&4@ >M*&)I9W!R;V,I.PHA(`E]("\J(&MI;&P@;6]D92`J+PHA(`EW86ME=7`H)F-N >M="YV7V9R965?8V]U;G0I.PH@(`ER971U<FX@9F]R8V5?=V%K975P.PH@('T* >M("`**BHJ*BHJ*BHJ*BHJ*BHJ"BHJ*B`Q-#`T+#$T,3$@*BHJ*@HM+2T@,30R >M-2PQ-#,Y("TM+2T*("!V;5]D865M;VXH*0H@('L*("`)<W1R=6-T('!R;V,@ >M*G`["BL@"6EN="!S.PH@(`H@(`EW:&EL92`H5%)512D@>PHK(`D):68@*&MI >M;&Q?;6]D92D@>PHK("`@("`@("`@("`@("`@("`@("`@("`@("\J($=I=F4@ >M:VEL;&5D('5S97(@<')O8W,@82!C:&%N8V4@=&\@9&EE("HO"BL@"0D)<R`] >M('-P;'9M*"D["BL@"0D)='-L965P*"9V;5]P86=E<U]N965D960L(%!632P@ >M(G!S;&5E<"(L(&AZ*3L**R`)"0ES<&QX*',I.PHK(`D)?0H@(`D)='-L965P >M*"9V;5]D865M;VY?;F5E9&5D+"!04$%54T4L(")P<VQE97`B+"`P*3L*("`) >M"6EF("AV;5]P86=E;W5T7W)E<5]S=V%P;W5T*2!["B`@"0D)<W=A<&]U=%]P >M<F]C<RAV;5]P86=E;W5T7W)E<5]S=V%P;W5T*3L**BHJ('-Y<R]V;2]S=V%P >M7W!A9V5R+F-^"51U92!*=6X@,CD@,C$Z-#4Z,S$@,3DY.0HM+2T@<WES+W9M >M+W-W87!?<&%G97(N8PE&<FD@2G5L(#$V(#$W.C0Y.C0U(#$Y.3D**BHJ*BHJ >M*BHJ*BHJ*BHJ"BHJ*B`R,30L,C(P("HJ*BH*+2TM(#(Q-"PR,C(@+2TM+0H@ >M('L*("`):68@*'9M7W-W87!?<VEZ92`\(&YS=V%P7VQO=V%T*2!["B`@"0EI >M9B`H<W=A<%]P86=E<E]A;&UO<W1?9G5L;"`]/2`P*2!["BL@(VEF9&5F($1) >M4T=.3U-424,*("`)"0EP<FEN=&8H(G-W87!?<&%G97(Z(&]U="!O9B!S=V%P >M('-P86-E7&XB*3L**R`C96YD:68*("`)"0ES=V%P7W!A9V5R7V%L;6]S=%]F >M=6QL(#T@,3L*("`)"7T*("`)?2!E;'-E('L**BHJ*BHJ*BHJ*BHJ*BHJ"BHJ >M*B`T-S`L-#<V("HJ*BH*+2TM(#0W,BPT.#`@+2TM+0H@(`H@(`EI9B`H*&)L >M:R`](&)L:7-T7V%L;&]C*'-W87!B;&ES="P@;G!A9V5S*2D@/3T@4U=!4$), >M2U].3TY%*2!["B`@"0EI9B`H<W=A<%]P86=E<E]F=6QL("$](#(I('L**R`C >M:69D968@1$E!1TY/4U1)0PH@(`D)"7!R:6YT9B@B<W=A<%]P86=E<E]G971S >M=V%P<W!A8V4Z(&9A:6QE9%QN(BD["BL@(V5N9&EF"B`@"0D)<W=A<%]P86=E >M<E]F=6QL(#T@,CL*("`)"0ES=V%P7W!A9V5R7V%L;6]S=%]F=6QL(#T@,3L* >&("`)"7T* >` >end > State Changed From-To: open->closed overtaken by events (this code has been reworked a little), and no visible response to send this to -arch from submitter |