[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <AE90C24D6B3A694183C094C60CF0A2F6026B7008@saturn3.aculab.com>
Date: Wed, 26 Sep 2012 14:45:53 +0100
From: "David Laight" <David.Laight@...LAB.COM>
To: "Sasha Levin" <levinsasha928@...il.com>,
<torvalds@...ux-foundation.org>
Cc: <tj@...nel.org>, <akpm@...ux-foundation.org>,
<linux-kernel@...r.kernel.org>, <rostedt@...dmis.org>,
<ebiederm@...ssion.com>, <mathieu.desnoyers@...icios.com>,
<neilb@...e.de>, <bfields@...ldses.org>, <ejt@...hat.com>,
<snitzer@...hat.com>, <edumazet@...gle.com>,
<josh@...htriplett.org>, <rmallon@...il.com>, <palves@...hat.com>
Subject: RE: [PATCH v6] hashtable: introduce a small and naive hashtable
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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists