diff options
author | Dan Williams <dan.j.williams@intel.com> | 2009-09-08 15:02:01 -0400 |
---|---|---|
committer | Dan Williams <dan.j.williams@intel.com> | 2009-09-08 20:38:54 -0400 |
commit | a309218acee8606f7e235da20cc826eb06d9b0f6 (patch) | |
tree | abf2cc9830b6a5a52a165e6a736e85cd5d7b36c0 /drivers/dma/ioat/dma_v2.h | |
parent | 09c8a5b85e5f1e74a19bdd7c85547429d51df1cd (diff) |
ioat2,3: dynamically resize descriptor ring
Increment the allocation order of the descriptor ring every time we run
out of descriptors up to a maximum of allocation order specified by the
module parameter 'ioat_max_alloc_order'. After each idle period
decrement the allocation order to a minimum order of
'ioat_ring_alloc_order' (i.e. the default ring size, tunable as a module
parameter).
Signed-off-by: Maciej Sosnowski <maciej.sosnowski@intel.com>
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Diffstat (limited to 'drivers/dma/ioat/dma_v2.h')
-rw-r--r-- | drivers/dma/ioat/dma_v2.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/dma/ioat/dma_v2.h b/drivers/dma/ioat/dma_v2.h index 73b04a2eb4b0..9baa3d6065ff 100644 --- a/drivers/dma/ioat/dma_v2.h +++ b/drivers/dma/ioat/dma_v2.h | |||
@@ -37,6 +37,8 @@ extern int ioat_pending_level; | |||
37 | #define IOAT_MAX_ORDER 16 | 37 | #define IOAT_MAX_ORDER 16 |
38 | #define ioat_get_alloc_order() \ | 38 | #define ioat_get_alloc_order() \ |
39 | (min(ioat_ring_alloc_order, IOAT_MAX_ORDER)) | 39 | (min(ioat_ring_alloc_order, IOAT_MAX_ORDER)) |
40 | #define ioat_get_max_alloc_order() \ | ||
41 | (min(ioat_ring_max_alloc_order, IOAT_MAX_ORDER)) | ||
40 | 42 | ||
41 | /* struct ioat2_dma_chan - ioat v2 / v3 channel attributes | 43 | /* struct ioat2_dma_chan - ioat v2 / v3 channel attributes |
42 | * @base: common ioat channel parameters | 44 | * @base: common ioat channel parameters |