From 56440d9262e6074a55260701c964df08b03a1668 Mon Sep 17 00:00:00 2001 From: Vladislav Bolkhovitin Date: Wed, 2 Sep 2009 09:58:31 +0000 Subject: [PATCH] Minor SGV docs improvements git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@1064 d57e44dd-8a1f-0410-8b47-8ef2f437770f --- doc/sgv_cache.txt | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/doc/sgv_cache.txt b/doc/sgv_cache.txt index 0df50a082..64d5ceeba 100644 --- a/doc/sgv_cache.txt +++ b/doc/sgv_cache.txt @@ -7,15 +7,21 @@ SCST SGV cache is a memory management subsystem in SCST. One can call it a "memory pool", but Linux kernel already have a mempool interface, which serves different purposes. SGV cache provides to SCST core, target -drivers and backend dev handlers facilities to allocate and build SG -vectors for data buffers. The main advantage of it is that it doesn't -free to the system each vector, which is not used anymore, but keeps it -for a while to let it be reused by the next consecutive command. This -allows to reduce commands processing latency and, hence, improve -performance. The freed SG vectors are kept by the SGV cache either for -some predefined time, or until the system needs more memory and asks to -free some using the set_shrinker() interface. Also the SGV cache allows -to: +drivers and backend dev handlers facilities to allocate, build and cache +SG vectors for data buffers. The main advantage of it is the caching +facility, when it doesn't free to the system each vector, which is not +used anymore, but keeps it for a while (possibly indefinitely) to let it +be reused by the next consecutive command. This allows to: + + - Reduce commands processing latencies and, hence, improve performance; + + - Make commands processing latencies predictable, which is essential + for RT applications. + +The freed SG vectors are kept by the SGV cache either for some (possibly +indefinite) time, or, optionally, until the system needs more memory and +asks to free some using the set_shrinker() interface. Also the SGV cache +allows to: - Cluster pages together. "Cluster" means merging adjacent pages in a single SG entry. It allows to have less SG entries in the resulting SG