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 |