Message ID | 20230609151332.263152-2-pctammela@mojatatu.com (mailing list archive) |
---|---|
State | RFC |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | rhashtable: length helper for rhashtable and rhltable | expand |
On Fri, Jun 9, 2023 at 5:13 PM Pedro Tammela <pctammela@mojatatu.com> wrote: > > Instead of having users open code the rhashtable length like: > atomic_read(&ht->nelems) > > Provide a helper for both flavours of rhashtables. > > Signed-off-by: Pedro Tammela <pctammela@mojatatu.com> > --- > include/linux/rhashtable.h | 16 ++++++++++++++++ > 1 file changed, 16 insertions(+) > > diff --git a/include/linux/rhashtable.h b/include/linux/rhashtable.h > index 5b5357c0bd8c..aac803491916 100644 > --- a/include/linux/rhashtable.h > +++ b/include/linux/rhashtable.h > @@ -1283,4 +1283,20 @@ static inline void rhltable_destroy(struct rhltable *hlt) > return rhltable_free_and_destroy(hlt, NULL, NULL); > } > > +/** > + * rhashtable_len - hash table length > + * @ht: the hash table > + * > + * Returns the number of elements in the hash table > + */ > +static inline int rhashtable_len(struct rhashtable *ht) > +{ > + return atomic_read(&ht->nelems); > +} > + > +static inline int rhltable_len(struct rhltable *hlt) > +{ > + return rhashtable_len(&hlt->ht); > +} > + If we want/need these, please add 'const' qualifiers to both static inline int rhltable_len(const struct rhltable *hlt) ...
diff --git a/include/linux/rhashtable.h b/include/linux/rhashtable.h index 5b5357c0bd8c..aac803491916 100644 --- a/include/linux/rhashtable.h +++ b/include/linux/rhashtable.h @@ -1283,4 +1283,20 @@ static inline void rhltable_destroy(struct rhltable *hlt) return rhltable_free_and_destroy(hlt, NULL, NULL); } +/** + * rhashtable_len - hash table length + * @ht: the hash table + * + * Returns the number of elements in the hash table + */ +static inline int rhashtable_len(struct rhashtable *ht) +{ + return atomic_read(&ht->nelems); +} + +static inline int rhltable_len(struct rhltable *hlt) +{ + return rhashtable_len(&hlt->ht); +} + #endif /* _LINUX_RHASHTABLE_H */
Instead of having users open code the rhashtable length like: atomic_read(&ht->nelems) Provide a helper for both flavours of rhashtables. Signed-off-by: Pedro Tammela <pctammela@mojatatu.com> --- include/linux/rhashtable.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+)