summaryrefslogtreecommitdiffstats
path: root/include/linux/rhashtable.h
diff options
context:
space:
mode:
authorYing Xue <ying.xue@windriver.com>2015-01-12 14:52:24 +0800
committerDavid S. Miller <davem@davemloft.net>2015-01-13 14:01:00 -0500
commit6f73d3b13dc5e16ae06025cd1b12a36b2857caa2 (patch)
tree97def40b133732cc55d2f15bfa8e6f652528dc4e /include/linux/rhashtable.h
parentc5adde9468b0714a051eac7f9666f23eb10b61f7 (diff)
downloadlinux-6f73d3b13dc5e16ae06025cd1b12a36b2857caa2.tar.gz
linux-6f73d3b13dc5e16ae06025cd1b12a36b2857caa2.tar.bz2
linux-6f73d3b13dc5e16ae06025cd1b12a36b2857caa2.zip
rhashtable: add a note for grow and shrink decision functions
As commit c0c09bfdc415 ("rhashtable: avoid unnecessary wakeup for worker queue") moves condition statements of verifying whether hash table size exceeds its maximum threshold or reaches its minimum threshold from resizing functions to resizing decision functions, we should add a note in rhashtable.h to indicate the implementation of what the grow and shrink decision function must enforce min/max shift, otherwise, it's failed to take min/max shift's set watermarks into effect. Signed-off-by: Ying Xue <ying.xue@windriver.com> Cc: Thomas Graf <tgraf@suug.ch> Acked-by: Thomas Graf <tgraf@suug.ch> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/rhashtable.h')
-rw-r--r--include/linux/rhashtable.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/rhashtable.h b/include/linux/rhashtable.h
index 7b9bd77ed684..9570832ab07c 100644
--- a/include/linux/rhashtable.h
+++ b/include/linux/rhashtable.h
@@ -79,6 +79,10 @@ struct rhashtable;
* @obj_hashfn: Function to hash object
* @grow_decision: If defined, may return true if table should expand
* @shrink_decision: If defined, may return true if table should shrink
+ *
+ * Note: when implementing the grow and shrink decision function, min/max
+ * shift must be enforced, otherwise, resizing watermarks they set may be
+ * useless.
*/
struct rhashtable_params {
size_t nelem_hint;