Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 18 Jul 1999 12:21:56 -0700 (PDT)
From:      peter@holm.cc
To:        freebsd-gnats-submit@freebsd.org
Subject:   kern/12697: Out of swap handling [PATCH]
Message-ID:  <19990718192156.22B3714E50@hub.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         12697
>Category:       kern
>Synopsis:       Out of swap handling [PATCH]
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Jul 18 12:30:00 PDT 1999
>Closed-Date:
>Last-Modified:
>Originator:     Peter Holm
>Release:        Current
>Organization:
>Environment:
FreeBSD current.risby.dk 4.0-CURRENT FreeBSD 4.0-CURRENT #15: Sat Jul 17 11:55:26 CEST 1999     pho@current.risby.dk:/usr/src/current/src/sys/compile/PHO  i386
>Description:
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.

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.


>How-To-Repeat:

>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

>Release-Note:
>Audit-Trail:
>Unformatted:


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?19990718192156.22B3714E50>