d100276457
Submitted by: Akira Ikeuchi <a_ikeuchi@mic.mitsumi.co.jp> Reviewed by: Watanabe Kazuhiro <CQG00620@nifty.ne.jp>
304 lines
7.7 KiB
Groff
304 lines
7.7 KiB
Groff
.\" Copyright (c) 1996 The NetBSD Foundation, Inc.
|
||
.\" All rights reserved.
|
||
.\"
|
||
.\" This code is derived from software contributed to The NetBSD Foundation
|
||
.\" by Paul Kranenburg.
|
||
.\"
|
||
.\" Redistribution and use in source and binary forms, with or without
|
||
.\" modification, are permitted provided that the following conditions
|
||
.\" are met:
|
||
.\" 1. Redistributions of source code must retain the above copyright
|
||
.\" notice, this list of conditions and the following disclaimer.
|
||
.\" 2. Redistributions in binary form must reproduce the above copyright
|
||
.\" notice, this list of conditions and the following disclaimer in the
|
||
.\" documentation and/or other materials provided with the distribution.
|
||
.\" 3. All advertising materials mentioning features or use of this software
|
||
.\" must display the following acknowledgement:
|
||
.\" This product includes software developed by the NetBSD
|
||
.\" Foundation, Inc. and its contributors.
|
||
.\" 4. Neither the name of The NetBSD Foundation nor the names of its
|
||
.\" contributors may be used to endorse or promote products derived
|
||
.\" from this software without specific prior written permission.
|
||
.\"
|
||
.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||
.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||
.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||
.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE
|
||
.\" LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||
.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||
.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||
.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||
.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||
.\" POSSIBILITY OF SUCH DAMAGE.
|
||
.\"
|
||
.\" $NetBSD: malloc.9,v 1.3 1996/11/11 00:05:11 lukem Exp $
|
||
.\" %FreeBSD: src/share/man/man9/malloc.9,v 1.40 2004/06/21 14:11:45 mpp Exp %
|
||
.\" $FreeBSD$
|
||
.\"
|
||
.Dd June 12, 2003
|
||
.Dt MALLOC 9
|
||
.Os
|
||
.Sh ̾<EFBFBD><EFBFBD>
|
||
.Nm malloc ,
|
||
.Nm MALLOC ,
|
||
.Nm free ,
|
||
.Nm FREE ,
|
||
.Nm realloc ,
|
||
.Nm reallocf ,
|
||
.Nm MALLOC_DEFINE ,
|
||
.Nm MALLOC_DECLARE
|
||
.Nd <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޥ͡<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥ롼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
.Sh <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
.In sys/types.h
|
||
.In sys/malloc.h
|
||
.Ft void *
|
||
.Fn malloc "unsigned long size" "struct malloc_type *type" "int flags"
|
||
.Fn MALLOC space cast "unsigned long size" "struct malloc_type *type" "int flags"
|
||
.Ft void
|
||
.Fn free "void *addr" "struct malloc_type *type"
|
||
.Fn FREE "void *addr" "struct malloc_type *type"
|
||
.Ft void *
|
||
.Fn realloc "void *addr" "unsigned long size" "struct malloc_type *type" "int flags"
|
||
.Ft void *
|
||
.Fn reallocf "void *addr" "unsigned long size" "struct malloc_type *type" "int flags"
|
||
.Fn MALLOC_DECLARE type
|
||
.In sys/param.h
|
||
.In sys/malloc.h
|
||
.In sys/kernel.h
|
||
.Fn MALLOC_DEFINE type shortdesc longdesc
|
||
.Sh <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
.Fn malloc
|
||
<EFBFBD>ؿ<EFBFBD><EFBFBD>ϥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͥ륢<EFBFBD>ɥ쥹<EFBFBD><EFBFBD><EFBFBD>֤ν<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD>ʤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
.Fa size
|
||
<EFBFBD>ǻ<EFBFBD><EFBFBD>ꤵ<EFBFBD>줿<EFBFBD>礭<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1 <20>ĤΥ<C4A4><CEA5>֥<EFBFBD><D6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȤȤ<C8A4><C8A4>Ƴ<EFBFBD><C6B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥޤ<C6A4><DEA4><EFBFBD>
|
||
.Pp
|
||
.Fn free
|
||
<EFBFBD>ؿ<EFBFBD><EFBFBD><EFBFBD>
|
||
.Fn malloc
|
||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD><EFBFBD>
|
||
.Fa addr
|
||
<EFBFBD>Υ<EFBFBD><EFBFBD>ɥ쥹<EFBFBD>Υ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƻ<EFBFBD><EFBFBD>Ѥ<EFBFBD><EFBFBD>뤿<EFBFBD><EFBFBD><EFBFBD>˲<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0 <20>˥<EFBFBD><CBA5>ꥢ<EFBFBD><EAA5A2><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD><EFBFBD><EFBFBD>
|
||
.Fa addr
|
||
<EFBFBD><EFBFBD>
|
||
.Dv NULL
|
||
<EFBFBD>ξ<EFBFBD><EFBFBD>硢
|
||
.Fn free
|
||
<EFBFBD>ϲ<EFBFBD><EFBFBD>⤷<EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
.Pp
|
||
.Fn realloc
|
||
<EFBFBD>ؿ<EFBFBD><EFBFBD>ϡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
.Fa addr
|
||
<EFBFBD>ǻ<EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>礭<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
.Fa size
|
||
<EFBFBD>Х<EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥϡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȵ쥵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ξ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤǤϡ<EFBFBD>̵<EFBFBD>ѹ<EFBFBD><EFBFBD>Ȥʤ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͤ<EFBFBD>
|
||
.Fa addr
|
||
<EFBFBD>Ȱ㤦<EFBFBD><EFBFBD><EFBFBD>⤷<EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>դ<EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
<EFBFBD>ᤵ<EFBFBD>줿<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>꤬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǽ<EFBFBD>ξ<EFBFBD><EFBFBD>硢
|
||
.Dv NULL
|
||
<EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD>졢
|
||
.Fa addr
|
||
<EFBFBD>ǻ<EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD>ѹ<EFBFBD><EFBFBD>ΤޤޤȤʤ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||
.Fa addr
|
||
<EFBFBD><EFBFBD>
|
||
.Dv NULL
|
||
<EFBFBD>ξ<EFBFBD><EFBFBD>硢
|
||
.Fn realloc
|
||
<EFBFBD>ؿ<EFBFBD><EFBFBD>ϻ<EFBFBD><EFBFBD>ꤵ<EFBFBD>줿<EFBFBD>礭<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
.Fn malloc
|
||
<EFBFBD><EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD>˿<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||
.Pp
|
||
.Fn reallocf
|
||
<EFBFBD>ؿ<EFBFBD><EFBFBD><EFBFBD>
|
||
.Fn realloc
|
||
<EFBFBD>Ȥޤä<EFBFBD><EFBFBD><EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
<EFBFBD>ᤵ<EFBFBD>줿<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǽ<EFBFBD>ξ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
<EFBFBD>Ϥ<EFBFBD><EFBFBD>줿<EFBFBD>ݥ<EFBFBD><EFBFBD>Υ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㤤<EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||
.Pp
|
||
<EFBFBD>ޥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD>
|
||
.Fn MALLOC
|
||
<EFBFBD>ϵ<EFBFBD>ǽŪ<EFBFBD>ˤ<EFBFBD>
|
||
.Bd -literal -offset indent
|
||
(space) = (cast)malloc((u_long)(size), type, flags)
|
||
.Ed
|
||
.Pp
|
||
<EFBFBD><EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD>ǡ<EFBFBD>
|
||
<EFBFBD>ޥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
.Fn FREE
|
||
<EFBFBD><EFBFBD>
|
||
.Bd -literal -offset indent
|
||
free((addr), type)
|
||
.Ed
|
||
.Pp
|
||
<EFBFBD><EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD>
|
||
ɸ<EFBFBD><EFBFBD>C<EFBFBD>饤<EFBFBD>֥<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD>ؿ<EFBFBD>
|
||
.Pq Xr malloc 3
|
||
<EFBFBD>Ȥϰۤʤꡢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͥ<EFBFBD><EFBFBD>С<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϲ<EFBFBD><EFBFBD><EFBFBD> 2 <20>Ĥΰ<C4A4><CEB0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><C8A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
.Fa flags
|
||
<EFBFBD><EFBFBD>
|
||
.Fn malloc
|
||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʲ<EFBFBD><EFBFBD>Τ褦<EFBFBD>ˤߤʤ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||
.Bl -tag -width indent
|
||
.It Dv M_ZERO
|
||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD>줿<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>꤬<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>褦<EFBFBD>ˤ<EFBFBD><CBA4>ޤ<EFBFBD><DEA4><EFBFBD>
|
||
.It Dv M_NOWAIT
|
||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD><EFBFBD><EFBFBD>ľ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD>ʤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϡ<EFBFBD>
|
||
.Fn malloc ,
|
||
.Fn realloc ,
|
||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
.Fn reallocf
|
||
<EFBFBD><EFBFBD>
|
||
.Dv NULL
|
||
<EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD>褦<EFBFBD>ˤ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȤǤ<EFBFBD>ư<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD>
|
||
.Dv M_NOWAIT
|
||
<EFBFBD><EFBFBD><EFBFBD>ᤵ<EFBFBD><EFBFBD><EFBFBD>뤳<EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>դ<EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
.It Dv M_WAITOK
|
||
<EFBFBD>ϥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԤĤ<EFBFBD><EFBFBD>Ȥ<EFBFBD> OK <20>Ǥ<EFBFBD><C7A4>뤳<EFBFBD>Ȥ<C8A4><F2BCA8A4>ޤ<EFBFBD><DEA4><EFBFBD>
|
||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뤳<EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤϡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤΥץ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϡ<EFBFBD>
|
||
¾<EFBFBD>Υץ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤ<EFBFBD><EFBFBD>äƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뤳<EFBFBD>Ȥ<EFBFBD><EFBFBD>ԤĤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˡ<EFBFBD>
|
||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||
.Dv M_WAITOK
|
||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ꤵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
.Fn malloc ,
|
||
.Fn realloc ,
|
||
.Fn reallocf
|
||
<EFBFBD>ؿ<EFBFBD><EFBFBD><EFBFBD>
|
||
.Dv NULL
|
||
<EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
.It Dv M_USE_RESERVE
|
||
<EFBFBD>ᤵ<EFBFBD>줿<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>뤿<EFBFBD><EFBFBD><EFBFBD>ˡ<EFBFBD>
|
||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥब<EFBFBD>ꥶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ΰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȤäƤ褤<EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||
<EFBFBD><EFBFBD><EFBFBD>Υ<EFBFBD><EFBFBD>ץ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
.Dv M_KERNEL
|
||
<EFBFBD>ȸƤФ<EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ū<EFBFBD>˲<EFBFBD>̾<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
<EFBFBD><EFBFBD><EFBFBD>Υ<EFBFBD><EFBFBD>ץ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϸڻ뤵<EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD>ơ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͥ뤫<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˺<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||
<EFBFBD><EFBFBD><EFBFBD>Τ<EFBFBD><EFBFBD>ᡢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʥץ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߥǤϻ<EFBFBD><EFBFBD>Ѥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><EFBFBD>ͤˤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>٤<EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD>
|
||
.El
|
||
.Pp
|
||
<EFBFBD><EFBFBD>̩<EFBFBD><EFBFBD>
|
||
.Dv M_WAITOK
|
||
<EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||
.Dv M_NOWAIT
|
||
<EFBFBD>Τɤ<EFBFBD><EFBFBD>餫<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ꤵ<EFBFBD><EFBFBD><EFBFBD>ʤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Фʤ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
.Pp
|
||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
.Fa type
|
||
<EFBFBD>ϥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>פ<EFBFBD><EFBFBD>Ȥ뤿<EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>
|
||
<EFBFBD><EFBFBD>ñ<EFBFBD>ʥ<EFBFBD><EFBFBD>˥ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>å<EFBFBD><EFBFBD>Τ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˻Ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʣ<EFBFBD><EFBFBD><EFBFBD>γ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̤<EFBFBD><EFBFBD>뤿<EFBFBD><EFBFBD><EFBFBD>˻<EFBFBD><EFBFBD>Ѥ<EFBFBD><EFBFBD>뤳<EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD>ǽ<EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD>
|
||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>פ<EFBFBD>
|
||
.Sq vmstat -m
|
||
<EFBFBD><EFBFBD>Ĵ<EFBFBD>٤뤳<EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||
.Pp
|
||
.Fa type
|
||
<EFBFBD><EFBFBD>
|
||
.Fn MALLOC_DECLARE
|
||
<EFBFBD><EFBFBD>
|
||
.Fn MALLOC_DEFINE
|
||
<EFBFBD>ޥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̤<EFBFBD><EFBFBD><EFBFBD>
|
||
.Vt "struct malloc_type"
|
||
typedef <20><><EFBFBD><EFBFBD><EFBFBD>Ѥ<EFBFBD><D1A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||
.Bd -literal -offset indent
|
||
/* sys/something/foo_extern.h */
|
||
|
||
MALLOC_DECLARE(M_FOOBUF);
|
||
|
||
/* sys/something/foo_main.c */
|
||
|
||
MALLOC_DEFINE(M_FOOBUF, "foobuffers",
|
||
"Buffers to foo data into the ether");
|
||
|
||
/* sys/something/foo_subr.c */
|
||
|
||
\&...
|
||
|
||
MALLOC(buf, struct foo_buf *, sizeof *buf, M_FOOBUF, M_NOWAIT);
|
||
.Ed
|
||
.Pp
|
||
.Fn MALLOC_DEFINE
|
||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѥ<EFBFBD><EFBFBD>뤿<EFBFBD><EFBFBD><EFBFBD>ˤϡ<EFBFBD>
|
||
.In sys/param.h
|
||
.In ( sys/types.h
|
||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
.In sys/kernel.h
|
||
<EFBFBD>롼<EFBFBD>ɤ<EFBFBD><EFBFBD>ʤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Фʤ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
.Sh <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
.Fn malloc ,
|
||
.Fn realloc ,
|
||
.Fn reallocf
|
||
<EFBFBD>ؿ<EFBFBD><EFBFBD>Ϥ<EFBFBD><EFBFBD>٤ƤΥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>פΥ<EFBFBD><EFBFBD>֥<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥγ<EFBFBD>Ǽ<EFBFBD><EFBFBD>Ŭ<EFBFBD>ڤʤ褦<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>줿
|
||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͥ벾<EFBFBD>ۥ<EFBFBD><EFBFBD>ɥ쥹<EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
<EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD>ʤ<EFBFBD><CAA4><EFBFBD>
|
||
.Dv M_NOWAIT
|
||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>åȤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD>뤳<EFBFBD>Ȥ<EFBFBD><EFBFBD><EFBFBD>̣<EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD>) <20><>
|
||
.Dv NULL
|
||
<EFBFBD><EFBFBD><EFBFBD>֤<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||
.Sh <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˴ؤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
1 <20>ڡ<EFBFBD><DAA1><EFBFBD><EFBFBD>ޤǤ<DEA4><C7A4><EFBFBD><D7B5><EFBFBD><EFBFBD>Ф<EFBFBD><D0A4><EFBFBD>
|
||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ꥢ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϡ<EFBFBD>2 <20><><EFBFBD>߾<EFBFBD><DFBE><EFBFBD><EFBFBD>礭<EFBFBD><E7A4AD><EFBFBD><EFBFBD><EFBFBD>̤<EFBFBD><CCA4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥޤ<C6A4><DEA4><EFBFBD>
|
||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>礭<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ф<EFBFBD><EFBFBD>Ƥϡ<EFBFBD>1 <20>İʾ<C4B0><CABE>Υڡ<CEA5><DAA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ư<EFBFBD><EFBFBD><EFBFBD>˰<EFBFBD>¸<EFBFBD><EFBFBD><EFBFBD>ƤϤʤ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|
||
<EFBFBD><EFBFBD><EFBFBD>ξ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѹ<EFBFBD>Ψ<EFBFBD>κ<EFBFBD>Ŭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͭ<EFBFBD>Ѥ<EFBFBD><EFBFBD>⤷<EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
.Pp
|
||
<EFBFBD>ץ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD> malloc <20>ե饰<D5A5><E9A5B0>
|
||
.Dv M_NOWAIT
|
||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
.Dv M_WAITOK
|
||
<EFBFBD>ȡ<EFBFBD>
|
||
.Xr mbuf 9
|
||
<EFBFBD>ե饰<EFBFBD><EFBFBD>
|
||
.Dv M_DONTWAIT
|
||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
.Dv M_TRYWAIT
|
||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𤷤ʤ<EFBFBD><EFBFBD>褦<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>٤<EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD><EFBFBD>
|
||
.Sh <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
.Fn malloc ,
|
||
.Fn realloc
|
||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
.Fn reallocf
|
||
<EFBFBD>Ϲ<EFBFBD>®<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߥϥ<EFBFBD><EFBFBD>ɥ餫<EFBFBD><EFBFBD><EFBFBD>ƤӽФ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>뤳<EFBFBD>ȤϽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>åɲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>줿<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƤӽФ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˤϡ<EFBFBD>
|
||
.Fa flag
|
||
<EFBFBD><EFBFBD>
|
||
.Dv M_NOWAIT
|
||
<EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD>Ǥ<EFBFBD><EFBFBD>ʤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Фʤ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
.Pp
|
||
.Va Giant
|
||
<EFBFBD>ǤϤʤ<EFBFBD> mutex <20><><EFBFBD>ݻ<EFBFBD><DDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><C6A4><EFBFBD><EFBFBD>֤ϡ<D6A4>
|
||
.Fn malloc ,
|
||
.Fn realloc
|
||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
.Fn reallocf
|
||
<EFBFBD><EFBFBD>
|
||
.Dv M_WAITOK
|
||
<EFBFBD>դ<EFBFBD><EFBFBD>ǸƤӽФ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD><EFBFBD>ˤϥ<EFBFBD><EFBFBD><EFBFBD>פ<EFBFBD><EFBFBD>뤫<EFBFBD>⤷<EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
.Fn free
|
||
<EFBFBD>Ϸ褷<EFBFBD>ƥ<EFBFBD><EFBFBD><EFBFBD>פ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
.Pp
|
||
.Xr vnode 9
|
||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>å<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
.Fn malloc
|
||
.Dv ( M_NOWAIT
|
||
<EFBFBD>դǤ<EFBFBD><EFBFBD>äƤ<EFBFBD>) <20>ޤ<EFBFBD><DEA4><EFBFBD>
|
||
.Fn free
|
||
<EFBFBD>ؤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƤθƽФ<EFBFBD><EFBFBD>ϡ<EFBFBD>VM <20><><EFBFBD>֥<EFBFBD><D6A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȥ<EFBFBD> vnode <20><><EFBFBD><EFBFBD><EFBFBD>ߤΤ<DFA4><CEA4><EFBFBD><EFBFBD>߹礤<DFB9>Τ<EFBFBD><CEA4><EFBFBD><EFBFBD>ˡ<EFBFBD>
|
||
LOR (<28><><EFBFBD>å<EFBFBD><C3A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ε<EFBFBD>ž) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ޤ<EFBFBD><DEA4><EFBFBD>
|
||
.Sh <EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
.Xr vmstat 8 ,
|
||
.Xr contigmalloc 9 ,
|
||
.Xr vnode 9
|
||
.Sh <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
.Dv INVARIANTS
|
||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ե<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>졼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ץ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>դ<EFBFBD><EFBFBD>ƥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѥ<EFBFBD><EFBFBD>뤵<EFBFBD>줿<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͥ<EFBFBD><EFBFBD>ϡ<EFBFBD>
|
||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƥ<EFBFBD><EFBFBD>줿<EFBFBD>ΰ<EFBFBD><EFBFBD>ʳ<EFBFBD><EFBFBD>ؤν<EFBFBD><EFBFBD>ߤ<EFBFBD>
|
||
.Fn malloc
|
||
<EFBFBD>ؿ<EFBFBD><EFBFBD><EFBFBD>
|
||
.Fn free
|
||
<EFBFBD>ؿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԶѹդʸƤӽФ<EFBFBD><EFBFBD>ʤɤˤ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>θ<EFBFBD><EFBFBD>Ф<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߤޤ<EFBFBD><EFBFBD><EFBFBD>
|
||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>å<EFBFBD><EFBFBD>μ<EFBFBD><EFBFBD>Ԥϥѥ˥å<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD>ϥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƥॳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>å<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϥ<EFBFBD><EFBFBD>ޤ<EFBFBD><EFBFBD><EFBFBD>
|