From owner-man-jp-reviewer@jp.freebsd.org  Wed Mar 14 16:31:17 2001
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id QAA77454;
	Wed, 14 Mar 2001 16:31:17 +0900 (JST)
	(envelope-from owner-man-jp-reviewer@jp.FreeBSD.org)
Received: from smtp1.interramp.com (smtp1.interramp.com [38.8.45.2])
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP id QAA77449
	for <man-jp-reviewer@jp.freebsd.org>; Wed, 14 Mar 2001 16:31:16 +0900 (JST)
	(envelope-from horikawa@psinet.com)
Received: from [38.26.194.244] (helo=localhost)
	by smtp1.interramp.com with esmtp (Exim 1.90 #1)
	for man-jp-reviewer@jp.freebsd.org
	id 14d5kY-0004FR-00; Wed, 14 Mar 2001 02:31:15 -0500
To: man-jp-reviewer@jp.freebsd.org
In-Reply-To: <200103100217.f2A2H4776293@oasis.sharplabs.com>
References: <200103100217.f2A2H4776293@oasis.sharplabs.com>
X-Mailer: Mew version 1.94.1 on Emacs 19.34 / Mule 2.3 (SUETSUMUHANA)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit
Message-Id: <20010314023130Y.horikawa@psinet.com>
Date: Wed, 14 Mar 2001 02:31:30 -0500
From: Kazuo Horikawa <horikawa@psinet.com>
X-Dispatcher: imput version 20000228(IM140)
Lines: 57
Reply-To: man-jp-reviewer@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+000315
X-Sequence: man-jp-reviewer 3451
Subject: [man-jp-reviewer 3451] Re: (check) madvise.2
Errors-To: owner-man-jp-reviewer@jp.freebsd.org
Sender: owner-man-jp-reviewer@jp.freebsd.org
X-Originator: horikawa@psinet.com

 $BKY@n$G$9!#(B

> $B7'C+$G$9!#(B
> 
> madvise.2 $B$r%A%'%C%/$7$^$7$?!#(B
> 
> $B!&(Bphysically backing store $B$H$O2?$G$7$g!)(B
>   $B2>A[5-21$NN"$K$"$k%G%#%9%/NN0h!)%9%o%C%W$d%U%!%$%k%7%9%F%`$N$3$H!)(B
>   $B$=$l$H$b%U%!%$%k%7%9%F%`$@$1!)(B

 MADV_NOSYNC $B$K$*$$$F(B file-backed shared memory $B1>!9$,=q$+$l$F$$$k$N$G!"(B
$B!V(Bphysical backing store$B!W$K$O>/$J$/$H$b%U%!%$%k$O4^$^$l$k$G$7$g$&!#(B
file-backed $B$G$J$$2>A[%"%I%l%96u4V(B (stack, heap, bss $BEy(B) $B$b(B madvise() 
$B$G;XDj$G$-$k$N$G!"%9%o%C%W$,!V(Bphysical backing store$B!W$K3:Ev$9$k$H$$$&(B
$B$3$H$G$7$g$&$+!#(B

 $B!V(Bbacking store$B!W$G$J$/!V(Bphysical backing store$B!W$HI=8=$9$k0U?^$O!D(B
$B$J$s$G$7$g$&(B :-)

> $B!&(Brevert $B$O!"!V=q$-La$9!W$HLu$7$F$_$^$7$?!#(B
>   dirty $B$J%Z!<%8$rN"$K$"$k%G%#%9%/$NA3$k$Y$-NN0h$K=q$-9~$`$3$H$r(B
>   $BA[Dj$7$F$$$^$9!#(B

 $B$3$l$O!"(BMADV_NOSYNC $B$+$i!"$3$l$rBG$A>C$9(B MADV_AUTOSYNC $B$K(B revert $B$9$k(B
$B7k2L!"!V=q$-La$5$l$k$h$&$K$J$k!W$H$$$&0U?^$G$7$g$&$+!)(B

 madvise.2 $BCf$N(B revert $B$O!"!V85$KLa$9!W$H$$$&0UL#$G;HMQ$5$l$F$$$k$h$&(B
$B$K8+$($^$9!#(B

 o MADV_CORE $B$O!"(BMADV_NOCORE $B$N@_Dj$r;_$a$F!"85$KLa$9$H$$$&0U!#(B
 o MADV_NORMAL $B$O!"B>$N@_Dj$r;_$a$F!"%G%U%)%k%H$K(B ($B85$K(B) $BLa$9$H$$$&0U!#(B
 o MADV_AUTOSYNC $B$N(B they may or may not be reverted $B$N(B revert $B$O!"(B
   MADV_NOSYNC $B$N(B undo $B$N0U!#(B
   they may or may not be reverted $B$N(B revert $B$b!"F1$8(B
   You can guarentee reversion by using the msync(2) or fsync(2)
   system calls. $B$N(B reversion $B$b!"F1$8(B

 $B7'C+$5$s$N%A%'%C%/7k2L$G$bNI$$$H$O;W$$$^$9$,!"0Y$NG0!#(B

#define MADV_NOCORE     8 /* do not include these pages in a core file */
#define MADV_CORE       9 /* revert to including pages in a core file */
[$BN,(B]
.It Dv MADV_NORMAL
Tells the system to revert to the default paging
behavior.
[$BN,(B]
.It Dv MADV_AUTOSYNC
Undoes the effects of MADV_NOSYNC for any future pages dirtied within the
address range.  The effect on pages already dirtied is indeterminate - they
may or may not be reverted.  You can guarentee reversion by using the
.Xr msync 2
or
.Xr fsync 2
system calls.
[$BN,(B]
--
$BKY@nOBM:(B
