Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 16 May 2000 10:30:02 -0700 (PDT)
From:      Tim Vanderhoek <tim@localhost.nowhere>
To:        freebsd-bugs@FreeBSD.org
Subject:   Re: kern/12697: Out of swap handling [PATCH]
Message-ID:  <200005161730.KAA21911@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/12697; it has been noted by GNATS.

From: Tim Vanderhoek <tim@localhost.nowhere>
To: freebsd-gnats-submit@FreeBSD.org, peter@holm.cc
Cc: vanderh@ecf.toronto.edu
Subject: Re: kern/12697: Out of swap handling [PATCH]
Date: Tue, 16 May 2000 13:29:02 -0400 (EDT)

 >                           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;R!["B$@
 >M"0D)8FEG<')O8R`]($Y53$P["B$@"0D)8FEG<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
 >
 


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200005161730.KAA21911>