buf.9 (a04dd7481b80786760f38ff3902e24851fc7ef37) buf.9 (5d70612b3f814f934494f69876a4b34e13c436f9)
1.\" Copyright (c) 1998
2.\" The Regents of the University of California. All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\" notice, this list of conditions and the following disclaimer.

--- 15 unchanged lines hidden (view full) ---

24.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30.\" SUCH DAMAGE.
31.\"
1.\" Copyright (c) 1998
2.\" The Regents of the University of California. All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\" notice, this list of conditions and the following disclaimer.

--- 15 unchanged lines hidden (view full) ---

24.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30.\" SUCH DAMAGE.
31.\"
32.\" $Id: buf.9,v 1.1 1998/12/22 19:47:48 dillon Exp $
32.\" $Id: buf.9,v 1.2 1999/02/01 22:55:54 mpp Exp $
33.\"
34.Dd December 22, 1998
35.Dt BUF 9
36.Os
37.Sh NAME
33.\"
34.Dd December 22, 1998
35.Dt BUF 9
36.Os
37.Sh NAME
38.Nm BUF/BP
38.Nm BUF
39.Nd Kernel Buffer I/O scheme used in FreeBSD VM system
40.Sh DESCRIPTION
41.Pp
42The kernel implements a KVM abstraction of the buffer cache which allows it
43to map potentially disparate vm_page's into contiguous KVM for use by
44(mainly filesystem) devices and device I/O. This abstraction supports
45block sizes from DEV_BSIZE (usually 512) to upwards of several pages or more.
46It also supports a relatively primitive byte-granular valid range and dirty

--- 60 unchanged lines hidden (view full) ---

107.Pp
108The kernel reserves a portion of its KVM space to hold VM Buffer's data
109maps. Even though this is virtual space (since the buffers are mapped
110from the buffer cache), we cannot make it arbitrarily large because
111instantiated VM Buffers (struct buf's) prevent their underlying pages in the
112buffer cache from being freed. This can complicate the life of the paging
113system.
114.Pp
39.Nd Kernel Buffer I/O scheme used in FreeBSD VM system
40.Sh DESCRIPTION
41.Pp
42The kernel implements a KVM abstraction of the buffer cache which allows it
43to map potentially disparate vm_page's into contiguous KVM for use by
44(mainly filesystem) devices and device I/O. This abstraction supports
45block sizes from DEV_BSIZE (usually 512) to upwards of several pages or more.
46It also supports a relatively primitive byte-granular valid range and dirty

--- 60 unchanged lines hidden (view full) ---

107.Pp
108The kernel reserves a portion of its KVM space to hold VM Buffer's data
109maps. Even though this is virtual space (since the buffers are mapped
110from the buffer cache), we cannot make it arbitrarily large because
111instantiated VM Buffers (struct buf's) prevent their underlying pages in the
112buffer cache from being freed. This can complicate the life of the paging
113system.
114.Pp
115.Sh SEE ALSO
116.Pp
117.Xr <fillmein> 9
115.\" .Sh SEE ALSO
116.\" .Xr <fillmein> 9
118.Sh HISTORY
119The
120.Nm
121manual page was originally written by Matthew Dillon and first appeared
117.Sh HISTORY
118The
119.Nm
120manual page was originally written by Matthew Dillon and first appeared
122in FreeBSD-3.0.1, December 1998.
121in
122.Fx 3.0.1 ,
123December 1998.
123
124