From: NeilBrown <neilb@suse.com>
To: Thomas Graf <tgraf@suug.ch>, Herbert Xu <herbert@gondor.apana.org.au>
Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH 10/18] rhashtable: remove rhashtable_walk_peek()
Date: Fri, 01 Jun 2018 14:44:09 +1000 [thread overview]
Message-ID: <152782824964.30340.6329146982899668633.stgit@noble> (raw)
In-Reply-To: <152782754287.30340.4395718227884933670.stgit@noble>
This function has a somewhat confused behavior that is not properly
described by the documentation.
Sometimes is returns the previous object, sometimes it returns the
next one.
Sometimes it changes the iterator, sometimes it doesn't.
This function is not currently used and is not worth keeping, so
remove it.
A future patch will introduce a new function with a
simpler interface which can meet the same need that
this was added for.
Signed-off-by: NeilBrown <neilb@suse.com>
---
include/linux/rhashtable.h | 1 -
lib/rhashtable.c | 34 ----------------------------------
2 files changed, 35 deletions(-)
diff --git a/include/linux/rhashtable.h b/include/linux/rhashtable.h
index 10435a77b156..4e2fc97667e0 100644
--- a/include/linux/rhashtable.h
+++ b/include/linux/rhashtable.h
@@ -247,7 +247,6 @@ static inline void rhashtable_walk_start(struct rhashtable_iter *iter)
}
void *rhashtable_walk_next(struct rhashtable_iter *iter);
-void *rhashtable_walk_peek(struct rhashtable_iter *iter);
void rhashtable_walk_stop(struct rhashtable_iter *iter) __releases(RCU);
void rhashtable_free_and_destroy(struct rhashtable *ht,
diff --git a/lib/rhashtable.c b/lib/rhashtable.c
index 86c801d04d4a..120382b0bad0 100644
--- a/lib/rhashtable.c
+++ b/lib/rhashtable.c
@@ -891,40 +891,6 @@ void *rhashtable_walk_next(struct rhashtable_iter *iter)
}
EXPORT_SYMBOL_GPL(rhashtable_walk_next);
-/**
- * rhashtable_walk_peek - Return the next object but don't advance the iterator
- * @iter: Hash table iterator
- *
- * Returns the next object or NULL when the end of the table is reached.
- *
- * Returns -EAGAIN if resize event occurred. Note that the iterator
- * will rewind back to the beginning and you may continue to use it.
- */
-void *rhashtable_walk_peek(struct rhashtable_iter *iter)
-{
- struct rhlist_head *list = iter->list;
- struct rhashtable *ht = iter->ht;
- struct rhash_head *p = iter->p;
-
- if (p)
- return rht_obj(ht, ht->rhlist ? &list->rhead : p);
-
- /* No object found in current iter, find next one in the table. */
-
- if (iter->skip) {
- /* A nonzero skip value points to the next entry in the table
- * beyond that last one that was found. Decrement skip so
- * we find the current value. __rhashtable_walk_find_next
- * will restore the original value of skip assuming that
- * the table hasn't changed.
- */
- iter->skip--;
- }
-
- return __rhashtable_walk_find_next(iter);
-}
-EXPORT_SYMBOL_GPL(rhashtable_walk_peek);
-
/**
* rhashtable_walk_stop - Finish a hash table walk
* @iter: Hash table iterator
next prev parent reply other threads:[~2018-06-01 4:44 UTC|newest]
Thread overview: 67+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-01 4:44 [RFC PATCH 00/18] Assorted rhashtable improvements NeilBrown
2018-06-01 4:44 ` [PATCH 16/18] rhashtable: allow percpu element counter NeilBrown
2018-06-01 4:44 ` [PATCH 02/18] rhashtable: split rhashtable.h NeilBrown
2018-06-01 10:48 ` Herbert Xu
2018-06-01 4:44 ` [PATCH 01/18] rhashtable: silence RCU warning in rhashtable_test NeilBrown
2018-06-01 4:44 ` [PATCH 17/18] rhashtable: rename rht_for_each*continue as *from NeilBrown
2018-06-01 4:44 ` [PATCH 11/18] rhashtable: further improve stability of rhashtable_walk NeilBrown
2018-06-01 4:44 ` [PATCH 06/18] rhashtable: simplify nested_table_alloc() and rht_bucket_nested_insert() NeilBrown
2018-06-01 16:28 ` Herbert Xu
2018-06-01 4:44 ` [PATCH 12/18] rhashtable: add rhashtable_walk_prev() NeilBrown
2018-06-01 4:44 ` [PATCH 18/18] rhashtable: add rhashtable_walk_delay_rehash() NeilBrown
2018-06-01 4:44 ` [PATCH 15/18] rhashtable: use bit_spin_locks to protect hash bucket NeilBrown
2018-06-02 5:03 ` Herbert Xu
2018-06-02 9:53 ` Eric Dumazet
2018-06-04 0:25 ` NeilBrown
2018-06-04 2:52 ` [PATCH 15a/18] rhashtables: add lockdep tracking to bucket bit-spin-locks NeilBrown
2018-06-04 18:16 ` Simon Horman
2018-06-04 21:37 ` NeilBrown
2018-06-01 4:44 ` [PATCH 07/18] rhashtable: use cmpxchg() to protect ->future_tbl NeilBrown
2018-06-01 16:44 ` Herbert Xu
2018-06-01 4:44 ` [PATCH 04/18] rhashtable: detect when object movement might have invalidated a lookup NeilBrown
2018-06-01 16:06 ` Herbert Xu
2018-06-04 3:38 ` NeilBrown
2018-07-06 7:08 ` [PATCH resend] " NeilBrown
2018-07-12 5:46 ` David Miller
2018-07-12 5:48 ` David Miller
2018-07-15 23:55 ` NeilBrown
2018-07-15 23:57 ` [PATCH - revised] " NeilBrown
2018-07-16 0:51 ` Herbert Xu
2018-07-16 1:23 ` NeilBrown
2018-07-16 2:16 ` Herbert Xu
2018-07-16 3:26 ` NeilBrown
2018-07-17 6:30 ` Herbert Xu
2018-07-20 6:24 ` NeilBrown
2018-07-18 20:14 ` David Miller
2018-07-20 6:30 ` NeilBrown
2018-07-20 6:43 ` David Miller
2018-07-20 7:09 ` NeilBrown
2018-07-23 1:56 ` [PATCH net-next] rhashtable: detect when object movement between tables " NeilBrown
2018-07-26 20:55 ` David Miller
2018-07-26 22:04 ` NeilBrown
2018-06-01 4:44 ` [PATCH 09/18] rhashtable: use cmpxchg() in nested_table_alloc() NeilBrown
2018-06-01 4:44 ` [PATCH 05/18] rhashtable: simplify INIT_RHT_NULLS_HEAD() NeilBrown
2018-06-01 16:24 ` Herbert Xu
2018-06-01 4:44 ` [PATCH 14/18] rhashtable: allow rht_bucket_var to return NULL NeilBrown
2018-06-01 4:44 ` [PATCH 08/18] rhashtable: clean up dereference of ->future_tbl NeilBrown
2018-06-01 16:54 ` Herbert Xu
2018-06-01 4:44 ` [PATCH 03/18] rhashtable: remove nulls_base and related code NeilBrown
2018-06-07 2:49 ` NeilBrown
2018-06-13 6:25 ` Herbert Xu
2018-06-01 4:44 ` NeilBrown [this message]
2018-06-02 15:48 ` [PATCH 10/18] rhashtable: remove rhashtable_walk_peek() Herbert Xu
2018-06-04 0:30 ` NeilBrown
2018-06-04 1:18 ` Tom Herbert
2018-06-04 2:09 ` NeilBrown
2018-06-04 21:31 ` Tom Herbert
2018-06-04 22:13 ` Tom Herbert
2018-06-05 1:24 ` NeilBrown
2018-06-05 1:00 ` NeilBrown
[not found] ` <CALx6S36Ce-rXQMzmFYZVPGD10Bo6udvRAHiZ5gWwnzVwoTVv0w@mail.gmail.com>
2018-06-06 5:07 ` NeilBrown
2018-06-07 2:45 ` [PATCH - RFC] rhashtable: add rhashtable_walk_last_seen() NeilBrown
2018-06-07 2:46 ` [PATCH - RFC] rhashtable: implement rhashtable_walk_peek() using rhashtable_walk_last_seen() NeilBrown
[not found] ` <CALx6S35GgUOd0dPgv7P96wNNTv5pN7fij0pcAoccqcSWZhvY7Q@mail.gmail.com>
2018-06-12 2:48 ` [PATCH RFC v2] " NeilBrown
2018-06-14 17:41 ` Tom Herbert
2018-06-15 4:23 ` Herbert Xu
2018-06-15 5:31 ` NeilBrown
2018-06-01 4:44 ` [PATCH 13/18] rhashtable: don't hold lock on first table throughout insertion NeilBrown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=152782824964.30340.6329146982899668633.stgit@noble \
--to=neilb@suse.com \
--cc=herbert@gondor.apana.org.au \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=tgraf@suug.ch \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox