Re: [PATCH v3 01/17] hashtable: introduce a small and naive hashtable
From: Tejun Heo <hidden>
Date: 2012-08-24 20:33:45
Also in:
dm-devel, linux-mm, linux-nfs, lkml
From: Tejun Heo <hidden>
Date: 2012-08-24 20:33:45
Also in:
dm-devel, linux-mm, linux-nfs, lkml
Hello, Sasha. On Fri, Aug 24, 2012 at 10:11:55PM +0200, Sasha Levin wrote:
quoted
If this implementation is about the common trivial case, why not just have the usual DECLARE/DEFINE_HASHTABLE() combination?When we add the dynamic non-resizable support, how would DEFINE_HASHTABLE() look?
Hmmm? DECLARE/DEFINE are usually for static ones.
quoted
I don't know. If we stick to the static (or even !resize dymaic) straight-forward hash - and we need something like that - I don't see what the full encapsulation buys us other than a lot of trivial wrappers.Which macros do you consider as trivial within the current API? Basically this entire thing could be reduced to DEFINE/DECLARE_HASHTABLE and get_bucket(), but it would make the life of anyone who wants a slightly different hashtable a hell.
Wouldn't the following be enough to get most of the benefits? * DECLARE/DEFINE * hash_head() * hash_for_each_head() * hash_add*() * hash_for_each_possible*()
I think that right now the only real trivial wrapper is hash_hashed(), and I think it's a price worth paying to have a single hashtable API instead of fragmenting it when more implementations come along.
I'm not objecting strongly against full encapsulation but having this many thin wrappers makes me scratch my head. Thanks. -- tejun