RE: [PATCH v6] hashtable: introduce a small and naive hashtable

From: David Laight
Date: Wed Sep 26 2012 - 09:49:22 EST


Amazing how something simple gets lots of comments and versions :-)

> ...
> + * This has to be a macro since HASH_BITS() will not work on pointers since
> + * it calculates the size during preprocessing.
> + */
> +#define hash_empty(hashtable) \
> +({ \
> + int __i; \
> + bool __ret = true; \
> + \
> + for (__i = 0; __i < HASH_SIZE(hashtable); __i++) \
> + if (!hlist_empty(&hashtable[__i])) \
> + __ret = false; \
> + \
> + __ret; \
> +})

Actually you could have a #define that calls a function
passing in the address and size.
Also, should the loop have a 'break' in it?

David



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/