summaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorcem <cem@FreeBSD.org>2016-01-07 23:02:15 +0000
committercem <cem@FreeBSD.org>2016-01-07 23:02:15 +0000
commit66aa33e3b54566ac437dc5e07c902034dd158713 (patch)
tree29a2b2f82ee2d296287a1e7d24852fa94d6a5fd0 /share
parent5ee4880e05aa13d7a91f55d9fbb82020e25ee77d (diff)
downloadFreeBSD-src-66aa33e3b54566ac437dc5e07c902034dd158713.zip
FreeBSD-src-66aa33e3b54566ac437dc5e07c902034dd158713.tar.gz
ioat(4): Add ioat_acquire_reserve() KPI
ioat_acquire_reserve() is an extended version of ioat_acquire(). It allows users to reserve space in the channel for some number of descriptors. If this succeeds, it guarantees that at least submission of N valid descriptors will succeed. Sponsored by: EMC / Isilon Storage Division
Diffstat (limited to 'share')
-rw-r--r--share/man/man4/ioat.412
1 files changed, 11 insertions, 1 deletions
diff --git a/share/man/man4/ioat.4 b/share/man/man4/ioat.4
index 59e17e6..10f2663 100644
--- a/share/man/man4/ioat.4
+++ b/share/man/man4/ioat.4
@@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd January 5, 2016
+.Dd January 7, 2016
.Dt IOAT 4
.Os
.Sh NAME
@@ -73,6 +73,8 @@ In
.Fn ioat_get_max_coalesce_period "bus_dmaengine_t dmaengine"
.Ft void
.Fn ioat_acquire "bus_dmaengine_t dmaengine"
+.Ft int
+.Fn ioat_acquire_reserve "bus_dmaengine_t dmaengine" "uint32_t n" "int mflags"
.Ft void
.Fn ioat_release "bus_dmaengine_t dmaengine"
.Ft struct bus_dmadesc *
@@ -178,6 +180,14 @@ When the user wants to offload a copy, they will first
the
.Ar bus_dmaengine_t
object for exclusive access to enqueue operations on that channel.
+Optionally, the user can reserve space by using
+.Fn ioat_acquire_reserve
+instead.
+If
+.Fn ioat_acquire_reserve
+succeeds, there is guaranteed to be room for
+.Fa N
+new operations in the internal ring buffer.
Then, they will submit one or more operations using
.Fn ioat_blockfill ,
.Fn ioat_copy ,
OpenPOWER on IntegriCloud