瀏覽代碼

rhashtable: Revise incorrect comment on r{hl, hash}table_walk_enter()

Neither rhashtable_walk_enter() or rhltable_walk_enter() sleep, though
they do take a spinlock without irq protection.
So revise the comments to accurately state the contexts in which
these functions can be called.

Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: NeilBrown <neilb@suse.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
NeilBrown 7 年之前
父節點
當前提交
82266e98dd
共有 2 個文件被更改,包括 6 次插入4 次删除
  1. 3 2
      include/linux/rhashtable.h
  2. 3 2
      lib/rhashtable.c

+ 3 - 2
include/linux/rhashtable.h

@@ -1268,8 +1268,9 @@ static inline int rhashtable_walk_init(struct rhashtable *ht,
  * For a completely stable walk you should construct your own data
  * For a completely stable walk you should construct your own data
  * structure outside the hash table.
  * structure outside the hash table.
  *
  *
- * This function may sleep so you must not call it from interrupt
- * context or with spin locks held.
+ * This function may be called from any process context, including
+ * non-preemptable context, but cannot be called from softirq or
+ * hardirq context.
  *
  *
  * You must call rhashtable_walk_exit after this function returns.
  * You must call rhashtable_walk_exit after this function returns.
  */
  */

+ 3 - 2
lib/rhashtable.c

@@ -668,8 +668,9 @@ EXPORT_SYMBOL_GPL(rhashtable_insert_slow);
  * For a completely stable walk you should construct your own data
  * For a completely stable walk you should construct your own data
  * structure outside the hash table.
  * structure outside the hash table.
  *
  *
- * This function may sleep so you must not call it from interrupt
- * context or with spin locks held.
+ * This function may be called from any process context, including
+ * non-preemptable context, but cannot be called from softirq or
+ * hardirq context.
  *
  *
  * You must call rhashtable_walk_exit after this function returns.
  * You must call rhashtable_walk_exit after this function returns.
  */
  */