Catch up with 5.1-CURRENT-20030817-JPSNAP

Submitted by:	Akira Ikeuchi <a_ikeuchi@mic.mitsumi.co.jp>
This commit is contained in:
Kazuo Horikawa 2003-08-24 04:26:14 +00:00
parent 4cfd05d16f
commit de38f38d30
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=17964
10 changed files with 246 additions and 13 deletions

View file

@ -79,6 +79,7 @@ MAN2 = _exit.2\
mkfifo.2\
mknod.2\
mlock.2\
mlockall.2\
mmap.2\
modfind.2\
modnext.2\
@ -189,7 +190,9 @@ MLINKS+=getuid.2 geteuid.2
MLINKS+=intro.2 errno.2
MLINKS+=jail.2 jail_attach.2
MLINKS+=kqueue.2 kevent.2
MLINKS+=madvise.2 posix_madvise.2
MLINKS+=mlock.2 munlock.2
MLINKS+=mlockall.2 munlockall.2
MLINKS+=modnext.2 modfnext.2
MLINKS+=mount.2 unmount.2
MLINKS+=pathconf.2 fpathconf.2

View file

@ -30,7 +30,7 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)connect.2 8.1 (Berkeley) 6/4/93
.\" %FreeBSD: src/lib/libc/sys/connect.2,v 1.23 2003/04/01 20:25:46 ceri Exp %
.\" %FreeBSD: src/lib/libc/sys/connect.2,v 1.25 2003/08/06 14:21:06 yar Exp %
.\"
.\" $FreeBSD$
.Dd June 4, 1993
@ -111,8 +111,19 @@
ソケットへの書込みを
.Xr select 2
で待つことによって、接続完了を待つことができます。
.It Bq Er EINTR
接続の試みは、シグナルの配信により割り込まれました。
その接続は
.Er EINPROGRESS
の場合と同じようにバックグラウンドで確立されます。
.It Bq Er EALREADY
非ブロッキングのソケットで、以前の接続の試みがまだ完了していません。
前の接続の試みが未だ完了していません。
.It Bq Er EACCES
ブロードキャストの機能を提供していないソケットを通して、
.Dv ( INADDR_BROADCAST
定数または
.Dv INADDR_NONE
戻り値を通して獲得した) ブロードキャストアドレスに接続しようとしています。
.El
.Pp
以降のエラーは、UNIX ドメインの接続名に固有です。

View file

@ -30,7 +30,7 @@
.\" SUCH DAMAGE.
.\"
.\" from: @(#)fork.2 6.5 (Berkeley) 3/10/91
.\" %FreeBSD: src/lib/libc/i386/sys/i386_get_ldt.2,v 1.17 2003/06/09 11:46:22 jhb Exp %
.\" %FreeBSD: src/lib/libc/i386/sys/i386_get_ldt.2,v 1.19 2003/08/04 19:11:56 julian Exp %
.\"
.\" $FreeBSD$
.Dd September 20, 1993
@ -74,12 +74,42 @@
これらの構成要素は、アーキテクチャに対応して
ばらばらになったビットフィールドとして定義されているので、
それらを組み立てる際には注意を払う必要があります。
.Pp
.Fa start_sel
.Em LDT_AUTO_ALLOC
で、
.Fa num_sels
が 1 で、
.Fa descs
によって指される記述子が正当である場合には、
.Fn i386_set_ldt
は記述子を割り当てて、そのセレクタ番号を返します。
.Pp
.Fa num_descs
が 1 で、
.Fa start_sels
が有効で、
.Fa descs
が NULL の場合には、
.Fn i386_set_ldt
はその記述子を開放します (後でまた再割り当てできるようにします)。
.Pp
.Fa num_descs
が 0 で、
.Fa start_sels
が 0 で、
.Fa descs
が NULL の場合には特別な場合として、
.Fn i386_set_ldt
は全ての記述子を開放します。
.Sh 戻り値
正常に完了した場合、
.Fn i386_get_ldt
は現在 LDT 内にある記述子の数を返します。
.Fn i386_set_ldt
システムコールは最初のセレクタセットを返します。
記述子がカーネルによって割り当てられた場合には、その数が返されます。
そうでない場合は -1 が返され、エラーを示すためにグローバル変数
.Va errno
が設定されます。

View file

@ -31,7 +31,7 @@
.\"
.\" @(#)ioctl.2 8.2 (Berkeley) 12/11/93
.\"
.\" %FreeBSD: src/lib/libc/sys/ioctl.2,v 1.21 2002/12/19 09:40:25 ru Exp %
.\" %FreeBSD: src/lib/libc/sys/ioctl.2,v 1.23 2003/07/15 12:23:12 ceri Exp %
.\"
.\" $FreeBSD$
.Dd December 11, 1993

View file

@ -22,7 +22,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" %FreeBSD: src/lib/libc/sys/kqueue.2,v 1.32 2002/12/19 09:40:25 ru Exp %
.\" %FreeBSD: src/lib/libc/sys/kqueue.2,v 1.33 2003/08/05 07:12:49 jmg Exp %
.\"
.\" $FreeBSD$
.Dd April 14, 2000
@ -255,6 +255,13 @@ kqueue
に EV_EOF をセットします。
EV_CLEAR を渡すことで、このフラグをクリアすることができ、
フィルタはデータが読み取るようになるのを戻らずに再び待ちます。
.It "BPF デバイス"
BPF バッファが一杯になったとき、BPF タイムアウトが満了したとき、
または BPF の
.Dq 直接モード
が有効で読み込むべきデータがあるときに、戻ります。このときの
.Va data
には利用可能なバイト数が入ります。
.El
.It EVFILT_WRITE
識別子に記述子を引数として取ります。
@ -264,7 +271,8 @@ EV_CLEAR
には書込みバッファの残り領域の大きさが入っています。
読取り側が切断したときに、フィルタは EV_EOF をセットします。
FIFO の場合、EV_CLEAR を使いこれをクリアすることができます。
このフィルタは vnode をサポートしていないことに注意してください。
このフィルタは vnode または BPF デバイスをサポートしていないことに
注意してください。
.Pp
ソケットの場合、最低基準値およびソケットエラーの取り扱いは
EVFULT_READ の場合と同じです。

View file

@ -30,7 +30,7 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)madvise.2 8.1 (Berkeley) 6/9/93
.\" %FreeBSD: src/lib/libc/sys/madvise.2,v 1.29 2003/03/31 21:09:56 wes Exp %
.\" %FreeBSD: src/lib/libc/sys/madvise.2,v 1.30 2003/08/09 03:23:24 bms Exp %
.\"
.\" WORD: revert 書き戻す(dirty なページをファイルシステムに書き込む)[madvise.2]
.\" WORD: physically backing store 物理的バッキングストア
@ -41,7 +41,7 @@
.Dt MADVISE 2
.Os
.Sh 名称
.Nm madvise
.Nm madvise , posix_madvise
.Nd メモリの使用法について助言を与える
.Sh ライブラリ
.Lb libc
@ -49,10 +49,14 @@
.In sys/mman.h
.Ft int
.Fn madvise "void *addr" "size_t len" "int behav"
.Ft int
.Fn posix_madvise "void *addr" "size_t len" "int behav"
.Sh 解説
.Fn madvise
システムコールによって、自身のメモリ利用の習性の知識があるプロセスは、それを
システムに説明できます。
.Fn posix_madvise
インタフェースは同等で規格に適合するために提供されます。
.Pp
知られた習性は以下のとおりです:
.Bl -tag -width MADV_SEQUENTIAL
@ -133,6 +137,14 @@ MADV_NOSYNC
これは、システムが適切に機能するために実行され続けなければならない
プロセス群で、思慮分別を持って使用されるべきです。
.El
.Pp
.Fn posix_madvise
インタフェースを呼び出す移植可能なプログラムは、上記のフラグではなく別名の
.Dv POSIX_MADV_NORMAL , POSIX_MADV_SEQUENTIAL ,
.Dv POSIX_MADV_RANDOM , POSIX_MADV_WILLNEED
および
.Dv POSIX_MADV_DONTNEED
を使用するべきです。
.Sh 戻り値
.Rv -std madvise
.Sh エラー
@ -140,6 +152,9 @@ MADV_NOSYNC
システムコールは次の場合に失敗します:
.Bl -tag -width Er
.It Bq Er EINVAL
.Fa behav
引数が有効ではありません。
.It Bq Er ENOMEM
.Fa addr
引数と
.Fa len
@ -153,6 +168,11 @@ MADV_NOSYNC
.Xr mprotect 2 ,
.Xr msync 2 ,
.Xr munmap 2
.Sh 規格
.Fn posix_madvise
インタフェースは
.St -p1003.1-2001
に適合しています。
.Sh 歴史
.Fn madvise
システムコールは

View file

@ -0,0 +1,141 @@
.\" $NetBSD: mlockall.2,v 1.11 2003/04/16 13:34:54 wiz Exp $
.\"
.\" Copyright (c) 1999 The NetBSD Foundation, Inc.
.\" All rights reserved.
.\"
.\" This code is derived from software contributed to The NetBSD Foundation
.\" by Jason R. Thorpe of the Numerical Aerospace Simulation Facility,
.\" NASA Ames Research Center.
.\"
.\" 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 FOUNDATION 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.
.\"
.\" %FreeBSD: src/lib/libc/sys/mlockall.2,v 1.1 2003/08/11 07:16:21 bms Exp %
.\"
.\" $FreeBSD$
.Dd June 12, 1999
.Dt MLOCKALL 2
.Os
.Sh 名称
.Nm mlockall ,
.Nm munlockall
.Nd プロセスのアドレス空間のロック (アンロック)
.Sh ライブラリ
.Lb libc
.Sh 書式
.In sys/mman.h
.Ft int
.Fn mlockall "int flags"
.Ft int
.Fn munlockall "void"
.Sh 解説
.Nm mlockall
システムコールはプロセスのアドレス空間に関連付けられた物理ページを、
そのアドレス空間がアンロックされるまで、またはプロセスが終了するまで、
または他のプログラムイメージを exec するまでの間、メモリ内にロックします。
.Pp
以下のフラグは
.Nm mlockall
の振舞いに影響します:
.Bl -tag -width MCL_CURRENT
.It Dv MCL_CURRENT
プロセスのアドレス空間に現在マップされている全てのページをロックします。
.It Dv MCL_FUTURE
将来プロセスのアドレス空間にマップされる全てのページを、
マッピングが確立する時点でロックします。
これらのマッピングがリソースの制限の超過を引き起こす場合には、
将来のマッピングの失敗を引き起こすかもしれないことに、注意してください。
.El
.Pp
物理メモリは潜在的に欠乏しているリソースであるため、プロセスは
どのくらいの量をロックできるのかを制限されています。
1 つのプロセスは最低でもシステム全体に渡る
.Dq wired pages
リミットをロック可能で、プロセス当たりの
.Li RLIMIT_MEMLOCK
リソース制限をロック可能です。
.Pp
.Nm munlockall
呼び出しはプロセスのアドレス空間の中の全てのロックされたメモリ領域を
アンロックします。
.Nm munlockall
呼び出し後にマップされる全ての領域は、ロックされません。
.Sh 戻り値
戻り値 0 は、呼び出しが成功し、その範囲内の全てのページが
ロックまたはアンロックされたことを示します。
戻り値 -1 は、エラーが発生し、その範囲内の全てのページのロック状態が
変更されないまま残されていることを示します。
この場合、グローバル変数
.Va errno
がそのエラーを示すために設定されます。
.Sh エラー
.Fn mlockall
は以下の場合に失敗します:
.Bl -tag -width Er
.It Bq Er EINVAL
.Ar flags
引数が 0 であるか、または実装されていないフラグを含んでいます。
.It Bq Er ENOMEM
指定された範囲のロックが、システムまたはプロセス当たりのロック可能な
メモリの制限を越えます。
.It Bq Er EAGAIN
プロセスのアドレス空間にマップされたメモリの一部または全てが、
呼び出しが実行された時にロックできませんでした。
.It Bq Er EPERM
呼び出し側のプログラムが、要求された操作を行なうための適切な
権限を持っていません。
.El
.Sh 関連項目
.Xr mincore 2 ,
.Xr mlock 2 ,
.Xr mmap 2 ,
.Xr munmap 2 ,
.Xr setrlimit 2
.Sh 規格
.Fn mlockall
および
.Fn munlockall
関数は
.St -p1003.1-2001
に適合していると思われます。
.Sh 歴史
.Fn mlockall
および
.Fn munlockall
関数は
.Fx 5.1
ではじめて登場しました。
.Fx 5.1 .
.Sh バグ
プロセス当たりのリソースの制限は、ロックされた仮想メモリの量について
制限されます。
その一方、システム全体での制限はロックされた物理ページの
数についての制限です。
そのために、同一の物理ページに対する 2 つの別個のロックされた
マッピングを持つプロセスは、プロセス当たりの制限に対しては 2 ページとして
カウントし、システム制限ではただ 1 つのページとしてカウントします。

View file

@ -1,9 +1,9 @@
.\" %FreeBSD: src/lib/libc/sys/ptrace.2,v 1.31 2002/12/19 09:40:25 ru Exp %
.\" %FreeBSD: src/lib/libc/sys/ptrace.2,v 1.32 2003/08/11 13:13:46 iedowse Exp %
.\" %NetBSD: ptrace.2,v 1.2 1995/02/27 12:35:37 cgd Exp $
.\"
.\" This file is in the public domain.
.\" $FreeBSD$
.Dd January 20, 1996
.Dd August 11, 2003
.Dt PTRACE 2
.Os
.Sh 名称
@ -146,7 +146,9 @@ struct ptrace_io_desc {
.Po Vt caddr_t Pc Ns 1
を渡す必要があります。
.Fa data
引数は使用されません。
には実行の再開のために、トレースされたプロセスへ配信されるべきシグナルの数を
与えます。
または、送られるべきシグナルが無い場合には 0 を与えます。
.It Dv PT_KILL
トレースされるプロセスは、あたかも
.Dv SIGKILL

View file

@ -276,5 +276,6 @@ MLINKS+=zone.9 uma_zalloc.9
MLINKS+=zone.9 uma_zcreate.9
MLINKS+=zone.9 uma_zfree.9
MLINKS+=zone.9 uma_zdestroy.9
MLINKS+=zone.9 uma_zone_set_max.9
.include "bsd.prog.mk"

View file

@ -26,14 +26,15 @@
.\" %FreeBSD: src/share/man/man9/zone.9,v 1.24 2003/05/31 14:07:25 hmp Exp %
.\"
.\" $FreeBSD$
.Dd May 18, 2002
.Dd July 21, 2003
.Dt ZONE 9
.Os
.Sh 名称
.Nm uma_zcreate ,
.Nm uma_zalloc ,
.Nm uma_zfree ,
.Nm uma_zdestroy
.Nm uma_zdestroy ,
.Nm uma_zone_set_max
.Nd ゾーンアロケータ
.Sh 書式
.In sys/param.h
@ -51,6 +52,8 @@
.Fn uma_zfree "uma_zone_t zone" "void *item"
.Ft void
.Fn uma_zdestroy "uma_zone_t zone"
.Ft void
.Fn uma_zone_set_max "uma_zone_t zone" "int nitems"
.Sh 解説
ゾーンアロケータは動的に大きさが決められる類似した大きさの項目の集合を
管理するための効率的なインタフェースを提供します。
@ -156,6 +159,20 @@ uma
によって割当てられた項目は、その前に
.Fn uma_zfree
によって解放されなければなりません。
.Pp
.Fn uma_zone_set_max
の目的は、
.Fa zone
引数によって指定されたゾーンに対して専用にできるメモリの最大量を
制限することです。
.Fa nitems
引数にはそのゾーン内の項目の上限を与えます。
この制限は、割り当てられた項目、開放された項目、および CPU 毎の
キャッシュ内にある開放された項目を含む、そのゾーンの中の項目のトータル数です。
複数の CPU を持つシステム上では、メモリの不足がない時にでさえ、
指定された数の項目を割り当てることが不可能であることがあります。
なぜならば、制限に引っかかる時点で、残りの全ての開放されている項目が、
他の CPU のキャッシュの中にあるかもしれないからです。
.Sh 戻り値
.Fn uma_zalloc
関数は項目へのポインタを、またはゾーンの未使用項目が不足してアロケータが