diff options
author | Ying Xue <ying.xue@windriver.com> | 2015-01-07 06:41:54 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-01-09 04:47:11 +0100 |
commit | db30485408326a6f466a843b291b23535f63eda0 (patch) | |
tree | 42d8c8e2b515c03f6c054a27e6d8b9aa9c634284 /include | |
parent | rhashtable: introduce rhashtable_wakeup_worker helper function (diff) | |
download | linux-db30485408326a6f466a843b291b23535f63eda0.tar.xz linux-db30485408326a6f466a843b291b23535f63eda0.zip |
rhashtable: involve rhashtable_lookup_insert routine
Involve a new function called rhashtable_lookup_insert() which makes
lookup and insertion atomic under bucket lock protection, helping us
avoid to introduce an extra lock when we search and insert an object
into hash table.
Signed-off-by: Ying Xue <ying.xue@windriver.com>
Signed-off-by: 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')
-rw-r--r-- | include/linux/rhashtable.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/rhashtable.h b/include/linux/rhashtable.h index de1459c74c4d..73c913f31574 100644 --- a/include/linux/rhashtable.h +++ b/include/linux/rhashtable.h @@ -168,6 +168,7 @@ int rhashtable_shrink(struct rhashtable *ht); void *rhashtable_lookup(struct rhashtable *ht, const void *key); void *rhashtable_lookup_compare(struct rhashtable *ht, const void *key, bool (*compare)(void *, void *), void *arg); +bool rhashtable_lookup_insert(struct rhashtable *ht, struct rhash_head *obj); void rhashtable_destroy(struct rhashtable *ht); |