diff options
author | cem <cem@FreeBSD.org> | 2016-01-07 23:02:15 +0000 |
---|---|---|
committer | cem <cem@FreeBSD.org> | 2016-01-07 23:02:15 +0000 |
commit | 66aa33e3b54566ac437dc5e07c902034dd158713 (patch) | |
tree | 29a2b2f82ee2d296287a1e7d24852fa94d6a5fd0 /share | |
parent | 5ee4880e05aa13d7a91f55d9fbb82020e25ee77d (diff) | |
download | FreeBSD-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.4 | 12 |
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 , |