Hello, Sasha. On Fri, Aug 24, 2012 at 10:11:55PM +0200, Sasha Levin wrote: > > 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. > > 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 -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>