Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/share/man/man9 Add manpage for new device buffer queue inter...
details: https://anonhg.NetBSD.org/src/rev/12559b096190
branches: trunk
changeset: 534124:12559b096190
user: hannken <hannken%NetBSD.org@localhost>
date: Wed Jul 17 15:53:50 2002 +0000
description:
Add manpage for new device buffer queue interface.
With help from Thomas Klausner <wiz%netbsd.org@localhost>.
diffstat:
share/man/man9/Makefile | 4 +-
share/man/man9/bufq.9 | 135 ++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 137 insertions(+), 2 deletions(-)
diffs (155 lines):
diff -r 1b9bd83a3f73 -r 12559b096190 share/man/man9/Makefile
--- a/share/man/man9/Makefile Wed Jul 17 15:53:21 2002 +0000
+++ b/share/man/man9/Makefile Wed Jul 17 15:53:50 2002 +0000
@@ -1,10 +1,10 @@
-# $NetBSD: Makefile,v 1.115 2002/07/16 00:36:45 lha Exp $
+# $NetBSD: Makefile,v 1.116 2002/07/17 15:53:50 hannken Exp $
# Makefile for section 9 (kernel function and variable) manual pages.
MAN= access.9 altq.9 arc4random.9 arp.9 audio.9 autoconf.9 \
bitmask_snprintf.9 bcmp.9 bcopy.9 bzero.9 \
- bus_dma.9 bus_space.9 \
+ bufq.9 bus_dma.9 bus_space.9 \
callout.9 cardbus.9 cnmagic.9 config.9 cons.9 copy.9 \
cpu_configure.9 cpu_coredump.9 cpu_dumpconf.9 cpu_exit.9 cpu_fork.9 \
cpu_initclocks.9 cpu_number.9 cpu_reboot.9 cpu_rootconf.9 \
diff -r 1b9bd83a3f73 -r 12559b096190 share/man/man9/bufq.9
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/share/man/man9/bufq.9 Wed Jul 17 15:53:50 2002 +0000
@@ -0,0 +1,135 @@
+.\" $NetBSD: bufq.9,v 1.1 2002/07/17 15:53:50 hannken Exp $
+.\"
+.\" Copyright (c) 2002 The NetBSD Foundation, Inc.
+.\" All rights reserved.
+.\"
+.\" This code is derived from software contributed to The NetBSD Foundation
+.\" by Juergen Hannken-Illjes.
+.\"
+.\" 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.
+.\"
+.Dd July 16, 2002
+.Dt BUFQ 9
+.Os
+.Sh NAME
+.Nm bufq ,
+.Nm bufq_state ,
+.Nm bufq_init ,
+.Nm BUFQ_PUT ,
+.Nm BUFQ_GET ,
+.Nm BUFQ_PEEK
+.Nd device buffer queues
+.Sh SYNOPSIS
+.Fd #include \*[Lt]buf.h\*[Gt]
+.Ft void
+.Fn bufq_init "struct bufq_state *bufq" "int flags"
+.Ft void
+.Fn BUFQ_PUT "struct bufq_state *bufq" "struct buf *bp"
+.Ft "struct buf *"
+.Fn BUFQ_GET "struct bufq_state *bufq"
+.Ft "struct buf *"
+.Fn BUFQ_PEEK "struct bufq_state *bufq"
+.Sh DESCRIPTION
+The
+.Nm
+subsystem is a set of operations for the management of device buffer queues.
+.Pp
+The primary data type for using the operations is the
+.Em bufq_state
+structure in
+.Pa buf.h :
+.Bd -literal
+struct bufq_state {
+ void (*bq_put)(struct bufq_state *, struct buf *);
+ struct buf *(*bq_get)(struct bufq_state *, int);
+ void *bq_private;
+ int bq_flags; /* Flags from bufq_init() */
+};
+.Ed
+.Pp
+Valid values for the
+.Em flags
+argument are:
+.Pp
+.Bl -tag -offset indent -width BUFQ_SORT_RAWBLOCK -compact
+.It Dv BUFQ_SORT_RAWBLOCK
+sort by
+.Em b_rawblkno
+.It Dv BUFQ_SORT_CYLINDER
+sort by
+.Em b_cylinder
+and then by
+.Em b_rawblkno
+.It Dv BUFQ_FCFS
+queue strategy is first-come first-serve
+.It Dv BUFQ_DISKSORT
+queue strategy is min seek sort
+.It Dv BUFQ_READ_PRIO
+queue strategy is min seek sort for writes and first-come first-serve
+for reads with read priority
+.El
+.Sh FUNCTIONS
+.Bl -tag -width compact
+.It Fn bufq_init "bufq" "flags"
+Initialize a
+.Em bufq_state
+descriptor. The argument
+.Fa flags
+controls the strategy and sort order.
+.It Fn BUFQ_PUT "bufq" "bp"
+Put the buf
+.Fa bp
+in the queue.
+.It Fn BUFQ_GET "bufq"
+Get the next buf from the queue and remove it from the queue.
+Returns
+.Dv NULL
+if the queue is empty.
+.It Fn BUFQ_PEEK "bufq"
+Get the next buf from the queue without removal.
+Returns
+.Dv NULL
+if the queue is empty.
+.El
+.Sh CODE REFERENCES
+The actual code implementing the device buffer queues can be found
+in the file
+.Pa sys/kern/subr_disk.c .
+.Sh HISTORY
+The
+.Nm
+subsystem appeared in
+.Nx 1.7 .
+.Sh AUTHORS
+The
+.Nm
+subsystem was written by
+.if t .An J\(:urgen Hannken-Illjes
+.if n .An Juergen Hannken-Illjes
+.Aq hannken%NetBSD.org@localhost .
Home |
Main Index |
Thread Index |
Old Index