summaryrefslogtreecommitdiffstats
path: root/share/man/man9/jumbo.9
diff options
context:
space:
mode:
Diffstat (limited to 'share/man/man9/jumbo.9')
-rw-r--r--share/man/man9/jumbo.9151
1 files changed, 0 insertions, 151 deletions
diff --git a/share/man/man9/jumbo.9 b/share/man/man9/jumbo.9
deleted file mode 100644
index 6670789..0000000
--- a/share/man/man9/jumbo.9
+++ /dev/null
@@ -1,151 +0,0 @@
-.\"
-.\" Copyright (c) 2002 Kenneth D. Merry.
-.\" All rights reserved.
-.\"
-.\" 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,
-.\" without modification, immediately at the beginning of the file.
-.\" 2. The name of the author may not be used to endorse or promote products
-.\" derived from this software without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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$
-.\"
-.Dd June 23, 2002
-.Dt JUMBO 9
-.Os
-.Sh NAME
-.Nm jumbo ,
-.Nm jumbo_vm_init ,
-.Nm jumbo_pg_alloc ,
-.Nm jumbo_pg_free ,
-.Nm jumbo_freem ,
-.Nm jumbo_pg_steal ,
-.Nm jumbo_phys_to_kva
-.Nd kernel interface for allocating and freeing page-sized disposable buffers
-.Sh SYNOPSIS
-.In sys/jumbo.h
-.Ft int
-.Fn jumbo_vm_init void
-.Ft vm_page_t
-.Fn jumbo_pg_alloc void
-.Ft void
-.Fn jumbo_pg_free "vm_offset_t addr"
-.Ft void
-.Fn jumbo_freem "caddr_t addr" "void *args"
-.Ft void
-.Fn jumbo_pg_steal "vm_page_t pg"
-.Ft caddr_t
-.Fn jumbo_phys_to_kva "vm_offset_t pa"
-.Sh DESCRIPTION
-The
-.Nm
-buffer facility is designed for allocating disposable page-sized
-buffers.
-Buffers allocated via this facility can either be returned or not.
-This facility is primarily intended for use with network adapters
-that have MTUs of a page or greater size.
-The buffers will normally be disposed of by the
-.Xr zero_copy 9
-receive code.
-.Pp
-.Fn jumbo_vm_init
-initializes the pool of KVA the
-.Nm
-code needs to operate and does some
-other initialization to prepare the subsystem for operation.
-This routine only needs to be called once.
-Calling it multiple times will have no effect.
-It is recommended that this initialization routine be called in a
-device driver attach routine, so that resources are not allocated if the
-.Nm
-subsystem will not end up being used.
-.Fn jumbo_vm_init
-returns 1 upon successful completion, and 0 upon failure.
-.Pp
-.Fn jumbo_pg_alloc
-allocates a physical page and assigns a piece of KVA from the
-.Nm
-KVA pool.
-It returns the allocated page if successful, and
-.Dv NULL
-in the case of failure.
-.Pp
-.Fn jumbo_pg_free
-frees a page allocated by
-.Fn jumbo_pg_alloc .
-It takes the address of the memory in question as an argument.
-This routine will normally be used in cases where the allocated
-.Nm
-page cannot be used for some reason.
-The normal free path is via
-.Fn jumbo_freem .
-.Pp
-.Fn jumbo_freem
-is the routine that should be given as the external free routine when an
-external
-.Vt mbuf
-is allocated using pages from the
-.Nm
-allocator.
-It takes the virtual address of the page in question, and
-ignores the second argument.
-.Pp
-.Fn jumbo_pg_steal
-.Dq steals
-a page and recycles its KVA space.
-.Pp
-.Fn jumbo_phys_to_kva
-translates the physical address of a
-.Nm
-allocated page to the proper kernel virtual address.
-.Sh SEE ALSO
-.Xr ti 4 ,
-.Xr zero_copy 9
-.Sh HISTORY
-The
-.Nm
-allocator is primarily based on a page allocator system originally written
-by
-.An Andrew Gallatin Aq gallatin@FreeBSD.org
-as part of a set of zero copy patches for the
-.Xr ti 4
-driver.
-The allocator was taken out of the
-.Xr ti 4
-driver, cleaned up and ported to the new
-.Xr mutex 9
-interface by
-.An Kenneth Merry Aq ken@FreeBSD.org .
-.Pp
-The
-.Nm
-allocator first appeared in
-.Fx 5.0 ,
-and has existed in patch form since at least 1999.
-.Sh AUTHORS
-.An Andrew Gallatin Aq gallatin@FreeBSD.org
-.An Kenneth Merry Aq ken@FreeBSD.org
-.Sh BUGS
-There is currently a static number of KVA pages allocated by the
-.Nm
-allocator, with no real provision for increasing the number of pages
-allocated should demand exceed supply.
-.Pp
-The
-.Fn jumbo_pg_steal
-function is not currently used anywhere.
OpenPOWER on IntegriCloud